| ▲ | nine_k 3 hours ago | |||||||||||||||||||||||||||||||
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 product, but without it, and the mistakes made and addressed while tinkering with it, the sleek consumer-grade PCB won't be possible to design. | ||||||||||||||||||||||||||||||||
| ▲ | pavel_lishin 2 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||
> "More than one way to do it" is Perl's motto, because of its audacious experimentation ethos, I'd say. Perl lets every developer write Perl in their own idiosyncratic way. And every developer does. It makes for very un-fun times when I'm having to read a file that's been authored by ten developers over ten years, each of whom with varying opinions and skill levels. I guess in 2026, it'll be 11 developers writing it over 11 years. My sincere apologies to those who come after me, and my sincere fuck-you to those who came before me. :) | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | Scarblac 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
It could have used a good "Perl: the Good Parts" book. With a team where everybody wrote it in a similar style, Perl did perfectly well. Mod_perl was fast. I liked Perl. Then Django came out, and then Numpy, and Perl lost. But Python is still so incredibly slow.... | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | athenot 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
In a similar vein, as the industry matured, we went from having teams of wizards building products, to teams of "good-enough" developers, interchangeable, easy to onboard. Perl culture was too much about craft-mastery which ended up being at odds with most corporate cultures. Unfortunately, as a former Perl dev, it makes a lot of other environments feel bland. Often more productive yes, but bland nonetheless. Of the newer languages, Nim does have that non-bland feel. Whether it ends up with significant adoption when Rust and Golang are well established is a different story. | ||||||||||||||||||||||||||||||||
| ▲ | hinkley 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
The big pearl of wisdom I took from Larry Wall seemed to be counter to the culture I experienced looking in from the outside. That always confused me a bit about Perl. And that was, paraphrased: make the way you want something to be used be the most concise way to use it and make the more obscure features be wordy. This could have been the backbone of an entire community but they diminished it to code golf. | ||||||||||||||||||||||||||||||||
| ▲ | Klonoar an hour ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
It is not a great language. It is, however, a significant language. It has left a mark and influence on the culture and industry of programming. Nothing to sneeze at. | ||||||||||||||||||||||||||||||||
| ▲ | morshu9001 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | eduction 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Not really. It wasn’t audacious in service of anything innovative. Haskell takes functional programming to the nth degree, scala tried to be an advanced Java for example better at concurrency. Perl was an early dynamic (garbage collected) “scripting language” but no more advanced than its contemporary python in this regard. It had the weird sigils due to a poor design choice. It had the many global cryptic variables and implicit variables due to a poor design choice. It has the weird use of explicit references because of the bad design choice to flatten lists within lists to one giant list. It actually was the one thing you said it wasn’t - a good practical general language at least within web and sysadmin worlds. At least until better competitors came along and built up library ecosystems. | ||||||||||||||||||||||||||||||||
| ▲ | 2 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||
| [deleted] | ||||||||||||||||||||||||||||||||