Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think the lesson for C++ was that well though out decisions in the small can lead to an overly complex and difficult to use language, an all to common result of design by committee. Probably the single worst decision for Java was that the programmer needed to be protected from his own stupidity. What we ended up with is a language that's overly verbose and encourages baroque design patterns.

Bruce discusses some of the well known bad design decisions in Java, such as no operator overloading (.equals(), bah), bolt on generics, primitives instead of being purely object based. And there are a ton of other design decisions that made for a bad language: explicit typing of functions instead of duck typing and specialization, introspection for methods but not variables, no first class methods, everything has to be in a class instead of everything is an object, etc.

In the end Java will fade away and the JVM will endure with newer and better languages. The one thing that no one envisions is a better Java unconstrained by past errors. I suppose that's because of the rigid control by Sun.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: