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

>In fact, I'm not sure I can think of a worse language than Java.

That's because you're inexperienced.



Fine. I can’t think of any other modern language that is worse than Java.

And why would you think I’m inexperienced based on that view alone?


Because it is just naive cargo cult of the kind fresh programmers (and/or ever-fresh programmers) repeat.

It doesn't take into account the purpose of the language, the ecosystem, the quality of the compiler, gc, et al, the evolution of the syntax and semantics, the available libraries, and so on.

It's just a knee jerk reaction (following old wives tales) of the "Java is verbose", "Java is slow", "Java is this", "Java is that", only staying at the surface level, and based on 2005-era enterprise Java coding practices.


Wholeheartedly agree. Kids coming out of college/university these days seem to think that if something isn't brand new/fresh, that it's old, outdated, useless junk. The truth is, Java as a language and as a platform (JVM) has stood the test of time. As has many other languages/platforms.

Everything has its uses and has its faults. The great thing about software is that, given enough time, money, and people, it can get better. And Java has.


All of those things are still true in certain contexts. Java is verbose compared to Kotlin or Ruby. Java is slow at initial JVM launch. Many 2005-era enterprise coding practices are still in very wide use for new projects.


>Java is verbose compared to Kotlin or Ruby.

True. But Kotlin was developed with 20+ years of hindsight, and Ruby is dynamic and pays by being slow for many of its higher level features that make it less verbose.

And even Java is much less verbose today, with "var" and "closures", and functional interfaces, and auto inference.

The main cause of verbosity in Java code was BS J2EE fashion (throw in all kinds of Patterns to make it "enterprise"). This -- the 2005-era practices as you say, are more or less a thing of the past now. Are some of them in use for new projects? In some sure, you can't immediately erase the influence of a decade of code and tutorials and such. But e.g. even J2EE itself in later versions got rewritten in a different style, Spring today leverages the new features and stuff like Annotations, verbose XML everything has fallen out of favor, etc.


> Many 2005-era enterprise coding practices are still in very wide use for new projects

Just because something is older doesn't mean it's not still useful. Many developers these days hold an odd kind of logical fallacy that if something hasn't been done in the last few years, it's outmoded completely. Many concepts still hold high value dating back 40 or 50 years.


I agree completely that age is not a bad thing, and that "trendiness" is not really a good thing. ButWhenYourClassNamesStartToFollowThisPatternAndOutlengthSomeNovels, or your app compiles fine but fails at runtime due to the use of annotations and erased types, you might be using enterprise Java.




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

Search: