I ran across a blog post (Ruby is beautiful – but I’m moving to Python) by David Jacobs that struck a cord with my feelings and experience on Ruby. I’ve been using Python for over a decade, and Ruby for about five years. I’ve used Ruby in a variety of applications & systems including the usual web-applications (Rails), hardware simulators, protocol analysers, embedded controllers (Arduino), SPAM blocking engine, and more. I really tried to move to Ruby for all my scripting needs, and I’d like to use it for more projects, but to do so means re-creating the wheel, to a large extent.
Many of the platforms & libraries that I’ve started with already have Python interfaces (OpenCV, OpenSceneGraph, LIBSVM, just to name few; David mentions more). Another (+) for Python is the ability to compile and run (PyPy). Python appears to be a very favored language of Google (Guido Van Rossum works for them). It’s fast, and just plain works. On the (-) side for Ruby, as one of my applications has grown, I experience regular crashes in the sqlite3 database interface to a 200MB+ file (records = Reject.find :All, :Order => “ip”). As you might also know, documentation support for Python is typically better than Ruby. Both languages are undergoing major transition, Python to version 3.0, and Ruby to version 1.9; transitioning can be bumpy, especially if you depend on many packages.
BTW, a friend of mine is selling his electronic check processing company. The software is predominately written in Python (VeriFone Point-Of-Sale code, I wrote in C). If you have a couple hundred thousand USD burning a hole in your pocket, check out Zmax Solutions.