This is a big use case for me. I really want to use Perl but I favour Python because the CPython API vs XS, it's a no brainer. I haven't really looked into the Ruby C API but if it's sane I would use it as well.
And while we're on the topic, Perl has pretty much everything both Python and Ruby have (and better Unicode support, to boot), though it's wrapped in syntax and idioms that most Pythonistas and some Rubyists find distressing.
I agree that there is no reason to switch between Perl/Python/Ruby. They are all the same language with slightly different punctuation.
I think Perl has better libraries, but learning those and discarding your experience with one of the other languages is probably not much of a net gain.
I still find Perl is better for some tasks (over Python - I don't know Ruby). It has loads of syntactic sugar such as globbing files, backticks for executing system calls.
Having moved from Perl to Python, there isn't really anything difficult in switching. I looked at Ruby too, which felt like a tidied up version of Perl, especially regarding
I've been playing around with perl over the last 10 years, and over the last 4 years or so doing perl professionally.
Because I'm in the job market at the moment I figured I'd take a closer look at Python and Ruby, so I'm concurrently reading two python/ruby books. To be honest, I don't see much in it. If I were to chose one I think I'd have to go with python, because Ruby looks to me, just like perl but with a different set of weird symbols to remember, and a slightly different set of downsides.
Python on the other hand looks like a sufficiently different take on the dynamic language problem, so as to be more interesting.
PHP I'm not bothering with right now. It's just like perl only with most, if not all of the design intelligence removed.
I use all of the three language in my day-to-day computer usage (i.e. I have scripts in each one of them), and I don't think Python or Ruby really replaces Perl 5 at what it's doing good: being a very powerful Unix citizen. Perl 5 is still better at regexps, at string manipulation, at how it combines these features w/ Unix I/O, and at offline documentation. Ruby has the best syntax and language flexibility among all (I hate Python's significant indentation and general unnecessary "stinginess" of the syntax), and Python shines with its wide array of libraries and availability of jobs. Also, AFAIK Python supports Windows better, and has a better REPL than Ruby (Irb can not run all the code the interpreter itself can run).
reply