Ask HN: What should I learn next? Python or Ruby/Rails?
I have been doing PHP for a long time now. I know some C/C++ through college.
I have started dabbling in Python but was told by many that I should instead consider Ruby/Rails
One important note: I do intend to, at some point, learn both of them. Just wondering which one you would recommend I start with.
Thanks :)
31 comments
[ 3.8 ms ] story [ 92.5 ms ] threadThen think about doing Python or Ruby.
Also, you may not be aware but this is an almost daily question on StackOverflow so I would advise looking there also.
Everyone has said Python is simple, simple, simple, though.
That should tell you all you need to know. Web is where it's at. Django has much less penetration. Rails is still fairly rare but it's gaining momentum in business (finally) and IMO it's a very good thing to know right now. Your PHP skills will be a big plus, too.
That said, I have nothing against Python, it's a great language, so if you're not doing it for employability reasons, why not. It just seems to me that the Rails hype has made it a big deal for businesses currently. Get on that train and you'll be well-compensated. Python .. love it, but doesn't pay as well, simple as that.
You gotta go with Perl. You'll thank me later.
And really, companies are going to look at you strangely if you say "1 year Perl experience". They'll think "why on earth is someone learning Perl in 2009". No, go with one of the newer languages - python or ruby.
Pick any of copious documentation, more jobs available than for Python and Ruby combined, availability on almost any platform you're likely to encounter, a testing culture unmatched by any other language of which I'm aware, and ~19,224 individual distributions freely available, installable, and usable from the CPAN.
Look, I am not attacking Perl. I am just stating the reality that in 2009, a Perl job will be maintenance. There is nothing new. This might be very insulting but that's the simple fact.
I know of about 4 big new projects happening in this city using Rails. I don't know about other cities but i assume it is similar. Learn Rails, right now, is my sincere advice, offered in good faith.
Look at the job data. It's publicly available. This is how statistics work.
> I know of about 4 big new projects happening in this city using Rails. I don't know about other cities but i assume....
This neither how statistics work, nor facts.
http://www.slideshare.net/Tim.Bunce/perl-myths-200909
Look, Perl was "the" fad language back in the 90s. No-one is building anything new with it today. So if you learn Perl, expect to be hired to maintain others' crappy sites.
C is different because it's the foundation everything else is built on.
I'm not trying to dis Perl here or anything; I'm just trying to state the nature of reality as I see it, so lower your spear, friend ..
Does that mean Rails is bad? No! Every language has its merits and demerits. It's easier for a programming to learn them all than fight for a single language.
Perl has its own strong points, just like any other language.
"No-one is building anything new with it today."
Generalizations. So easy to make, and so imprecise nevertheless.
Thankfully, they are all unfounded.
While scripting has been the use case in the '90s, Perl is nowadays used for a variety of tasks, including complex desktop applications such as the Perl IDE (screenshots), web application frameworks (Catalyst), bioinformatics (extensively), content management systems (e.g. WebGUI), hierarchical wikis (MojoMojo) etc. and powers very large websites (IMDB, Magazines.com, BBC, Amazon.com, LiveJournal, Ticketmaster, Craigslist etc.).
More at http://www.wikivs.com/wiki/Perl_vs_Java#Common_criticisms
That's my experience. Do whatever works for you.
For most web development projects, PHP is fine. If you are looking to learn something totally new, why not go for something like Smalltalk, Erlang, Lisp or some other language that's quite different from Ruby, Python and PHP?.
If you are looking to learn something that will help your web development skills, then make sure you are very strong with Javascript and a framework such as Jquery before looking to other languages.
If you've written a PHP app, maybe it's a good candidate for rewriting in these languages. Having a problem space that you're intimately familiar with can reduce the variables to just the languages or frameworks themselves.