Both Java and C#, maybe particularly Java started out as elegant and as far as OO goes almost cobolesque appeal. Nowadays C# has lambdas, int? and all kinds of paradigms included in the language. Java is going down a similar path with frightening Generics syntax. Even in the Collections API one can find nightmare-inducing examples of extends ? derived from but really needs to implement and to call me you need to add onAction(). And of course Annotations adds to complexity just to hide complexity (Ok, I agree sometimes they are useful for boilerplate). For instance C++ 0x is still c++.
The tools provided by MS in particular aims to reduce coding, adding wizards and app interfaces for many tasks. Which also makes me wonder;
My question is: Why is this happening with the 2 most adopted languages?