Hacker News new | comments | show | ask | jobs | submit login

"what do you say to the users who are begging you to say no because they like the language as it is?"

Java had this problem with Generics. A sizeable portion of the Java community had a massive allergy to them because they'd previously been burned by C++ templates. Of course there was the typical language war response "you're just not smart enough", but no matter how many times the people railroading it in protested that Generics weren't templates the facts remained:

They looked like templates

They had lots of funny little side effects and gotchas (just like templates)

Nobody really understood them, and even if they did, nobody could explain them. See also:

Class Enum<E extends Enum<E>>

In other words, it looks like a duck, it quacks like a duck (etc).

It is entirely possible that with different syntax (not the C++ style angle brackets) and different keywords (extends in the above example is clearly different from the normal extends in an object context) there would have been less cognitive dissonance from the C++ refugees and less pushback.

But ultimately what it boiled down to was this: the JCP (java community process) was a massive failure because you couldn't vote against things. You could only vote yes, no was not even an option, and abstentions were ignored (and therefore useless). It is like Communism - they call it democracy, but there's only one party to vote for...




Yeah and the major problem with Java generics is they aren't more like C++ templates.

Today it is 100% clear that the naysayers were not only wrong about Java generics. They are wrong about generic programming in general. Unfortunately they managed to cripple Java before this realisation became obvious.


Actually, I despise Java generics and have a much higher tolerance for C++ templates. Just more proof that you can't please everybody :-)




Applications are open for YC Winter 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: