Live data from Hacker News

Perl's decline was cultural

beatworm.co.uk

171–180 of 472 posts

Re: Perl's decline was cultural

#171
post #29

Earlier quoted context omitted.

Perl is a great language, the way Scala and Haskell are great: as openly experimental languages, they tried interesting, unorthodox approaches, with varied success. "More than one way to do it" is Perl's motto, because of its audacious experimentation ethos, I'd say. Perl is not that good a language though for practical purposes. The same way, a breadboard contraption is not what you want to ship as your hardware pro…

Couldn't they have figured out one decent way to do things before releasing features to all users? I tried Scala for a bit then decided it was complicated for no good reason. Idk about Haskell, but I used Erlang which is also purely functional. No matter how long I used it and tried to appreciate its elegance, it became clear this isn't a convenient way to do things generally. But it was designed well, unlike Scala.

Erlang is, by my accounting, not even a functional langauge at all. It takes more than just having immutable values to be functional, and forcing users to leave varibles as immutable was a mistake, which Elixir fixes. Erlang code in practice is just imperative code written with immutable values, and like a lot of other modern languages, occasional callouts to things borrowed from functional programming like "map", but it is not a functional language in the modern sense.

If you go to learn Haskell, you will find that it has a lot to say about functional programming that Erlang did not teach you. You will also find that you've already gotten over one of the major hurdles to writing Haskell, which is writing with immutable values, which significantly reduces the difficult of swallowing the entire language at once and makes it relatively easier. I know it's a relatively easy path because it's the one I took.

Re: Perl's decline was cultural

#172
I had an interesting experience starting a job at ZipRecruiter, and finding that up to that point (2022), most of their code had been written in Perl. Their CTO had just gotten fed up with Perl and decreed that from now on, all new projects should be written in Go. I was the first one on my team to write code in Go.

There were various greybeards who kept telling me that Perl was a perfectly fine language and was fast enough for most purposes. I didn't argue with them and just backed away slowly.

Regarding Perl as a language, it seemed fine in the 1990s as a slightly more advanced alternative to Unix shells. But for me, what made it a failure as a language is that in order to have an array of hashes, or a hash of arrays, you needed to use references. That may have been a nice hack to enable some things in the 1990s, but even in 2005 that sounds pretty primitive and outdated to me. Plus the reliance on using magical variables consisting of $ and every non-letter ASCII character for all kinds of random stuff, like $_ and $# and so on. That may have been cool in 1992, but it's not 1992 any more.

Overall, Perl was pretty neat for little scripts up to 20 lines, but a bad idea for building an entire company on (like ZipRecruiter.) That's more of an indictment of ZipRecruiter than Perl.

Re: Perl's decline was cultural

#174
post #8

I always found the Perl "community" to be really off-putting with all the monk and wizard nonsense. Then there was the whole one-liner thing that was all about being clever and obscure. Everything about Python came off as being much more serious and normal for a young nerd who wasn't a theater kid.

I actually think it works when you are in the ecosystem fulltime for a good while.

