As a Java developer by day (server side, not client side applications), I would love to join in or counter your complaints, but they are too abstract for me to understand what it is that you&#39;re complaining about. My main problem with Java is its future in Oracle&#39;s hands. Another problem would be the slow pace of language improvements. That problem is somewhat minimized by groovy in the short term. In the long term, as always, I&#39;m exploring other languages. Are there languages that address the problems you have with java, but that also fill the same niche of large-team development? More precisely, languages that inhibit a team members ability to do something &quot;clever&quot;/unexpected and allows them to focus on the business requirements? I&#39;ve always enjoyed python for that reason; &quot;there should be one, and preferably only one, obvious way to do it&quot;. However, I don&#39;t really like python&#39;s lack of static typing for non-trivial, multi-developer, projects. Not exactly an insurmountable problem, I know, just a personal preference.<div>

-Steve Brown</div>