DEV Community

Cover image for My Journey to Appreciating Java in 2025

My Journey to Appreciating Java in 2025

Aabhas Sao on February 09, 2025

I always dreaded Java. I started my journey with JavaScript and was using it for backend with Node.js. I loved simplicity and versatility of javasc...
Collapse
 
leob profile image
leob • Edited

Have used it for many years, mainly because it's just being used a LOT in corporate environments and in big IT systems - Java, they often call "The New COBOL" :-)

Switched from being an "employee" to being a remote freelance web developer years ago, and now it's PHP and Javascript, haven't touched Java for a long time - I think there's very little demand (or opportunity) for remote freelance devs to do Java work, because it tends to be more for "in house" roles in corporate environments.

I believe that recent versions have picked up a lot of modern features (e.g. Functional Programming / FP style constructs a la map/filter/reduce etc) - but I'm not following it anymore, there's no incentive, and I don't really have a reason to.

But there's no denying that Java can be good for your career :-)

P.S. "... despite Java's popularity, running on billions of devices from mobile phones to POS systems ..." - I'm always a bit skeptical about these claims ... yes, it's installed on many computers/devices, but is it also actually used ? I think the last time I ran a "Java Applet" is more than a decade ago ...

Collapse
 
aabhassao profile image
Aabhas Sao

good point. Java is used highly by inhouse teams and those teams use java syntax and features from a decade back. But I have seen some modern startups and OSS projects using Java for backend. Checkout out kestra they are using java and micronaut for backend.

Collapse
 
leob profile image
leob

Right, I checked Kestra and that seems the kind of thing you'd want to use Java for (hadn't heard about Micronaut) ... yeah it's not only in-house and "corporate" where Java is used, but that's where it is used a lot - and also stuff like big financial systems, ERP systems, payment platforms - like I said, "Java is the new COBOL" :)

Collapse
 
charles_roth_8c0df94d211a profile image
Charles Roth

20 years of Java experience, here. Things to consider/learn:

  1. Google Guice for dependency injection. (Springboot: eww. Too much 'magic' IMHO.)
  2. Junit, unit-tests. See my lookfar.caucuscare.com/index.php/2....
  3. A wide variety of templating tools (for web interfaces). (I like Tapestry, but only used sparingly. Dated.)
  4. Read "Uncle Bob". Favorite quote: "If you've opened the debugger, you've already admitted that you've failed."
Collapse
 
aabhassao profile image
Aabhas Sao

@charles_roth_8c0df94d211a, thanks for the really high quality resource for junit. would try out guice for sure sometime.

Collapse
 
luisdanielmesa profile image
Luis Mesa

"Caused by chain" = stacktrace

I would advice against using SpringBoot, but I get why newcomers use it. We all used training wheels when we first started riding bicycles.

Check this: JumperCode

Collapse
 
divyamojas profile image
Divyam Ojas

For those thinking Java is similar to JavaScript because it is "java"Script 🤌🏻

Collapse
 
aabhassao profile image
Aabhas Sao

lol, yeah first time I thought that too. But JavaScript people were inspired by Java, so they named it JavaScript.

Collapse
 
luisdanielmesa profile image
Luis Mesa

...And Oracle owns JavaScript.

Thread Thread
 
aabhassao profile image
Aabhas Sao

ohh didn't knew it. cool fact.

Thread Thread
 
charles_roth_8c0df94d211a profile image
Charles Roth

Um, no, Oracle does NOT own Javascript. They own the trademark in the word -- but that's it. No-one owns the language, if anything the definitive standard is from ECMA, and the Europeans actually call the language ECMAscript.

Oracle DOES own Java, but other implementations of the language, and 99% of the standard Java library, have been declared as reusable/recreatable as "fair use" by the US Supreme Court. So many other organizations (notably Amazon) have their own implementations of Java -- but they stick extremely closely to the standard as defined by Oracle.

Reference: britannica.com/technology/JavaScript

Collapse
 
omak profile image
omak-oorzhak • Edited

Try Kotlin. It has a nicer syntax and has more features thanks to Kotlin Multiplatform.

Collapse
 
charles_roth_8c0df94d211a profile image
Charles Roth

(Liked. But it really IS Java underneath, and runs on the JVM.)

Collapse
 
dhanush9952 profile image
Dhanush

Thank you for the post Appreciating Java
50 billion+ devices run on Java.😄

Collapse
 
aabhassao profile image
Aabhas Sao

thanks @dhanush9952. sure Java has so many real world applications!

Collapse
 
prince_verma_09bc316d7790 profile image
Prince Verma

I love Java. Thats it.

Collapse
 
spopa profile image
spopa

as one who left java some 5-6y ago and would not look forward going back :), there's nothing in this article that should make one appreciate java. Ignoring the quarkus, spring, kotlin palliatives I think the main issue is the OOP itself, modern systems are less "heavy hierarchy of classes designed ahead by great luminaries" and more "dynamic smaller systems that can be upgraded on the go". Java works for the second as well, but seems clunkier

Collapse
 
charles_roth_8c0df94d211a profile image
Charles Roth

Compared to what? Which "modern systems" are you thinking of?

There are certainly plenty of public/open-source Java utility libraries that are "less heavy hierarchy of classes" compared to the original Java standard libraries.