I’m Promiscuous, I’ll Admit it

I am faithful to my wife, but, when it comes to software, I am promiscuous. I have to try everything, or at least read about it. That is my nature. However, it is also smart for business. That is how you stay ahead of the curve – or, at the very least, keep up with change.

Some software catches my attention on its merits. I realize that all developers may not agree with me. I also realize that some things may take a while to catch on. For example, I love Python, and I love the Python community. In the circles that I run in, this means nothing, but I would use Python a lot more if my clients were open to it. I won’t even try to convince you.

I am also drawn to DB4O, as I have mentioned before. I am also drawn to Restlets, and I am using them in a personal project – I think of Restlets as the equivalent of Cherrypy. I can’t say enough about Cherrypy, but, I am unlikely to be able to use it on my current project. My current project for a government client is based on Java, and I stand a good chance of introducing DB4O and Restlets.

My current project depends on a database that is controlled by a server team that restricts my access to the production server. Basically, it is hard for me to get at the production database to make changes. However, I want to add some new functionality that requires new tables. I do not want to struggle for turf with the database guys. It is easy for me to deploy a JAR; therefore, I am going to base my new functionality on DB4O. I will use Reslets just in case we ever have to scale the application.

However, I did not set out to write about Reslets or DB4O. Sometimes, one is forced to come terms with a technology because it is popular. Ruby on Rails is such a technology. I may love Python, and I may be very interested in Python based frameworks like Turbogears and Django, but the rest of the developing world seems interested in Ruby on Rails.

It may take me a long time for me to convince someone in this unadventurous government town to let me build something using Turbogears, but Ruby on Rails might be an easier sell. It is an MVC framework that IS NOT based on Java – now that make it cool. The code I am currently working on was developed using EJB 2.0, but that approach proved too complex – more than that, it was overkill. Ruby on Rails has gotten the attention of a lot of developers who have become unhappy with Java.

My advice to a young developer would be to settle on a platform, and begin to learn as much as possible. If you are a .NET developer, and you are starting out, stay in that world. If you are using Spring and MySQL, stay in that world. It is better to deepen your understanding of how to plan, how to model, how to architect and how to code without complicating things by exposing yourself to too many programming languages.

My advice to a more seasoned developer is: be promiscuous. Break out of your way of thinking by exposing yourself to different ways of working. If you have been using SQL Server for years, play with MySQL. If you have been using XML for everything, try YAML or JSON. If you have been writing code on the back-end of web applications, learn about AJAX and write some client side code.



Leave a Reply