Here’s a great post on the inadequacy of todays CAD tools for architects: Beethoven’s Piano.
While I fully admit that the tools are not yet where we want them to be (and ours isn’t different), I find that complaining about tools has a longstanding tradition, especially among software developers.
It’s easy to produce crap – with any tool. First and foremost, your results depend on your personal skills (and I’m not talking about your in-depth knowledge of J2EE here, but about code-writing skills).
That’s not to say that a great & adequate tool won’t propel you to new heights, but if you aren’t working on mastering the basics of your profession every day, changing the tool won’t make a difference. It may make things worse. I would even say that the 80/20 rule applies: 80% of the result is directly related to your personal skills, 20% of the result is related to the tool you use. Which one do you tackle first?
A point worth remembering if you’re involved in the daily flame wars about the merits of Java, C++, XML, Ajax, Flash, Ruby, Python etc.