4 ms·
They are all good languages splitting the same market (roughly). Perl lets you get under the hood in a way that either is frowned upon, impractical, or prohibi
by rjbond3rd 16y ago
They are all good languages splitting the same market (roughly).
Perl lets you get under the hood in a way that either is frowned upon, impractical, or prohibited in other languages. So there's a language for every temperament now.
For example, in Perl, [if you wanted to], you can roll your own object system. That makes some people happy, and other people uncomfortable. But much of Perl has moved on to one very cool object system, Moose.
The Tim Bray article reads as if he's unaware of Modern Perl and all the Perl 6 stuff which has been back-ported to Perl 5. In all honesty, I had to check the date because the article had a 2002 feel to it.
- pyre 16y agoOne thing that people fail to mention when hyping Moose is that there is a start-up penalty for using it. You can lessen this penalty by not using all of the whiz-bang features of the object system, but that kind of defeats the purpose, no? [ This doesn't really matter much for long-running scripts or controllers in a webapp, but it does for a lot of other applications ]
- rjurney 16y agoComments like this seem to miss the point: use strict; use warnings; is not required. Moose is not the default object system. You can't say, "Oh, this library has that feature!" Thats not good enough. It has to be built-in, not optional, core to the language. If you're working by yourself - you can write code in any language well. In groups, that is NOT the case. Writing Perl in groups requires rigorous code reviews and cooperation, and even then nightmares are hard to avoid. Expressiveness has its downsides. You cannot simply bring a Perl noob onto a project and not have him ruin it. You CAN bring a new Rubyist onto a project and they can be productive.
- chromatic 16y agoYou cannot simply bring a Perl noob onto a project and not have him ruin it. You CAN bring a new Rubyist onto a project and they can be productive. These assertions beg proofs.
- draegtun 16y agoYou can't say, "Oh, this library has that feature!" Thats not good enough. It has to be built-in, not optional, core to the language CPAN is core to the Perl language and deliberately so. If you don't like this ethos then Perl isn't a "language" you should consider.
- rjbond3rd 16y agoYour requirement that certain features be "built into the core" seems to rule out a lot of languages which happen to be extensible.
- mmt 16y ago* It has to be built-in, not optional, core to the language.* This begs the question, what's core? Python's regex could go either way, for example.