PHP, python, perl, ruby - which to use?
Hi All,
I know this is probably an age-old debate, but I need help deciding. Has a winner emerged as the clear definitive choice for quick ramp up time and scalability? I'm seeing a lot of buzz around Ruby on Rails. I need something can eventually handle huge volumes of traffic and DB intensive tasks.
disclaimer: I'm not a backend developer....I'll be outsourcing.
14 comments
[ 7.1 ms ] story [ 50.9 ms ] threadAlso if you are planning on bringing on someone else, there are more php developers available to choose from and possibly you might get better pricing due to the number of developers out there (I could be wrong on this).
Aside from that, I have a strong personal preference for Python.
Ignore language choice for now and just get the MVP done.
That said, Ruby seems to have the quickest turn around times. But it depends 100% on what you are gonna be building, you can't choose the tool if you don't know whether you'll build a house or a boat.
As much as I've loved it for many years, in 2011 I can now safely say "Don't use Perl."
Python and ruby are probably both acceptable, though I personally don't like ruby very much. You'd be hard pressed to go wrong using Python, considering the widespread adoption and flexibility inherent in the language.
Oh, and one more time just to be sure you got it: Don't use PHP.
Really? In the past 18 months I've (very conservatively) doubled my productivity at least twice thanks to improvements in the Perl ecosystem. The only reason I'd tell someone "Don't use Perl" is if I didn't want competition.
For a lot of workloads, though, Python is better or equivalent, and probably easier to find devs for.
The only problem I've had with Perl programmers is that a lot of the more casual Perl programmers (those who aren't exclusively Perl) tend to not keep up with the (significant and important) advances in Perl from the last 2-3 years.
As for the rest? Ruby on Rails was super hot a year or so ago, because it was a new concept in simplicity for certain types of web apps. However, Perl and Python both have comparable frameworks that are just as good now, and in the minds of a lot of people, better. Rails does have a bit of a reputation for limited scalability, compared to Perl and Python solutions.
Realistically, the scalability of your application will be limited by your database design and application architecture to a far greater extent than the language you use. In all but a few special cases, Perl, Python, Ruby, and eve PHP will be fast enough, assuming you don't create bottlenecks with the application design.
Personally, I would go with Perl. I like the language, I love the rapid advances and direction it's taken in the past couple of years, and I think Moose and Catalyst are awesome. However, it sounds like this is for something of a startup, so the language you write the app in should be whichever one the developer writing it is most comfortable with. You want them to be at maximum productivity, and that'll happen with their preferred language. Find the right person, then pick the language.