March 19, 2009 by Amit Bakshi

Web 2.0 is still quite the wild frontier, and it’s not always clear which horse you should back in any race.  Take programming languages; Ruby has been dominating Python for some time now.  Things, however, may be changing.  Google recently chose to support Python first for the Google App Engine, and our trends seem to show this fight isn’t over yet.

Ruby is a dynamic, reflective general purpose object-oriented language designed in Japan.  It supports multiple programming paradigms, and combines syntax inspired by Perl with Small-talk like features.  Founder Yukihiro Matsumoto “wanted a language that was more powerful than Perl, and more object-oriented than Python,” so he developed Ruby.

Python is another multi-paradigm language conceived in the Netherlands.  Simplicity and flexibility are central to the design of Python.  Python was designed to encourage the creation of extensions, rather than having everything built into the language core, allowing programmers to customize it.

Until recently, Ruby has been greatly outpacing Python.  Our oDesk job data shows that a year ago, Ruby jobs outnumbered Python jobs four-to-one.  Today, that lead has dropped to approximately two-to-one.


There are 1,838 Ruby programmers and 1,175 Python programmers on oDesk.

One possible reason for Python’s recent surge is Google’s choice of Python for implementing its Google App Engine applications.  Google’s App Engine allows you to run web applications on Google’s infrastructure, giving you stability and reliability, and also allowing you to utilize things like Google accounts.

The momentum appears to be with Python for now, and is likely to stay that way so long as Google favors the language. And since Python’s author, Guido van Rossum, works at Google, that’s not likely to change soon.  This fight’s not over, as Python clearly has a lot of ground to make up on Ruby.  But things seem to be going Python’s way today.

Amit Bakshi

Vice President of Marketing at LawPivot

Amit Bakshi is the Vice President of Marketing at LawPivot. He formerly served as Product Marketing Manager for oDesk.

  • mikemike

    I hope the ignoramus of America continues to use Ruby, which is convoluted and slow. I don’t want Python to get more popular, or my software won’t have an edge.

  • Pingback: Demand for contract freelance web gigs grows | Freelancing and Outsourcing Tips, Commentary, Analysis, and News from oDesk()

  • http://conceptualadvantage.com/ Damon Oehlman

    I have to admit, I was almost about to start prototyping a project (see https://url.odesk.com/~pzubv) in PHP or RoR because I felt that it would be too hard to get good python hosting (I’d already coded some elements in python).

    Then I crawled out from under my rock…

  • http://www.code4gold.com/forums/ Code4Gold

    I’ve always liked Python because like Perl, it’s a swiss army knife for Unix/Linux programmers who need more capabilities than a shell script or SED / AWK can offer. Like PERL, Python scripts could be easily moved from DEC, Solaris, IRIX and Linux systems with little or no modification.

    As far as comparing a programming language’s viability based on the number of job postings… I can remember back in the “dot com boom” when every headhunter wanted developers who could code Java and knew what Oracle stored procedures were. Never in my life did I see so many people getting paid $90K per year with benefits for never finishing an app, complaining their jobs sucked and worked on their own side-projects on company time.

    In my business, I’ve learned to go with what works. I use PHP for all my web frontends and some Perl scripts for background chores. Why fix something if it isn’t broken. That’s rule #1 of ethical programming and systems administration. Rule #2 is to always work yourself out of a job.

    Of course the internet is always in need of innovation, but not on my dime. That’s why I’ve avoided Ruby. Too much like Java, ASP, Cold Fusion, etc…

    One last thought – Even though I wanted to believe it a decade ago, unlike peanut butter and chocolate, “web based” and “object oriented” just don’t taste good together.