Separating the components that make up your view makes your Swing application more flexible, robust, and maintainable. But that's just a first step. You can also factor out the common elements that define the look for your application in the same way that CSS is used to style a web site.
I have often wondered how people learn to program today.
In the old days we had Basic and Logo, but what do kids use
today? The old standbys are powerful enough to make something for the
web (assuming they even exist) and nothing else has a simple
development environment for children. Perhaps we need something new.
I've been looking at integrating Apache and Tomcat on my PowerBook so that my dev environment more closely matches the box hosting my domain. Although I really do like open source, one of the biggest problems for me is that I always seem to need software that I have to build from the original source. This is one of the reasons I bought a Mac.
I recently set up a new computer. Installing the applications and getting everything working wasn't so hard - but they didn't feel quite right. I had to go through and reset my preferences and tweak the applications in those little ways that make them fit me - key bindings, font size, window location, ... the usual.
I was just recently faced with taunting task to revamping the transaction handling of the J2EE server without breaking it but improving performance and removing any resource leaks. Already two developers tried to do this but had problems to understand the existing code in the first place and so I failed, too.
P2P is how the internet was supposed to constructed. Instead we got an client - server architecture. So says this incredibly interesting and challenge-issuing report from the MIT Enterprise Technology Review.