7 ms·
I've made a presentation on this very subject to a hackers conference in 2013. It's very clear to me, it's because of Perl6. In 2013, Perl was 26 years and Perl
by wazoox 6y ago
I've made a presentation on this very subject to a hackers conference in 2013. It's very clear to me, it's because of Perl6. In 2013, Perl was 26 years and Perl6 was 13 years already, half as old as Perl itself but nothing close to production ready.
The launch in fanfare of Perl6 in 2000 had a general chilling effect on Perl: many people considered from that point that there was no point learning and using Perl 5, because Perl6 was "just around the corner" and was "the future of perl".
It's just last year that people finally came to their mind : Perl6 became Raku and is a different language, period. And Perl 5 is supposed to get out of its 20-years of maintenance cycle by becoming perl 7 and changing some defaults it should have done back in 2007 or so...
Well. That's life.
- Supermancho 6y agoFocusing on the community is a strange take. I dont know much about Perl6 or care...anymore than I knew anout PHP6. Perl is syntactically complete and has great library support. People dont choose Perl because it's too flexible in how to do things ie what is idiomatic in Perl...well it depends on how well you know Perl. This hurts readability and adoption. It also has warts like any other language but thats hard to detect when reading code is an issue. The best parts of Perl have already been adopted by other languages. No reason to use Perl that I can see.
- 7thaccount 6y agoAs someone who learned both well after the 2000s, it was painfully obvious to me that Python was easier to learn/use and had a lot more momentum than Perl (this was around 2012). I think that's really the nail in the coffin in that they both cover the same scripting niche, but Python won out and less people began to use Perl. Also, Perl5 has a modules approach in that there are several potential OO frameworks like Moose, while Python had it as part of the base language which a lot of people prefer. Python also became a solid data science and numerical methods language, so it ended up winning out. I never thought Perl5 was bad, just not as good as Python. As far as P6/Raku, I think the language design is good, but I won't use something like that professionally until it reaches a certain quality and production readiness. It really is pretty neat and is like a superior Python without the useful frameworks. Edit: the Python REPL approach was also much better for debugging scripts than how I had to do things in Perl.
- salamander014 6y agoIn one of my previous positions, part of my work was maintaining legacy build and automation scripts, many of which were written in Perl. The one thing that stood out to me, was what happened when I had to show somebody else what a script did. (I was always showing somebody with some programming experience, but not always with the matching language). It didn't matter what language they had experience with, Python was always easy to walk them through the code. I know this sounds scary to most, but when you are low on people and even lower on resources, you do what you can. When I needed to explain Perl to somebody without Perl experience, the eyes would glaze over as soon as @ and $ and % characters started showing up (re: immediately). It's not that Perl isn't a great or powerful language. It is. I use Perl style regex almost every day. Perl taught me hashmaps. But Python code looks familiar to a lot more people. No mystery symbols. No needing to explain that the @ symbol is an array, except when reading from it. Then you use $. When I explain Python code to someone who doesn't know Python, they ask me about the actual code. Why I made certain decisions regarding the design or functionality. When I explain Perl code to someone who doesn't know Perl, they tell me it looks like gibberish.
- gwbas1c 6y ago> When I explain Perl code to someone who doesn't know Perl, they tell me it looks like gibberish. I had a very brief experience with Perl in school around 2001-ish. All those concepts you brought up made me never want to touch it again. The language just comes across as a tool made out of necessity in the 1980s / 1990s, but then better tools came around. But, more importantly, I will never apply for a job that lists Perl. It's just a relic from the past.
- petre 6y ago> But, more importantly, I will never apply for a job that lists Perl. It's just a relic from the past. Good. More Perl jobs for me then. Although I kind of got bored with Perl and would probably enjoy coding in Ruby or D or even Crystal.
- 6y ago
- rualca 6y ago> It's very clear to me, it's because of Perl6. It doesn't seem right to ignore the increased popularity of better and more user-friendly interpreted languages such as python, which has since became ubiquitous even in spite of the python2-python3 transition. Also, there was the inception of node, which brought javascript front and center. In fact, among the interpreted languages that were popular 20 years ago, which ones besides python still hold some relevance? Perl, whether v5 or v6, can't exactly compete with javascript or python in terms of ubiquity and user-friendlyness. If Perl's learning experience is harsher, and in the end there's less demand and job prospects, why would anyone pick Perl over any alternative?
- edoceo 6y agoPHP was popular 20 years ago and seems to still have wide adoption.
- rufius 6y agoBy at least some measures, it’s the most popularly deployed language as well. This is probably at least 50% due to counting WordPress. That said, I did pick up PHP and Laravel out of curiosity. It truly is nothing like the PHP I learned in 2001. e: a word I’ve also seen a lot of job postings in that field. Seems like Laravel has a substantial following in the way that Rails does.
- fatbird 6y agoThe fact that PHP was, in the era of shared hosting accounts, the default scripting language was like a slingshot maneuver around the sun. It's hard to understate the incredible momentum that surge of casual users brought to it that no other language received, and has sustained it over the long, painful modernization that was needed to make it relevant today. More than PHP, we're still using platforms that were begun in that era: WordPress, Drupal, etc. There's still Zencarts out there. It's more remarkable that Python is still relevant, which is a testimony to the overall quality of its design and its usefulness in a large number of different areas. Had Python been only a web scripting language, it would have been eclipsed by PHP just like Perl.
- Diederich 6y agoI think two major things, beyond the sheer audacity of it, really slowed Perl6 down. This is NOT meant to sound negative; I basically owe my entire career to Perl. I got paid to write Perl every day from 1993 until 2015, and I still really like the language, warts and all, and love the amazing features/ideas in Perl6/Raku. The first is Larry Wall's basic personality. He is a really nice guy, all the way through. Along with that, I think he's fairly passive. Years ago, I read a comment from him where he noted that of all of the things he's posted online, the vast majority were replies. He rarely directly initiated. Clearly he initiated Perl, as well as https://en.wikipedia.org/wiki/Patch_(Unix) https://en.wikipedia.org/wiki/Patch_(Unix) (for those who might not know, this was basically the reverse of 'diff', and is effectively the spiritual ancestor of MANY of the tools and technologies we use today.) But the genesis of Perl was really small; like Linux and many other projects, it was done to solve very specific problems, and also for the fun of it. Perl utterly exploded, effectively dragging Larry Wall along with it. All that to say: even as Larry was able to put forward technical direction, as seen in the creation of Perl6 and subsequent design/development processes, I don't think he ever felt very comfortable being a community leader. The second major factor early in Perl6 was that Larry had some substantial medical problems at really key, important times. I don't know if these and other factors, if different, might have allowed Perl6(Raku) to become successful. It's possible that the sheer, awesome scope of Perl6 was just too big. One way or another, what ended up happening was a damn shame. In retrospect, I think it's clear that Larry should have, in 2000, announced the creation of a new language, a language that shared many/most of the broad goals and ideas of Perl. But 21 years ago, such an announcement would have been almost impossible. The total amount of hurt and divisiveness that ended up coming about due to Perl6 might have been minimized with such an action, but it would have been strongly front-loaded, with an unbearable amount of community pain concentrated into a single point.
- AMerrit 6y agoThis is exactly it for me. Perl just seemed to be stuck in a stasis with the whole Perl6 mess for over ages while the world moved on. I still maintain some perl scripts and it's great for small tasks, but by the time they got everything sorted out no one under 30 knows perl at all anymore as it seemed like a dead end.
- emilper 6y ago"while the world moved on" yet the world still does not have half the features Perl 5 already had for 20 years :) ... from scoping to support for every major programming paradigm
- ajross 6y agoThat's pretty much exactly it. The core of the perl community decided that what they really wanted to do was spend their time bathing lazily in their shared hubris, designing (with... surprising patience) a new perfect language. And I don't really blame them, that's a lot of fun. But perl had become successful not by being a perfect embodiment of TMTOWTDI or whatever but by being a simply amazing practical language for practical problems. And without the support for the practice of perl, perl 5 rapidly withered as new problems became more practically solved in Python or Ruby. It's worth noting that Python almost did exactly the same thing to itself, too. But it was saved because Python 3 wasn't nearly as incompatible as Perl 6, and that it actually shipped reasonably promptly. But IMHO it's no accident that the explosion of node.js happened just as Python broke the world with their incompatible upgrade.
- Daishiman 6y ago> It's worth noting that Python almost did exactly the same thing to itself, too. But it was saved because Python 3 wasn't nearly as incompatible as Perl 6, and that it actually shipped reasonably promptly. But IMHO it's no accident that the explosion of node.js happened just as Python broke the world with their incompatible upgrade. Not totally sure that I agree here. I wrote backend Javascript code when Node was beginning to become popular instead of Python because I needed to write a multiplexed socket server that was much better server by the JS asynchronous paradigm over Python. Socket.io was a much better experience than much larger, complex Python equivalents which performed worse, so I kept around most of my Python code and used Node for multiplexing. At the time Python 3 wasn't even a question. There was no push to upgrade seriously, just patiently waiting for the libraries and frameworks to be ported. To this day Node.JS and Python server fairly different purposes in most stacks, and although they can do the same job, for each domain generally one is better than the other.
- ajross 6y agoObviously yes, they entered different niches. But that's true of any technology. The question in my mind is more: if PyPy hadn't been preoccupied with fighting a compatibility battle with all the churn in upstream python, would it have been chosen instead of V8 as the vehicle of the new concurrency revolution? I think there's a reasonable argument that it would have been.
- spookthesunset 6y agoBack in the 2000’s Perl was my bread and butter. The thing about perl6 was it over promised and... well... never delivered. It was to be a from scratch rewrite. It was gonna have all these space-age feature like a VM to host other languages like what .net or Java does. It was gonna try to fix years of baggage. It was gonna be super hot. But it never shipped in time. Meanwhile python was an excellent alternative. Ruby on Rails was just coming around. C# was becoming a real contender (c# remains one of my favorite languages...). All those languages were getting tons of community support. Perl’s community was starting to slow. It’s top devs were busy with v6. V5 was not getting any cool new features. And it was made quite clear that v6 had many breaking changes from v5. I dunno. I file perl6 in the same bucket I file Netscape and Winamp. Proof that doing ground up “from scratch” rewrites are great ways to kill forward momentum on your product. Rewrites take much longer than any estimate. To pull it off you need to have unlimited budget and the ability to support and improve the current version while also building a brand new version whose scope constantly creeps to maintain parity with your current version. The second you stop maintaining and improving what you have in the market today, your competitors will eat your lunch. It is what killed Netscape to a large extent. It killed Winamp to a large extent. And it put a couple nails in perl’s coffin too.
- dhosek 6y agoIn 2008, I was in charge of standing up a new service at the company that I worked. They were a heavy Perl shop. I considered using Perl 6 for it since it was "just around the corner." After some investigation, we realized that (a) it was not just around the corner and (2) Perl developers were hard to come by. We went with Java/Spring instead.
- munificent 6y ago> The launch in fanfare of Perl6 in 2000 had a general chilling effect on Perl: many people considered from that point that there was no point learning and using Perl 5, because Perl6 was "just around the corner" and was "the future of perl". Yup, the Osborne effect: https://en.wikipedia.org/wiki/Osborne_effect https://en.wikipedia.org/wiki/Osborne_effect