Being a recovering C++ programmer who wrote some very clever code while younger and very dumb code while older, if you think Java gets out of your way perhaps you should try Scala or Clojure. Talk about getting out of the way, these LAn guages are something of a wonderment. Every day I get to code in them is a good day. It's true, you won't have the "power" of C++ but if you need that there's C.