6 ms·
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 :)
- shippingcomps3 17y agoYou should start with Perl. Then think about doing Python or Ruby.
- kloncks 17y agoWhy Perl?
- deleted 17y ago[deleted]
- yr 17y agowhy not perl ?
- shippingcomps3 17y agoBecause Perl is the "glue" or "duct tape," if you will, of the internet.
- jamesbritt 17y agoThat was succinct observation in its day, but I hardly think it applies now. Things have changed a whole lot. That's not to say perl can't be used today, but its relative value has decreased. "Duct tape" is no longer the ambition to admire.
- shippingcomps3 17y agoPerl is the most resilient language. Even if things have changed, it will be back. With a vengeance.
- samdk 17y agoPerl may have once been the duct tape of the internet, but it's pretty solidly into its 'drying and peeling off' phase right now.
- mock 17y agoBecause as a PHP programmer Perl will have areas of familiarity which may make the learning process easier. In return, you will gain a greater appreaciation for why the PHP developers made the decisions they did by seeing how it was done in a language they borrowed heavily from. As a bonus you'll learn to use a language that is ubiquitous in all sorts of sysadmin tasks, and have another tool that you can use when PHP isn't the right one for the job. Finally, knowing Perl will allow you to use the huge wealth of CPAN modules available to help you solve almost any task. At worst it will enable you to port them to your language of choice.
- boggles 17y agoWhen you were advised to consider Ruby over Python, what reason were you given? Also, you may not be aware but this is an almost daily question on StackOverflow so I would advise looking there also.
- kloncks 17y agoThat Ruby is much more popular right now and used more than Python. Everyone has said Python is simple, simple, simple, though.
- Kliment 17y agoI find Python easier to get started with, because there is much less syntax to learn when coming from another language, particularly the ones you have been working with. Ruby does more out of the box for webapps, and does more with less characters, but only marginally, and it has a slight perl aftertaste that makes it a tad annoying at times when you're starting. In summary, I'd recommend you start with Python because you can learn essentially all of the language in very little time from the basis you already have. Ruby is definitely more hyped right now than Python, and it is awesome for web stuff, but starting with Python and then learning Ruby should be easier than the other way around. Or maybe it's just so for me.
- andrewcooke 17y agoeither is fine. they have much more in common than they are different. choose which ever makes most sense practically (for examples: if you know someone who would give you help + support, use the language they use; if you already use a certain host and they only support one of them, use the one they support)
- sailormoon 17y agoAs a fairly experienced Ruby on Rails developer I am receiving a couple of phone calls a week from recruitment companies (in Sydney). They are desperate for people. 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.
- shippingcomps3 17y agoRails is ok for now, but it's just a fad. You gotta go with Perl. You'll thank me later.
- sailormoon 17y agoYou might as well suggest learning COBOL. Yes, it's lucrative maintaining all those old apps. But where's the satisfaction? 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.
- chromatic 17y ago> "why on earth is someone learning Perl in 2009" 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.
- sailormoon 17y agoYeah, but what kind of jobs? Building something new? 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.
- gexla 17y agoThat depends on why you are looking to learn a new language. 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.
- samdk 17y agoBoth are good languages. I would suggest Python if you're going to be doing any scientific computing for its excellent library support (numpy/scipy/matplotlib especially), and Ruby if you want to being doing web application programming.
- gr366 17y agoEach language is relatively easy to get started with, and there are numerous free tutorials available on the web. Why not take two weeks and try each one out for a week? See how far you get building something and decide which is the best fit for you right now. 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.