The other night a colleague of mine, Spencer Herzberg, gave a great presentation at the Source Allies, Inc. weekly staff meeting on the Python programming language.  He extolled the benefits of Python, especially as compared to Java.  Which made me think, why am I only using Java?

When I began my IT career in the mid 90’s, I had a mentor who instilled in me the prevailing theory at the time – programmers should focus on one language.  You were considered much more valuable if you knew one programming language very well rather than several programming languages only so well.

More recently, this philosophy has changed, mainly due to the explosion of programming languages that run on either the Java or .NET platform.  These programming languages have features such as dynamic typing, functions, and closures.  Most of these modern programming languages are abstracting away the common and mundane code we have to write.

Examples include Groovy, Scala, Closure, Jython and JRuby for Java and F#, IronPython and IronRuby for .NET.  So instead of having one tool for the job, we now have a whole toolbox at our disposal.  That’s why polyglot programming is becoming a much more prevalent practice today.

Yet many companies still only let their staff use Java or C#.  This is like a plumbing company telling its plumbers that they can only use a pipe wrench.  Does that make sense?  Of course not. I’d want to use the best tool for the job, wouldn’t you?

So are you only using Java?