The relative verbosity of programming languages isn’t the interesting thing; nor is typing doctrine. What’s interesting is the culture of frameworks and what different communities deem valuable.
My sense of it is that on Java, too many web frameworks—think JSF, or Struts 1.x—consider the Web something you work around using software patterns. The goal is get off the web, and back into middleware. Whereas a framework like Django or Rails is purpose-built for the Web; integrating with the internal enterprise is a non-goal...
There are so many things frameworks like Rails/Django do ranging from architectural patterns around state management, to URL design, to testing, to template dispatching, to result pagination, right down to table coloring that the cumulative effect on productivity is startling. I suspect designing for the Web instead of around it is at least as important as language choice.
It’s hard to explain sometimes just how time-consuming it can be to get Web things done on some Java frameworks.
Comments on “Bill de hÓra on Designing for the Web”:
I take -strong- exception to this view of condemning a programming language because of sucky libraries. The libraries in question here are simply the 'grandfathers'. Rails wouldn't be rails if Struts and JSF hadn't gone before, to highlight what works, and mostly, to highlight what does not. Standing on the shoulders of giants and what not.
Of course, established frameworks don't just go away without a 'fight' - so the fact that those older frameworks are still around is no slight to the language or the community that spawned them.
Take a look at GWT, for example. A completely new idea (at least relatively speaking), that hasn't just been focussed on java, but builds on java's unique strengths. GWT is a 'closed environment' - the compiled result makes the assumption that no further libraries or code ever enters the system. This kind of thing requires static code analysis and is thus impossible in languages that lean heavily on dynamic meta programming - turing's halting problem is rather annoying in that way.
Now, that's my opinion on the idea.
If I may comment on Bill de hOra's post, and in particular your quote, it's much, much worse.
Take, for example, the use of "Struts 1.x". I don't know much about struts, I've pretty much skipped the whole J2EE stuff, but struts 1 has been retired specifically because new versions are better. That's the way of technology; it improves!