10 ms·
Pretty much. I used to use Perl 5 a lot but I never considered using Perl 6 and eventually moved on from the Perl ecosystem altogether. The huge advantage of Pe
by simias 9y ago
Pretty much. I used to use Perl 5 a lot but I never considered using Perl 6 and eventually moved on from the Perl ecosystem altogether. The huge advantage of Perl ~10 years ago was the massive amount of CPAN packages but in the meantime python & friends mostly caught up in my experience.
Meanwhile the shiny new revolutionary Perl 6 took forever to release and when it finally did nobody cared anymore. Quoting Wikipedia:
>The design process for Perl 6 began in 2000. [...] on December 25, 2015, the first stable version of the specification was announced.
I can respect taking the time to do things right but when your development history resembles that of Duke Nukem Forever something is off. That in my opinion hurt Perl more than anything else, even more so than the lack of compatibility between Perl 5 and Perl 6. If Perl 6 had released in early-to-mid 2000 I think there would've been enough interest out there to bridge the gap. It would've been messy but it could've worked.
Instead Perl 5 felt a bit like a legacy language "while we wait for Perl 6 to be finished" and Perl 6 was nowhere to be found. And Perl went from the de-facto scripting language for un*x to people asking "Is Rakudo Perl 6 used in production?".
- joosters 9y agoI agree, it definitely hurt mainline Perl development when Perl 6 was this promised great new thing. At least Perl 5 never got abandoned, and there is development and bugfixing still going on today. Perl 5 has a feeling of being 'complete' as a language. I guess this makes it unsexy and it'll never be the cutting edge where all the cool devs want to work, but it's rock solid stable and reliable. Now, if only Perl 5 could get a JIT compiler...
- toyg 9y ago> I guess this makes it unsexy Nah, what makes it unsexy is the Perl syntax. The world has moved on. The readability of modern languages like Python is on another level.
- vgy7ujm 9y agoI disagree. To me Perl is more readable than Python. What is so modern about Python? It was released in 1991.
- toyg 9y agoCompared to Perl, the overall under-use of special characters and the forced indentation make it objectively more readable; there is a reason it's often compared to pseudocode. Age of release is a meaningless metric, btw. For starters, what Python was in 1991 is very different from what it was in the early 2000s, when it reached critical mass. Its modernity is measurable by the influence it had on most languages designed after its success, like Go and Swift.
- vgy7ujm 9y agoSpecial characters, clear visual markers of scope etc. that Python lacks is part of the appeal of Perl to me. I feel like a dyslectic when I read Python (projects of significant size) due to it being much less visually helpful and that the idea of simplicity falls apart when the problems are not trivial and when multiple devs have touched the code over multiple years. YMMV of course but that is why your POV is not objective and I disagree.
- toyg 9y agoThe visual marker of scope is there and it's massive: indentation. You can write bad code in every syntax, but when a language carries jokes about being "write-only" and the other has a reputation for being anal about indentation (the single most helpful scope-marker in any syntax), I don't think you can argue about objectivity when discussing readability. This said, I'd like to see scientific comparisons, which are lacking. Some studies suggest terse languages using more special characters are more readable to experienced programmers than ones with simpler syntax, which seems to match your experience. That might well be true; but when applied to the real world, this still means than only a minority will ever prefer that style over a simpler one. As the number of coders naturally rises, this will only become more and more true over time.
- cutler 9y agoThe "readability of Python" meme always strikes me as an appeal to mediocre programmers who can't be bothered to learn a full-featured language. It's like trying to avoid musical notation in the teaching of musicians for fear it'll get too complicated for the poor student. Can you imagine a civil engineer being spared the discipline of physics and maths? In which other professional discipline does one expect the language to be dumbed down to the size of the student's brain instead of requiring the student to raise his/her game to gain mastery of the subject?
- lizmat 9y ago> Now, if only Perl 5 could get a JIT compiler... Perl 5 running as a slang on MoarVM or JVM would give it a JIT compiler
- cutler 9y agoIf only language completeness was all that mattered. Module ecosystem health and community matter a lot more in the rise and fall of languages and CPAN now has a lot of unmaintained modules due to Perl's dwindling community. Languages themselves don't really decline once they've reached maturity.
- collyw 9y agoThe failure to admit it was going slowly was another killer. It will be released at Christmas, we just aren't telling you which one. After a few years of hoping, I gave up and am in the world of Python and Django. Its a shame as Perl feels like a more powerful / expressive language than Python.
- vgy7ujm 9y agoThis. Being "forced to use Python" sucks as a Perl developer.
- BeetleB 9y agoOn the flip side, being forced to use Perl always sucks. I mean it only as a half joke, unfortunately.
- vgy7ujm 9y agoI would love to be forced to use Perl :) As a side note, "forced" often means "we have a lot of beginners here and they want to do Python".
- askvictor 9y agoFind a job maintaining some legacy code (there's plenty of it there). At which point you'll quickly realise that maintaining a complex perl program (particularly that someone else wrote) is painful. And the only remaining production perl programs are complex or they would have been rewritten.
- vgy7ujm 9y agoI would not mind actually. Better than rewriting failing Python or Node projects once a year.
- hedora 9y agoThe worst parts are the conversations of the form: Would you use something like perl for this? Why not? Python has 100% of the “write only” problems you mention, except that there are less syntactic clues to help the reader. sigh (And for the record, I’ve dealt with 100K+ sloc perl and python projects, and the perl one was more maintainable than the python projects, even after multiple python rewrites. It doesn’t have to go that way, but it certainly can!)
- skywhopper 9y agoYeah... sometime around 2007 or so they finally admitted as much and started updating Perl 5 more regularly. But it's been a ridiculous journey. No project that starts out to rewrite a long-established and entrenched piece of software from the ground up ever ends up being a smooth transition. It's best to admit as soon as it's clear what's happening that you are doing something entirely new, and let the old project live out its own lifecycle. What I've heard about Perl 6 does sound intriguing, and probably a solid language platform does take a good decade-plus to get on solid footing. But re-using the name of a once-well-loved and established language is a bad move for both the old and the new versions.
- jandrese 9y agoThe progress on Perl 5 has been remarkable too. Complex data structures no longer require you to wave a dead chicken and spelunk through StackExchange for hours. Unicode just works most of the time. Useful new features appear in the language, even though you would rightfully expect it to be in maintenance mode.
- loggedinmyphone 9y ago> Complex data structures no longer require you to wave a dead chicken Do you have a reference on changes to data structure syntax in 5.x? Probably my biggest frustration was trying to use anything beyond a scalar list - it always ended up a mess of hashrefs.
- jandrese 9y agoMostly it is deref operators being smarter now so you don't have to wrap everything in curly braces to get it to dereference properly.
- raiph 9y ago> It's best to admit as soon as it's clear what's happening that you are doing something entirely new Larry said something similar on day one. > and let the old project live out its own lifecycle. Larry did exactly that. It's still living out its own lifecycle and will for another N decades. > re-using the name of a once-well-loved and established language is a bad move for both the old and the new versions. I agree that this has likely turned out to be the case for Perl 6.
- jandrese 9y agoPerl 6 seems to have one of the worst cases of the second system effect in modern history. It didn't help that Larry Wall got sick halfway through the development either. As a Perl 5 developer, I look at it and go "If I have to learn a new language I might as well make it a popular one like Python 3 or Rust."
- cutler 9y agoPython - ok, but Rust? How many Rust jobs do you see posted on major job sites?
- saghm 9y agoI always find this logic a little troublesome; there are certainly many more Python jobs than Rust, but there are also many more Python programmers than Rust programmers. Wouldn't it make sense to optimize for the best ratio of available jobs to qualified applicants rather than just the largest number of available jobs? (I'm not saying that the ratio is better for Rust, just that the metric itself being used seems flawed). Of course, there are also reasons to learn a programming language beyond job listings; GP might work on things that don't require a specific language, be looking for a language for dude projects, or just want to learn a language for fun.
- jandrese 9y agoPython will get you a job today, but Rust may well be more valuable in the future. Or it may be a flash in the pan that never catches on in a big way. The future is hard to predict.
- raiph 9y agoOne of the bigger features of P6 is that it can use modules written in other languages such as python.[1] Are you aware of the compatibility with Perl 5 that I mentioned in my prior comment in this thread? If so, why do you discount it? [1] https://www.perl.com/article/plotting-with-perl-6/ https://www.perl.com/article/plotting-with-perl-6/
- askvictor 9y agoP5 also has inline python, but it's nowhere near as easy as using a native library.
- raiph 9y agoStefan Seifert authored or maintains both the P5 and P6 versions of Inline::Python, the Inline::Perl5 for P6 and the Inline::Perl6 for P5. Three of the four are at the first stage. They work in much the same way, using `.run( ... )` to run a line of code at a time. One of the four is at the second stage. It works as easily as using a native library. No need for `.run` etc.