4 ms·
Yeah, you can actually find many many clever little ideas in Perl 5 and 6. I even find reading the Perl 6 synopsis (http://perlcabal.org/syn/ http://perlcabal.o
by xiaq 13y ago
Yeah, you can actually find many many clever little ideas in Perl 5 and 6. I even find reading the Perl 6 synopsis (http://perlcabal.org/syn/ http://perlcabal.org/syn/) entertaining.
The problem with Perl, IMO, is that there are too many clever ideas and it takes way too much to fit all of them together (and they never give up and ditch some of the less clever ones like Python people routinely do), which is why Perl6 is moving so slowly.
- xiaq 13y ago> The problem with Perl, IMO, is that there are too many clever ideas and it takes way too much to fit all of them together (and they never give up and ditch some of the less clever ones like Python people routinely do), which is why Perl6 is moving so slowly. I have to correct my statement about Perl6: it's not moving slowly, but it takes too much to get there.
- Diederich 13y agoA bit of both, actually. Perl6 as an language is remarkably complete. http://perl6.org/compilers/features http://perl6.org/compilers/features Its performance has been absolutely terrible though. They've been (rightly) focused on features first. But note that Perl6 on JVM is doing very well. I believe the effort is about a year old, and they've been performance optimizing it for a fraction of that time. And that's with nearly all of the 'remarkably complete' features. https://github.com/rakudo/rakudo https://github.com/rakudo/rakudo Last time I did a benchmark a few months ago, Perl6 on JVM was very roughly 2x slower than Perl5. With Perl6's native but optional typing, I fully expect that Perl6 on JVM will get even faster than Perl5. This year, I need to evaluate a 'scripting' language to run inside of big Java processes, and I'm going to give Perl6 a very close look.
- BugBrother 13y agoMaybe too many clever ideas, but in the real world we evaluate a language for how is to use when you follow the coding standards etc. There really might be an initial extra cost of some work days, but unlike most people on HN I don't really know... :-) Anyway, you can make a good argument for Perl with the best OO (Moose) of the scripting languages, CPAN (+ Testers, so it works), etc. But please, no more of these language wars, it makes for really boring reading to e.g. see the same arguments whenever Perl is mentioned.
- izietto 13y ago> I even find reading the Perl 6 synopsis (http://perlcabal.org/syn/ http://perlcabal.org/syn/) entertaining. The Operators page (http://perlcabal.org/syn/S03.html http://perlcabal.org/syn/S03.html) scares me O.O
- araes 13y agoI love Perl. Its flexibility and potential terseness are awesome, but there is something funny about a language that has the operator breadth of: : :: .: .:: .. ... {...} .^ ..^ ^.. ^..^ ^^ , ; And several of those have 2-3 uses. Heck, there's probably a way to use only those and some $'s and make something that runs.
- kanatohodets 13y agoIt's even crazier/cooler than that: https://metacpan.org/pod/release/BOOK/perlsecret-1.005/lib/perlsecret.pod#SYNOPSIS https://metacpan.org/pod/release/BOOK/perlsecret-1.005/lib/p... -- lots of (mostly harmless/golf-oriented) fun with combining perl operators.
- jbert 13y ago> The problem with Perl, IMO, is that there are too many clever ideas Perl's learning curve is shallow (easy to pick up) but long (the language is big). One explicit design goal from perl which isn't talked about much is "huffman coding" in the language. i.e. frequently needed language features should require fewer keystrokes. This comes directly from Larry's background as a linguist. For example, English has the word "it" to mean "the thing we're talking about". Perl has "$_" to mean the same thing. The meaning of "it" is dependent on the surrounding context. So it is with perl. Similarly, it can be confusing to have long, runaway sentences using such context dependent words. You can write bad English and bad perl in this way if you're not careful. However, the benefit is that, used correctly, it allows you to express yourself clearly and concisely.