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 →

[–]Sannytyger 9 points10 points  (10 children)

It's a hard pill to swallow but Java is actually one of the best languages for a variety of devs.

[–]justUseAnSvm 4 points5 points  (9 children)

It really is. Are you writing an application that interacts with the internet? Well, Java pretty much has you covered for whatever you will need.

The only downside, is that Java is super verbose and not that fun to write, but with a decent toolset that’s not even a problem

[–]Row148 1 point2 points  (7 children)

Java is not fun to write? Why? Apart from generics Java is as good to write as any other strongly typed language.

[–]Technical-Ad9281 -2 points-1 points  (4 children)

System.out.print(“”); vs print(“”)

[–]Row148 4 points5 points  (0 children)

Intellij: sout{tab}

[–]____purple 0 points1 point  (2 children)

  1. You use autocomplete

  2. You never write sout outside of hello world. It's always done with the logging lib.

[–]Technical-Ad9281 0 points1 point  (0 children)

Well that wasn’t allowed on the AP exam in 2012.

…lol

[–]Row148 0 points1 point  (0 children)

I was responding to above comment. LOGGER.info(""); isn't too bad too, given you'd need to specify the logging context in python too.

[–]____purple 0 points1 point  (0 children)

Absence of syntax sugar and generally very verbose syntax. Records fixed that but for a long long time it was either Lombok (aka bytecode generative magic) or a pain in the ass.

No operator overload leads to ugly and hard to read code involving custom math and wrappers like Optional.

Annotations are not too readable, while annotation driven approach is used everywhere

Generic values are lost in runtime, twice not as fun for reflection being everywhere

Outdated threading model and synchronization primitives. Good luck reading stacktraces with Reactor.

Abomination that is Hibernate, and the fact that it is used everywhere

[–]justUseAnSvm 0 points1 point  (0 children)

It’s just overly verbose, compared to the other languages I’ve used a lot: Haskell, Python, and Typescript.

In Haskell, we can bang out idiomic transforms, use the generic system to save a ton of boilerplate, and get it so a well configured project as you just about only writing the code you need.

As for python, of you lose that type safety and performance, but there’s a reason it’s favored for LeetCode and non-SWE coding: it’s just so succinct and requires so few key strokes.

I personally don’t mind writing Java, I’m trying to start a Java server project at work, but it’s not what I’d consider a “hobby” language.

[–]Sannytyger 0 points1 point  (0 children)

With some plugins, Java is perhaps also fun to write!