Java at 30: How a language designed for a failed gadget became a global powerhouse (www.zdnet.com)
from cm0002@lemmy.world to programming@programming.dev on 31 May 07:36
https://lemmy.world/post/30536041

#programming

threaded - newest

tauren@lemm.ee on 31 May 08:53 next collapse

Java is a powerhouse of the cell global.

carl_dungeon@lemmy.world on 31 May 11:00 next collapse

I wrote Java and jvm languages for a long time. Mostly a good experience. Maven and later gradle, groovy and spring boot really made it more fun to use. Spock is still my favorite testing framework. These days it’s all python and node for me though- but using those languages and their popular libs really shows how much better dependency management and testing was in the Java ecosystem even 10 years ago.

sxan@midwest.social on 31 May 12:00 collapse

Maven and later gradle, groovy and spring boot really made it more fun to use.

There is no better example of “to each their own.”

I started programming Java professionally when it was still called “Oak.” I was working at a University doing distance learning stuff and applets were incredible. They were also the thin end of the wedge, although I didn’t know it at the time.

I watched over the years as a nice, concise, core library of a dozen packages swelled like a bloated corpse. The last core library book I contributed to was larger than War & Peace, a veritable tome just to describe the standard library.

And then tooling like Maven and Gradle came along, and frameworks like Spring Boot became unavoidable, and I found more of my time was spent not programming but trying to detangle some horrible maven build config. In XML. That’s about the time I jumped ship.

My philosophy is: tooling is fine, but if it takes over the project so that it’s impossible to build the project without it it’s not tooling anymore, it’s a framework - a platform - that you’re locked into. You get to spend your time debugging issues with the framework, over which you have no real control, where your best hope is work-arounds and crossing your fingers that upstream fixes their shit before your work-around becomes permanently engraved into the build.

It’s funny to me that what I saw as bloated distraction, a hateful corruption of simplicity onto layers of obfuscation that themselves became platforms needing maintenance and debugging, would have been a pleasant and even fun addition to the ecosystem.

carl_dungeon@lemmy.world on 31 May 18:04 collapse

XML sucks- gradle was a groovy DSL which was very concise and easy, it was quite nice!

ExLisper@lemmy.curiana.net on 31 May 13:39 next collapse

What I like about java is it’s consistency. It’s not a great language but it’s a solid tool. It’s no trying to do anything brave, just steadily moves in the right direction.

Python is the exact opposite. There are at least 3 competing tools for everything, multiple ways to install packages, python 3 is not backwards compatible. Just setting up the environment is needlessly painful. It’s not a bad language but a terrible tool.

chrismit3s@feddit.org on 31 May 21:40 collapse

Saying that about python, has one package index and a unified way of specifying dependencies, compared to Java, which has both Maven and Gradle, is quite funny imo.

Also in my experience, setting up the average python project with numpy, requests and pytest is way easier then setting up a java project with JUnit, etc…

PolarKraken@programming.dev on 01 Jun 04:04 collapse

Yeah, not trying to dunk on other commenter, but these don’t sound like complaints I experience with Python at all. Setting up the environment is a breeze with venv, package installation couldn’t be easier with basic pip, and I really like having a diverse ecosystem of multiple (often high quality) approaches to solving similar problems.

arthur@lemmy.zip on 01 Jun 12:51 collapse

Have you heard about uv? I’m loving it.

rekabis@lemmy.ca on 31 May 15:18 next collapse

What I find incredible is just how slow-moving and cruft-filled it has become.

For example, DotNet has had string interpolation since C# 6, back in 2015. That’s a decade, already.

Java recently yoinked their implementation because they just couldn’t make it work.

That’s damning.

Right now - ignoring the wider ecosystem and looking purely at the core language - I am seeing the very latest LTR version of Java as being on-par with C# pre-2010 in terms of continual material improvements and ease of use.

Yikes.

I still use Java, but… yikes.

pohart@programming.dev on 01 Jun 15:26 collapse

It wasn’t at all that they couldn’t make it work. They decided that their implementation was too cumbersome to use, so they’re reworking it

bradboimler@lemmy.world on 01 Jun 03:22 next collapse

I love Java and it remains my programming language of choice

XM34@feddit.org on 01 Jun 13:13 collapse

You poor fool

bradboimler@lemmy.world on 01 Jun 14:53 collapse

Honestly, why? The ecosystem is rich and developed. Libraries for everything. Great documentation. Fantastic tooling. What am I missing out on?

XM34@feddit.org on 01 Jun 16:39 collapse

Pretty much everything you just noted is incorrect! The ecosystem is a giant cestpool of badly written annotation hell, there is no usable documentation whatsoever, The tooling makes the experience barely better than living hell and writing Java feels like doing things worse than any other programming language out there because the language devs have severe C++ PTSD and refuse any useful programming concept from that language outright!

mlg@lemmy.world on 01 Jun 04:13 collapse

JVM and Android dalvik ART are still alive and well because if we could use clown circus Javascript to run WWW for 30 years, we sure as hell can use “My Big Fat Gabrage Collector: The Boilerplate Saga” to run all of our applications and backend infrastructure.