
Larry Wall's quest for a 100-year programming language - MilnerRoute
https://thenewstack.io/larry-walls-quest-100-year-programming-language/
======
thomascgalvin
I think Perl fell victim to the inner-platform effect somewhere along the way.
Larry Wall doesn't want to design a language anymore, he wants to create the
ultimate platform for creating languages.

The article points out that Perl can read and execute COBOL if it's configured
properly, which is neat, but ... what's the point of saying "this is written
in Perl" is it's actually written in COBOL and running on the Perl
interpreter? This reminds me a little bit of the JVM. There are dozens of
languages that can be converted to JVM bytecode, but only one of them is Java.

Anyway, Perl's endless configurability is a mark against it, in my opinion.
When I read Java or C++ or whatever, I have to wrap my head around what the
developer intends to do, but the syntax is always the same. With Perl, you not
only have to figure out what the developer intended, but what the developer
told Perl the syntax is supposed to mean in this particular scenario. That's a
big part of why Perl is considered a "write-only" language.

Also, I think we already have a hundred year language: Javascript. It's
shitty, but it's good enough, it's forgiving, until it rises up to smite you,
and it's ubiquitous. I don't think we'll ever really kill it off.

~~~
jstimpfle
> Javascript

I think Python would be so much better. These languages are almost the same
technically, but Python has the better syntax and better errors.

(ok I just realise it hasn't the same support for lambdas but they just make
me think of node.js style anyway...)

~~~
kwoff
(as a Perl programmer, FWIW) I think Python is beating Perl due to better
support for integrating with C++, or at least more modern C/C++ libraries have
bindings for Python. Otherwise, if you argue for syntactic simplicity, you at
least have to explain why Lisp doesn't dominate (or why do Lisp dialects based
on Java become popular instead of directly Lisp?). I don't understand yet the
apparent appeal of Go, except maybe its support for concurrency (definitely
needed).

~~~
jstimpfle
I think it's actually more about the errors than the syntax. But Python
getting rid of braces by enforcing indentation is just the way to go IMO.

Don't want to start another tiresome thread about LISP syntax, but I'm one of
those people who prefer C style expressions - as long as no heavy higher-level
functional programming is required, for which I by now see almost no practical
use at all.

As a funny quip, Larry Wall referred to LISP looks as "oatmeal with
fingerclips mixed in".

------
abrax3141
You will all be Lisping eventually; it’s just a matter of time. The Javanistas
are already running to Clojure, and someone will eventually realize that
indentation is a ridiculous basis for program structure, then the Pythonistas
will be programming in Hy, and so on.

------
stcredzero
If someone is looking for a 100-year programming language, C is a promising
contender. If you go back to include BCPL and CPL, that gets you back to the
early 60's. However LISP goes all the way back to 1958, which gets it to the
59 year mark, and it's still in use.

~~~
techdragon
From a language age point of view, FORTRAN and COBOL are closing in on a
quarter of a century. I don't know the odds of COBOL surviving the full
century but I'm very confident that large chunks of FORTRAN will still be in
widespread use when it hits the century mark.

The ease of which code can be wrapped and reused, from FORTRAN into C or C++
libraries, which are then wrapped or reused in almost any other language, has
led to FORTRAN being buried at the base of many existing libraries where
FORTRAN was originally the only language for such tasks.

~~~
Recurecur
Fortran hit a _half_ century in 2004, and yes I agree Fortran will still
heavily be in use in 2054. There is far too much legacy scientific code for it
to vanish.

The only way that won't be the case is if AI is available to translate all
that Fortran to a better language...I guess we'll see... :-)

------
cafard
"easy things should be hard"? Figuring out what I was thinking when I wrote
the script two years ago?

~~~
harry8
Ok you jest. Pretty sure there's a transcription error there.

"Easy things should be easy, and hard things should be possible."

[https://en.wikiquote.org/wiki/Larry_Wall](https://en.wikiquote.org/wiki/Larry_Wall)
at the bottom of the page. Anyone passingly familiar with Perl has probably
encountered it as a guiding principle of the language design.

If perl 5 had use strict; and -w enabled by default maybe the write only line
noise crud would be less prevalent and we'd still be using perl rather than
python? It's not actually that hard to write readable, clean perl. Python's
signficant whitespace seemed like such a rubbish idea at first but wow, how
much easier is it to read code written by inexperienced hackers when there is
no choice in formatting. That strength dominating the lack of default strict
and warnings, (maybe oo bolted on syntax too?) in perl probably won the day
for python because after a decade of writing python it still feels like a step
down from perl and I miss it some, although not as bitterly as all these
lispers seem to miss lisp ;-)

~~~
jrumbut
Having loved getting to write some Perl 5 here and there I think I know how to
write object oriented Perl, but I still have no idea why it needs to be so
different from the way you would expect it to work (besides political reasons
or for it to feel different than other OO languages).

Modern Javascript owes an enormous philosophical debt to perl and Larry Wall,
who pioneered the whole "take some nice parts from Lisp but leave the parens"
approach to language design.

I'm hopeful that the wonderful ideas from Perl 6 will be adopted into a
language people use sooner rather than later. I guess that language could be
Perl 6 but I'm doubtful.

~~~
harry8
My understanding is that OO wasn't so much designed into perl 5 as bolted on
later with a pretty cool and useful hack. This makes writing your first few
perl objects a bit awkward. "Bless an array, why? What's that got to do with
what I want?" There's better library support that came in after I'd stopped
writing much perl, but looks quite clean by comparison. Too late for me,
sadly. Still python isn't so bad when you need to script something your
colleagues might need to read. It could have been different though and I would
have preferred a more Perl flavoured world. Maybe it will come again..?

[http://search.cpan.org/dist/Moose/lib/Moose/Manual.pod](http://search.cpan.org/dist/Moose/lib/Moose/Manual.pod)

