tags:

views:

62

answers:

1

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?

+1  A: 

The question is, why have Java and C# evolved to become more complex over time? The assumption is that they should remain static, because they were useful and simple the way they were.

The vested interests would not like to see their languages become redundant in an environment of other languages with superior capabilities and simplicity. There is pressure to innovate within the language.

However, every new feature added to these (arguably) legacy languages significantly increases the complexity. Generics in Java for example was a very complex change.

Synesso
Exactly, but wouldn't the industry prefer niched (low paid) programmers?
Captain Giraffe
I'm no expert, but I imagine the keepers of the languages are interested in selling platforms and servers.
Synesso