Walk into any bookshop these days and in the computers section you’ll find a vast mass of books available. Filter out anything that isn’t to do with Web development and you’ll be left with a few main topics, two of which will be Java and .NET.
Now, think hard here. What have you built in the last three years that required the power of .NET or Java? 99% of you will probably be unable to think of anything, which brings me to my point.
Traditionally, people tend to see languages as a ladder. Languages like HTML sit at the bottom, CFML/PHP/ASP in the middle and Java/C#/C/C++. Developers feel (I beleive) that they need to work their way up the ladder in order to become a better developer. Now, before I go any further I will say that exposure to new tools and languages is always a good thing.
Now, back to web development. The majority of web applications I have seen are quite simple. Start loading a page, maybe do some queries and perform some actions on that data, and return a page. Your pages maybe much more complicated but I dare say that they still follow this rough pattern.
So, for such a simple pattern why do we web developers feel we need to know Java/.NET? Why do we feel we need languages that are so bloated with strict data typing and 100% object orientation etc for such a simple task as a web page? Yes, I am aware a few of you have to integrate with some vast backend systems, but you guys are more the exception. Why do we need to learn what is effectively a very complex language with a stack of functionality that we don’t need?
Well, in a couple of words, we don’t. This is why CFML, PHP, ASP exist, to make our lives simpler. If we all wrote our apps in the more complex languages, our development times would go up, pushing our costs up and so on - which is a bad thing.
Now, why am I banging on about this? Well, in short, I see this having an effect on web development in general. I see people who are building for the web (and possibly other arenas) moving away from .NET and Java to much simpler platforms that are quicker and easier to write. For instance, Ruby on Rails or Python. Both of these platforms provide much of the power of a platform such as Java but without the coding overhead. For instance, let’s compare Hello World in Java and Ruby:
Java:
public class Hello {
public static void main (String [] args) {
System.out.println(”Hello World!”);
}
}
Ruby:
“Hello World!”
Now, thats quite some difference, and if you add up how much less time that code takes to write you, then that’s quite a lot of money you can save. It because of this that Java developers are ditching Java in favour of simpler platforms such as Python or RoR.
So, next time you’re sat there thinking about learning Java/.NET just to make yourself feel better - think about learning one of the more abstract languages (of Which Coldfusion is one) - not only will you find it easy to learn, but you’ll also have more fun writing it instead of getting yourself tied up in knots worrying about syntax.

