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

I’m sure a lot of it comes down to taste and personal preference, but for me everything about java is just very high friction. I find the docs and standard library deeply unintuitive and hard to navigate, the language itself feels verbose, inflexible, and the spec for the language is very large and complex. The type system is inexpressive and overly limited. The applications themselves, by virtue of the jvm, feel deeply disconnected from the underlying system. I don’t like the fact that Java seems to assume I’m going to use an ide with auto complete and refactoring.

I’ve used a lot of languages professionally in my career: C, C++, Go, Perl, python, ruby, JavaScript, typescript, Erlang, Haskell, Rust, some Kotlin and Java. There are some languages I quite like working with (Haskell, C, Go) and languages I can use just fine but I’m not that fond of (python, JavaScript) and plenty of stuff in the middle, but nothing that makes me want to just walks away from the computer in disgust like the JVM languages.

Edit: a final though.

Really, our industry is pretty new and we’ve made a lot of mistakes. All of our languages have warts and deep flaws. Happiness in your career isn’t about finding something perfect, it’s about figuring out which flaws you can live with and which ones you can’t. I could go on about technical reasons but at the end of the day the JVM is just full of flaws I can’t just live with, and for whatever reason I’ve talked to a lot of other developers who feel the same way, and many who don’t.



Interesting points, and I have to say they do ring true. The type system is definitely limited and if you compare it to Haskell I understand 100% why you'd be frustrated. And the docs are overly verbose while simultaneously not being detailed enough.

For me, I'm currently at a point where a lot of these things are „known issues“, and they don't affect my day-to-day too much. I think the last time they did matter was during the Java 1.7 -> 8 switch, but I see what you mean.

It's funny that you mention not being fond of Python & Javascript, because those are the two most "mainstream" alternatives I thought you'd compare Java to, with plenty of warts themselves.




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

Search: