I hear this a lot about Python. And I know a little bit about Python; I know less about ruby. But the thing of it is, from a SysAdmin perspective, Python is where Perl was in 2000. In 2000, you had differing versions of perl that were close enough to step on oneanother, but still so incompatible that you had to maintain one version of perl for your base OS tools, and usually another version of perl for every major application you used.
Perl has stabilized to the point where this is no longer a problem. I can run nearly everything on system perl without worrying about it. Python, on the other hand, I've had to wrangle with many RHEL systems that have two versions of python (one, because the RHEL base system requires a staggeringly ancient version of python, and then the other for the application the server was running.)
Python just isn't "done" in the way perl is. In five or ten years, sure. But for now, it's still a pain in the ass.
Hell, I'd bet money that at this point, perl5 has fewer memory leaks and other programming errors in the compiler than Ruby does, just because people have been pounding on it for so long.
I'm going to draw an analogy from Larry Wall's own words: Python 3 is to Python 2 what Perl 6 is to Perl 5, a different language.
Just because you had a bad experience with Python legacy code (yes, RHEL sucks), doesn't mean you get to discredit the language. What is it about the language you find unfinished? I'd be 99% certain any issue you're going to mention is actively being worked on.
That analogy is wrong. Python3 is not a different language. It is a cleanup of the Python2 language. Perl6 on the other hand is a total rewrite. The better analogy would be VB6/VB.NET and P5/P6.
My point was that even if the language is superior (maybe it is, and maybe it isn't. I'm not really qualified to debate the point) if the /platform/ is immature, that is still quite a disadvantage.
Me, I'm not complaining about the large, predictable breakage you get when changing major versions, but the breakage that you got with minor versions of perl5 10 years ago, that you get with minor versions of python 2 today.
(Hint: I don't think the grandfather comment was about Python 3.)
And different languages doesn't say much. :-)
Perl 6, compared to e.g. Python 2/3, is a really ambitious undertaking. But OK, with the backporting going on, Perl 5 might end up being similar to Perl 6... :-)
It seems like formerly popular but effectively dead languages tend to be most popular with sysadmins. (It explains bash, sed, and awk, at least.) So I'm not sure that being popular with sysadmins is really what the folks who want to revive Perl are going for?
The quality of the syntax is purely a question of taste and as such isn't really debatable (de gustibus coloribusque non disputandum est), but so far it seems that Ruby still lacks in scalability and speed compared to Perl or Python.
- about the same number of Perl programs are faster than the Ruby 1.9 programs by about the same amount, as there are Ruby programs faster than Perl programs
- some of the Perl programs use half the memory of the corresponding Ruby 1.9 programs
- the Perl programs and Ruby 1.9 programs use about the same amount of code.
As a canadian I wish manufacturers would use robertson screws rather than those damn philips screws. But alas, things are manufactured for north america as a whole and the canadian market is so small compared to the US market. Then again it could be worse, they could be using flat head screws.
Robertson screws are not flat head screws. They are a type of screws that is particularly popular in Canada and that requires a square screwdriver. Look it up on Wikipedia... it's an interesting tale of intellectual property guarded too zealously for the inventor's own good.
What I'd heard was that the Robertson screw, though awesome, didn't take off due to exorbitant royalties, but checking, it looks like he refused to license them to let anyone else make them after getting burned, & having only one supplier worried Henry Ford too much to use them.
(Before anyone follows-up with the usual "the right tool for the job", it's not the point here. There are good screwdrivers and bad screwdrivers).