But having to interact with it once in a while is always a hurdle. The same with bash. Do I use [ or [[? Where does the semi-colon go? if then fi, but while do done (and not elihw). -eq or =? Functions have () but no parameters.

I'm sure those things make sense when all you write is Bash / Perl, but it's daunting.

Now, Python can get pretty far out there too with Meta-programming, and JavaScript can get confusing with prototyping. And Ruby (especially RoR) takes the crown, where they resolve variables at the moment the line executes. Makes debugging blocks really hard.

The less magic in code the better.

Re: Perl's decline was cultural

#175

Earlier quoted context omitted.

Yeah the joke was, Perl is write-only.

Write-only perhaps, but with perl you only have to write it once and it'll run forever, anywhere . No breaking on updates, no containers, no special version of Perl just for $application, just the system perl. Because of this, in practice, the amount of system administration mantainence and care needed for perl programs is far, far less than other languages like python where you actually do have to go in and re-write…

Aren't perl modules locked to the exact version they were compiled in ?

I've met many time some error "haha nope, wrong version, perl 5.31.7 required"

Re: Perl's decline was cultural

#176

> None of this is literally serious, Exactly. I remember someone telling me to RTFM when I posted a question on IRC back in the 90s. Luckily, I explicitly asked if they were serious. They responded of course not-- they were kidding! Then they PM'd me with hidden link that had an image map of Perl wizards with whom I could schedule a free meeting and coffee to get started as a newbie. I was skeptical-- who cares about…

I need to hear more about this Software Local 2142.

Re: Perl's decline was cultural

#177
post #46

Earlier quoted context omitted.

Perl is a sysadmin language. There's "always" been this tension between sysadmins and developers. In my mind (developer back then) I'd amateur-psychoanalyze all of that nonsense as some kind of inferiority complex meant to preserve the self image. Needless complexity can be a feature! And now we are all developers!

> some kind of inferiority complex meant to preserve the self image Or, as the kids say, a flex, but without the sexy connotations. (Incidentally, I am also reminded of a great quote attributed to Morphy: "The ability to play chess is the sign of a gentleman. The ability to play chess well is the sign of a wasted life.")

That quote is not very convincing to me. Both parts of it are questionable.

Just being able to play chess is not a very high bar at all. Most 6-year-olds can learn it in an hour. Are the Chess hustlers at Washington Square Park all Gentlemen?

I don't see being able to play Chess well as any kind of deficiency. It could be that it's just someone's hobby. It doesn't have to mean they spiraled into madness, Bobby Fisher style.

(I can play chess, but not well, so I personally don't care about either half of that quote as it applies to me)

Re: Perl's decline was cultural

#178
early pearl was just about having an awesome tool at your disposal. There was minimal code written in a team environment.

People were still amazed that you could do X in 1 line rather than 100 lines. Some people couldn't have done those 100 lines.

So the idea of recipes/spells/hacks was an intentional parallel.

It became a cultural thing. New people wanted to be respected for compact code that impressed people the same way they were impressed.

Re: Perl's decline was cultural

#179
post #147

Earlier quoted context omitted.

You can't do that if you gave up at the very first sigil puzzle. I'm fine with that: to program in Perl you need to be able to follow manuals, man pages, expert answers, - and even perl cookbooks, or CPAN or web searches. It's a technical tool. The swiss army chainsaw. It's worth it.

Seems like you and a few other posters are making the article's point – that Perl's culture is hermetic and that new programmers would rather learn Python, Ruby or Javascript rather than figure out which sigil means what.

I wouldn't call it hermetic in that the many forms of documentation are insanely thorough and accessible - if not well advertised. There is no gate-keeping (from my point of view). New users are welcome. It's easy to learn (for the people for whom reading is not an obstacle).

But yes, no contest that the world has been on a simplicity binge. Python won by pushing simplicity and by having giant software corporations choosing it (and not complaining about the line noise nonsense). If you want to go into programming professionally, for now many years, you need python.

I don't know that I would put Javascript in the same bag. I mean, it's the other way: it looks simple and it isn't.

But python, yes, python won because it looks simple and google pushed it.

Many other languages now have to reckon with the python supremacy. This is not specific to perl / raku. It will take work for anything to replace python.

Re: Perl's decline was cultural

#180
post #8

I always found the Perl "community" to be really off-putting with all the monk and wizard nonsense. Then there was the whole one-liner thing that was all about being clever and obscure. Everything about Python came off as being much more serious and normal for a young nerd who wasn't a theater kid.

The syntax problems are just surface. There are some real problems underneath:

Poor performance of the single implementation.

A single implementation.

Leaky ref counted GC, but 'luckily' the syntax for references is so clunky that nobody does anything complicated enough that it really matters.

Bolted on object oriented features that never got the love they needed at a time when oo languages were sweeping the world.

Most of the wizards decamping to a new language (Perl6) that was 'developed' for years without an actual implementation to keep them grounded.

Post reply on HN