Patrick has a dig at Rails. Hype deflation is a good thing (and RoR is over-hyped), but one thing he said in comments bothered me - that programming languages don't matter, at least not with respect to frameworks and tools. First of all, I want good languages, frameworks and tools - these are not mutually exclusive. Second, programming languages clearly do matter. For example the capability of the base language will heavily influence the requirements for any framework you build on top of it and the particular software patterns and idioms you need to use. You write enough C code and you end up wanting a VTable; you write enough C++ code you end wanting garbage collection; you write enough Java code you end up wanting funargs. Each time, someone will build a framework or a library to support something that will end being part proper of another language. A framework is a patch for a programming language. A framework is also a way of dealing with impedence between a programming language and its environment - in particular with respect to how data is modelled. For example, the plethora of Java web frameworks probably comes down to a mismatch between object oriented languages and web architecture - this, in much the same way objects mismatch with relations or XML, but there is better awareness in the Java world about those two. Frameworks provide leading indicators of what developers want to get their work done. The signs with Java frameworks indicate developers want for support for function passing, easy introspection, inverted dependency management, and object runtimes that are essentially REPLs. Finally, Patrick says he plans to a better job of promoting OpenSymphony. No argument there - OpenSymphony is consistently one of the best Java OSS foundries. WebWork, Quartz Sitemesh, and OSCache are all excellent....