Only Python comes close to having anything resembling Perl's level of testing. (Ruby's improved a lot thanks to Rubinius, but to my knowledge the latest stable releases don't include test suites.) PHP's testing was abysmal, last I checked.
None of those languages have anything like the CPAN, despite saying for years "We should build something like the CPAN."
None of those languages are as malleable as Perl 5; see MooseX::Declare for example, or even Moose.
PHP is still easier to deploy for web programs than Perl. Python has an advantage with GAE, and I understand Ruby has something called Heroku.
... when it languished under Larry Wall's negligent stewardship?
Healthy communities flourish from the healthy interactions between and cooperation of many individuals. If you thought Larry's job was to make sure that everyone is happy and doing exactly what he thinks they should do, you've never understood Larry or the Perl community.
If you want to explore a new language and don't mind getting your hands dirty (and for the next several releases, reporting a few bugs), Perl 6 can be great fun.
If you have a project in mind you want to deliver as soon as possible, Perl 5 is a powerful, capable language especially if you take advantage of the CPAN.
Hopefully my camel book will be sufficient to learn both from a basic level.
The most recent Camel is ten years old. Rakudo Star comes with a book on Perl 6. You can also read my Modern Perl draft book for an introduction to the current versions of Perl 5.
You can say that's unfair, or short-sighted, or just crowd fashion.
I'll do you one better: it's hearsay supported by anecdotal evidence. The existence of one Mason book versus a hundred PHP/MySQL books is evidence of... publishers. Larry's not working at Google is evidence of... he turned them down. Did you know that the top Perl books sold still outpace the top Ruby and Rails books sold?
You're welcome to argue that your perceptions and feelings add up to evidence of something, but "Languages which hipsters with ironic facial hair hack in coffee shops in San Francisco" is a very small data point, even if you could measure it accurately.
I absolutely hate everything about perl anyway and have never understood why anyone would ever like it.
It's flexible, powerful, and easy to extend. 84,296 modules are freely available from the CPAN (at least when I checked; the upload rate is staggering). It has an immense culture of quality and testing. It's amazingly portable. It scales from the freshest novice writing baby Perl to large-scale applications which must not fail, written by experienced professionals. It's malleable; you can program in a compiler-checked subset of the language or express yourself in the most clear or (if you don't care about maintainability) the most expressive, creative way possible.
It has amazing libraries for network access and databases. It sets the standard for text processing. It's been an integral part of usable Unix installations for years. You can find it just about everywhere, and you can do just about anything with it.
Why? Even if some sort of statute of limitations prevents you from learning new things, the rest of the world suffers no such malady.
(That's setting aside the fact that a Perl 6 released in 2001 would not have included amazing features such as roles, grammars, constraints, multidispatch, and autothreading hyperoperators. "Minimal benefits" indeed!)
More computers are available in the hands of more people today than at any other time in recorded human history. More novice programmers exist now than at any other time in recorded human history. What worry about sheep stealing from other languages (as if programmers or novices can only ever use or learn a single language at a time) when hundreds of millions of people could write useful programs?
The Welcome Rakudo Star post on the new Perl.com explains some of the motivations for the Star releases and why this is such a big milestone for all of Perl.
A field of historical and literary analysis called "textual criticism" addresses these questions. The primary mechanism to understanding a text is to ask how its primary intended audience interpreted it.
If you use a tracing JIT strategy with guards (such that you can specialize a basic block based on the type of specific arguments), you need the option to fall back to the non-JIT version if the guard checks fail.
... not arbitrary at all whether a build of the language passes or fails.
The monthly Rakudo releases pass their tests. Occasionally a couple of tests fail for a day or two during the month. Readers are welcome to make up their own minds about the efficacy of this particular definition of "stable" and "production". (Don't use the HEAD revision in production unless you're willing and able to diagnose bugs.)
"Done" is an arbitrary, arbitrary word, like "production" or "stable". It means only and exactly what you want it to mean. Perl 5 isn't done yet either, nor is C99 (at least if you use Visual Studio).
Meanwhile, Rakudo Perl 6 passes more tests today than it did yesterday, and it runs faster than it did yesterday. You can do more with next week's release than you could with last month's release. None of this is accidental nor surprising.
Rakudo is one of several implementations of Perl 6, and its 28th release is next week. Not only does it exist (and people are using it for real work), but you can also use Perl 5 modules and C shared libraries from it. (Not all of CPAN yet works; that's a work in progress.)
Oh, and it also does things that Perl 5 does not and probably will not ever be able to do.
I don't consider that page documentation. Yes, it needs an update. No, it hasn't had one in a while. Many things should happen. Volunteers do what volunteers do.
The version number is another dead giveaway....
For every project you mention where the version number means something, I can find another where the version number means nothing. Wine, as just one example, had commercial support long before the release of Wine 1.0.
I know of no such test I could perform on Rakudo to compare it to any other [Perl 6] implementations.
The voluminous specification tests exist for exactly that purpose. There's also the standard grammar; a fully bootstrapped Perl 6 implementation supports a fair amount of Perl 6.
Ruby is, in fact, strongly typed.
I'd believe that if there were any sort of consensus about what the word "strong" means in the context of typing.
Given Rob Malda's well known attention to detail and demands for perfection, I'm not sure the choice of implementation language is the biggest target.
Only Python comes close to having anything resembling Perl's level of testing. (Ruby's improved a lot thanks to Rubinius, but to my knowledge the latest stable releases don't include test suites.) PHP's testing was abysmal, last I checked.
None of those languages have anything like the CPAN, despite saying for years "We should build something like the CPAN."
None of those languages are as malleable as Perl 5; see MooseX::Declare for example, or even Moose.
PHP is still easier to deploy for web programs than Perl. Python has an advantage with GAE, and I understand Ruby has something called Heroku.
Healthy communities flourish from the healthy interactions between and cooperation of many individuals. If you thought Larry's job was to make sure that everyone is happy and doing exactly what he thinks they should do, you've never understood Larry or the Perl community.
If you want to explore a new language and don't mind getting your hands dirty (and for the next several releases, reporting a few bugs), Perl 6 can be great fun.
If you have a project in mind you want to deliver as soon as possible, Perl 5 is a powerful, capable language especially if you take advantage of the CPAN.
The most recent Camel is ten years old. Rakudo Star comes with a book on Perl 6. You can also read my Modern Perl draft book for an introduction to the current versions of Perl 5.
What suggests that any new language or version of a language has to "steal" attention from any other existing language to succeed?
I'll do you one better: it's hearsay supported by anecdotal evidence. The existence of one Mason book versus a hundred PHP/MySQL books is evidence of... publishers. Larry's not working at Google is evidence of... he turned them down. Did you know that the top Perl books sold still outpace the top Ruby and Rails books sold?
You're welcome to argue that your perceptions and feelings add up to evidence of something, but "Languages which hipsters with ironic facial hair hack in coffee shops in San Francisco" is a very small data point, even if you could measure it accurately.
Nonsense.
They're significantly different from Haskell's typeclasses, Haskell being a language which tends to avoid the OO paradigm.
I've never used SML or Scala. Can you modify the grammar of the language in place?
Does Haskell offer parametric pattern guards?
Indeed it has, and no one familiar with languages would claim otherwise.
That process sounds much more manual than Perl 6 hyperoperators.
Even if that were true, so what? (Mature poets steal.) My point was that a hypothetical Perl 6 released in 2001 wouldn't have had those features.
A subtle but scathing point! I apologize and amend my comment: hundreds of millions of literate people could write useful programs.
Rakudo Star includes a PDF of the Perl 6 introduction book; the print version should come out late next month. Moritz Lenz's Perl 5 to 6 article series is always informative and useful. The official Perl 6 site's documentation page links to current and accurate documentation.
My business does just fine starting new things in Perl, and I'm by no means alone in that.
It's flexible, powerful, and easy to extend. 84,296 modules are freely available from the CPAN (at least when I checked; the upload rate is staggering). It has an immense culture of quality and testing. It's amazingly portable. It scales from the freshest novice writing baby Perl to large-scale applications which must not fail, written by experienced professionals. It's malleable; you can program in a compiler-checked subset of the language or express yourself in the most clear or (if you don't care about maintainability) the most expressive, creative way possible.
It has amazing libraries for network access and databases. It sets the standard for text processing. It's been an integral part of usable Unix installations for years. You can find it just about everywhere, and you can do just about anything with it.
Why? Even if some sort of statute of limitations prevents you from learning new things, the rest of the world suffers no such malady.
(That's setting aside the fact that a Perl 6 released in 2001 would not have included amazing features such as roles, grammars, constraints, multidispatch, and autothreading hyperoperators. "Minimal benefits" indeed!)
More computers are available in the hands of more people today than at any other time in recorded human history. More novice programmers exist now than at any other time in recorded human history. What worry about sheep stealing from other languages (as if programmers or novices can only ever use or learn a single language at a time) when hundreds of millions of people could write useful programs?
The Welcome Rakudo Star post on the new Perl.com explains some of the motivations for the Star releases and why this is such a big milestone for all of Perl.
A field of historical and literary analysis called "textual criticism" addresses these questions. The primary mechanism to understanding a text is to ask how its primary intended audience interpreted it.
What makes you say that? If I cut costs in my business, I don't necessarily pay myself more (at least not directly).
Swap user numbers with me:
If you use a tracing JIT strategy with guards (such that you can specialize a basic block based on the type of specific arguments), you need the option to fall back to the non-JIT version if the guard checks fail.
I hear from other people that Perl recruiting is up dramatically over last year. I'm also not actively seeking consulting work; I took my CV offline last year.
The monthly Rakudo releases pass their tests. Occasionally a couple of tests fail for a day or two during the month. Readers are welcome to make up their own minds about the efficacy of this particular definition of "stable" and "production". (Don't use the HEAD revision in production unless you're willing and able to diagnose bugs.)
Since Feburary, I've had three unsolicited requests to work on new Perl projects.
"Done" is an arbitrary, arbitrary word, like "production" or "stable". It means only and exactly what you want it to mean. Perl 5 isn't done yet either, nor is C99 (at least if you use Visual Studio).
Meanwhile, Rakudo Perl 6 passes more tests today than it did yesterday, and it runs faster than it did yesterday. You can do more with next week's release than you could with last month's release. None of this is accidental nor surprising.
Rakudo is one of several implementations of Perl 6, and its 28th release is next week. Not only does it exist (and people are using it for real work), but you can also use Perl 5 modules and C shared libraries from it. (Not all of CPAN yet works; that's a work in progress.)
Oh, and it also does things that Perl 5 does not and probably will not ever be able to do.
In truth, there are several implementations of Perl 6.
Parrot? It's out. It works.
I don't consider that page documentation. Yes, it needs an update. No, it hasn't had one in a while. Many things should happen. Volunteers do what volunteers do.
For every project you mention where the version number means something, I can find another where the version number means nothing. Wine, as just one example, had commercial support long before the release of Wine 1.0.
The voluminous specification tests exist for exactly that purpose. There's also the standard grammar; a fully bootstrapped Perl 6 implementation supports a fair amount of Perl 6.
I'd believe that if there were any sort of consensus about what the word "strong" means in the context of typing.