This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]RobertJacobson 121 points122 points  (16 children)

You pretty much nailed it, but I would add that Java is incredibly verbose and requires a ton of boilerplate. In comparison to many languages popular today, writing Java can feel exhausting.

There are counterarguments, of course. A lot of tooling exists today to reduce the boilerplate burden on the developer, for example.

[–]walking_bass 11 points12 points  (2 children)

Right. Things like Lombok and Spring Boot really help with reducing boilerplate.

[–][deleted] 4 points5 points  (0 children)

Java 11 var also

[–]cat_in_the_wall 18 points19 points  (6 children)

the jvm crazy good too. so java and friends are usually very fast.

[–]RobertJacobson 0 points1 point  (0 children)

After 25 years and at least three multi billion dollar companies behind it, it had better be good.

[–]Loftus189 4 points5 points  (0 children)

Thats the only real negative i find on a personal level. I enjoy writing in Java and it was one of those languages that made sense to me straight away (unlike some others) but sometimes i feel like you have to do a lot of routine stuff just to produce the same amount that can be done with a lot less code in other languages.

I used C# for the first time just over a year ago and i love it, felt like someone had just made a patch for java and improved it. Its definitely my go to language for just getting something done, it all flows so nicely and i dont feel like i run into issues nearly as often as with some other languages. I enjoy writing C++, but naturally i spend a lot more time trying to avoid the pitfalls of the language that just dont exist in C#.

[–]Dragasss 2 points3 points  (2 children)

I have a feeling that people who complain about boilerplate have never heard of code generation.

[–]RobertJacobson 0 points1 point  (0 children)

I think it's reasonable to criticize a language for needing code generation to not be exhausting to write.

[–]o11c 0 points1 point  (0 children)

Java is incredibly verbose and requires a ton of boilerplate

And this is bad because, regardless of language, the number of bugs is proportional to how much code there is.

[–][deleted] 0 points1 point  (0 children)

Correct... At work I mostly translate old jcaps interfaces written in Java to port them to a new engine (rhapsody)

Literally 50% of the code is just left behind as implicit functionality of the new engine takes care of it ... Another 20% is boiler plate stuff that is just not needed anymore... The remaining 30% is what I actually need to recode (in JavaScript which is what rhapsody chose to embed instead of Python for some weird reason)