Jef Raskin (former Apple human interface guru) has an opinion piece about poor interface design when it comes to IDEs. He has some points that all UI designers should investigate, but I think that things are also not quite as bad as he makes them seen. Right now, we’re entering the golden age of Java IDEs and programming tools. Compared to when I started working in Java a lot less than four years ago, IDEs have improved by ordes of magnitude. When I got started, the IDE that made my life easiest was the Java Development Environment for Emacs. These days, there are a number of good IDEs to choose from. There are also helpful tools like XDoclet that reduce the amount of code you have to write and make your applications more maintainable as well. There’s a long way to go in the world or programming tools, but it’s a very competitive market and real innovation is happening all the time.

At the end of the article, he talks about the high barrier to entry for today’s programmers compared to the good old days of the Apple II. In response to that, I’d point out Python. Just the other day I posted a bit of Python code here that will ping weblogs.com and blo.gs using XML-RPC. It was ridiculously simple and straightforward, and with Python I could have just as easily typed that code into the built in interactive shell. I think that with the modern scripting languages in many ways we’ve come full circle to the days when you could boot up your computer and just punch in a BASIC program and see it run. Except now these languages ship with massive libraries that enable you to type in a few lines of code that make lots and lots of really useful things happen, instead of just printing the same thing over and over or drawing a simple shape on the screen.