

Ask HN: Want to learn Perl and Ruby, which one should i choose first? - wildtype

I do programming just for fun. Sometime i do seriously to perform data analysis with python and R. I know python, but i dont really understand or implement the OOP concept (non CS major, i'm biological science student and don't have formal education on IT or programming).<p>I interested to learn perl and ruby. I also have a web application project that i want to create maybe with perl dancer or ruby's sinatra. Which one should i choose to learn (deeply) first, perl or ruby? Which one have the better performance for the same task? Am i to naive if i choose to learn perl first just because it's syntax highlighting already configured on my vi/elvis editor? Any suggestion?
======
twunde
I would suggest Ruby for a few reasons.

Perl is so similar to Python especially in its strengths that you would be
primarily using one or the other.

Ruby has great web framework support with tons of resources and plenty of
people for both Sinatra and RoR. With Dancer and other Perl frameworks there's
not a lot of info online besides the framework docs. With Ruby, you can use
Heroku, while Perl you're going to need to use a Heroku buildpack to get it
working which is more work.

I don't know if vi has syntax editing for Ruby, but I would imagine it does.

Perl would be easier to learn but wouldn't really give you any extra benefits
over Python. It would probably be just as good to use a Python framework,
either Bottle or Flask. Ruby is much more OO, has better framework resources
and is different enough from Python that its worth learning

~~~
twunde
PS I actually came from a Python/C++/PHP background and started working on
Perl. Frankly there's not a whole lot of difference between the 3 languages in
what they can do. All have reusable packages like CPAN/Ruby gems/ Python's
eggs using pip. The main difference for web is which framework u like the best
and what language syntax you prefer.

------
Phra
I am programming Perl for a long time. I would say, to me, it is more or less
a kind of identity.

It is free software. It has a great community. Perl can be used, for batch
processing, web development (as you mentioned), data analysis and text
manipulation. It is multi-platform. It can interact withe C, C++. Java,
Python, etc.

Last but not least it has the CPAN (Comprehensive Perl Archive Network), a
huge repository of free code. If you missing a functionality, surely you will
find some options there.

Perl is healthy and growing and you can easily be part of its community.

------
jemeshsu
Since you already know Python, why don't use it?

