Back then I wanted to pick up a rapid prototyping language and couldn't decide between Python and Ruby. I asked wife for her expert opinion. She picked Ruby: python is a snake and ruby sounds much more exquisite.

Sounds good to me.

It's a pretty exciting time for people that enjoy writing software.

First, we see a proliferation of new, specialized programming languages that may be more suitable for a particular need than (relatively) "boring" languages of yesteryear. For years, OOP with C++ and Java seemed to be 95% of what people used and needed. Anything else looked less "enterprise-worthy". Today we see large software being built using dynamic languages such as JavaScript, Python, and Ruby. Consider Erlang if high concurrency is required of your application. Maybe try Scala to see whether its scalability claims are true. Feel free to mix (or replace) OOP with functional programming if the latter is more suitable to the task at hand; I've seen some extremely elegant Clojure code.

Application developers now enjoy an explosion of free frameworks and software packages. Need a messaging system? How about RabbitMQ? High performance cache? You have memcached. Developed a SQL allergy after many years of relational (and object-relational) torture? Try CouchDB, MongoDB, Voldemort, Redis, and <insert your favorite document database or key/value store here>. Like modular Java offered by OSGi but have to code in Flex? Take a look at Potomac.

At the end of the day, none of the above exciting choices really matters, of course, unless the language, framework, and tools chosen are appropriate for the software you are writing. It makes little sense to use a new language or framework for a production system only to experiment with it. A good developer also more than likely has a certain comfort zone in which s/he is most productive. But what happens when the most suitable choices are outside of my comfort zone? I promise to keep an open mind and jump out of the zone if required. Hey, I might learn a thing or two.




    December 2011
    July 2010
    December 2009
    November 2009