4 ms·
No. The Perl interpreter has been regular updated and improved. There's a new release of Perl every six months, and the libraries on CPAN provide access to var
by rrwo 4y ago
No.
The Perl interpreter has been regular updated and improved. There's a new release of Perl every six months, and the libraries on CPAN provide access to various other kinds of technology and tooling.
- chrisseaton 4y agoDoesn't even have a basic JIT does it? Still using a 90s-era basic interpreter and GC architecture. And there's only one implementation. Doesn't seem very healthy.
- School-Cotton 4y agoPython (or at least, the implementation used 99% of the time in the real world) doesn’t have a JIT either, so this property isn’t limited to niche, dying languages.
- chrisseaton 4y agoWell yeah compare to Python - Python has multiple alternative implementations, an active academic and industrial research community coming up with new ways to improve performance and add tooling, including revolutionary work such as meta-tracing, has new GC work, has a couple of JITs depending on what tradeoffs you want, new explorations into specialising interpretation. Perl doesn't seem to have anyone making this kind of effort? You're stuck with the tech from decades ago.
- rrwo 4y agoThe implementation is open source and not owned by a for-profit company that could decide to kill it off in the future. This is a good thing, because it means that we don't have to worry about a program running on one implementation vs another. Also, one of the things that Perl is great for (unlike many other scripting languages) is backwards compatibility. A program written in the 1990s for Perl 5.004 will probably run with minimal modifications on Perl v5.36.
- chrisseaton 4y ago> The implementation is open source and not owned by a for-profit company that could decide to kill it off in the future. That's the same for almost all languages though? Which major languages aren't open source or are owned by a company?
- gonzus 4y agoThis is partially wrong. Perl compiles the program to its own internal representation in one go, which is then run in a VM. It also uses reference counting, it does not have a GC. It is true it doesn't have a JIT, though.
- chrisseaton 4y ago> This is partially wrong. Which bit was wrong? It has a basic bytecode VM - isn't that the 90s era interpreter tech I was talking about? > It also uses reference counting, it does not have a GC. Reference counting is GC.
- 77pt77 4y agoSame with python. GIL and everything.
- chrisseaton 4y agoIt's not - Python has innovation going on into new techniques for interpretation and GC. Perl doesn't have any activity like that at all.
- BaseballPhysics 4y ago> Doesn't even have a basic JIT does it? Still using a 90s-era basic interpreter and GC architecture. So? > And there's only one implementation. Doesn't seem very healthy. LOL, okay, this is just hunting for complaints. I could list a half dozen languages that don't have multiple implementations (Rust, Java, Scala, C#, PHP, Go) and yet I've never seen anyone raise that as a concern.
- chrisseaton 4y ago> I could list a half dozen languages that don't have multiple implementations (Rust, Java, Scala, C#, PHP, Go) and yet I've never seen anyone raise that as a concern. That's because you're misinformed! These languages all have multiple implementations (Scala's is just multiple backends), so yeah people don't complain about it.
- BaseballPhysics 4y agoYeah, no they don't. Show me another implementation of any of those languages and I'll show you a toy no one actually uses.
- chrisseaton 4y agoFor example independent Java implementations used in production include OpenJDK, OpenJ9, and SVM.
- BaseballPhysics 4y agoAnd the vast majority of people use OpenJDK. But hey, why not, I'll give you that one (tbh, I knew including Java on that list was a bit of a stretch). Care to try with any of the others? Wanna try to convince me, next, that HHVM qualifies as a reimplementation of PHP despite no one outside of Facebook using it? But you know what, no, I have a different question: Why does this actually matter? You've positioned this as some sort of objective downside to Perl without explaining why anyone should care. So why don't we start there, rather than my taking your objection as being somehow relevant. Please, explain to me: Why should I care that Perl (like so many other languages) only has one real implementation?