Thanks Perl. Pity you were so ugly and we had to break up but Python is "cleaner"[1] and I just couldn't stick with you.
[1] Personal preference I am not looking for a fight :)
Thanks Perl. Pity you were so ugly and we had to break up but Python is "cleaner"[1] and I just couldn't stick with you.
[1] Personal preference I am not looking for a fight :)
> [1] Personal preference I am not looking for a fight :)
Your wordings don't align with the disclaimer. That's like saying "you are an idiot, but hey, it's a personal perspective - I am not looking for a fight".
FWIW, I have used perl heavily, and now a days mostly do Python and Ruby. My reasons for Python/Ruby are basically Nltk/Flask/Gevent, Rails etc and don't have much to do with the languages themselves. They are pretty interchangeable with some syntax difference.
Perhaps I could have worded it a little less flame bait like:
Pity I didn't like your idioms and we had to break up as my eyes and heart prefer Python.
Any better?
The popularity and fan boy crowd seems to have moved to server side JS these days.
We are only days away from how people bash Python for more recent fancier options.
$ditto_for_me =~ s/Python/Perl/;I have been doing Python a bit now and am of the opposite opinion.
Except for CPAN I miss the advanced stuff like Moose (better OO) and extensible syntax.
I might be too new to the language. E.g., I don't really get the list comprehension -- it looks like a kludge around the lack of multi line code blocks, so Python can't have nice a map() syntax. But people seems to love the that syntax, so there should be more to it than a kludge?
But sure, Python has a minimal and elegant notation; it just changes a bit too slowly.
Also, try posting a flame comment like yours about Python in a Python thread; you'd be at minus ten in five minutes and stupid comebacks would be up voted to orbit. The fanaticism makes RoR kids look mature.
I wrote "Python can't have nice a map() syntax", because of its lack of code blocks. And that list comprehensions seems like a one-statement kludge of the map functionality.
How could I have been clearer?
OK... second attempt to explain this point: :-)
List comprehension seems to me like a one statement replacement of a map function (and that one-statement often makes you think of Perl golf.)
And a third attempt: :-)
It seems to me that list comprehension would never have been implemented -- if Python had added (optional) support for ';' (+ '{'/'}') and hence code blocks. That is because Python would then use map() instead of list comprehensions (like all other scripting languages, lisps, etc).
(Also, a side effect of optional ';' support would mean that Python wouldn't be worthless garbage as a bash cmd line tool.)
But please enlighten me about use cases not done clearer/better with code blocks?
I note that you don't argue about the fan bois point... :-)
Perl libraries made a huge leap forward. And for me it was unnoticed.
Also, check out Coro (coroutines), Tatsumaki and plackperl.org for other awesome libraries and tools that rival and even surpass their counterparts in other languages.
Even Python, who's motto would be closer to "one right way to do it" always has more than one way. So you're statement doesn't explain anything I'm afraid.
If you want beautiful Perl, pick up Kaufmann's "Higher-Order Perl." It has a number of functional design patterns and ideas which are useful and elegant. The author claims that where most people write C in Perl, his book is an attempt to convince you to write Lisp in Perl.
>The author claims that where most people write C in Perl, his book is an attempt to convince you to write Lisp in Perl.
Wouldn't it be less work to just write Lisp in Lisp?
For instance, the CPAN module Devel::Declare is a sad excuse for real lisp macros but, afaik, it is still better than most anything else.
(Lisp dialects are sadly seldom possible to use for lack needed libraries like good Unicode support, etc.)
(Btw, Mark Jason Dominus wrote "Higher-Order Perl" http://hop.perl.plover.com/)