@scame, вполне себе можно. если бы были лямбды, вывод типов (типа var x = 1), проперти как в C# (а чо? если уж городить костыли типа java beans, то почему бы соглашение о наименовании методов насильно не закрепить в компиляторе) и нормальные генерики (которые не проебывают информацию о типе после компиляции) — было бы меньше мата. А то получаются поистине простыни кода. Но надо отдать должное, среди языков, компилируемых в байт-код, java одна из самых быстрых, и api стабильный.
хотя лично я люблю сишечку и ocaml (там pattern matching).. а c++ — это вообще жуткая зараза. нет единого стандарта на mangling имен, темплейты криво реализованы почти во всех компиляторах (external template с декларацией и реализацией в разных файлах в g++ в принципе нет, в msvc, вроде было). а делать обертки для других языков вокруг плюсов вообще тихий ужас.