Java at 30: How a language designed for a failed gadget became a global powerhouse
-
It's a cycle all popular languages go through. First only experimental applications and super opinionated programmers use it. Then everyone wants to use it for everything. Then it finds a niche where it excels and settles.
I remember Java, C++, Python, and JavaScript going through those phases as well. Currently, everything is Rust.
schrieb am 1. Juni 2025, 10:53 zuletzt editiert vonWhat is the "everything" that Rust is being used in? From what I've heard its being used in the same place you'd use C or C++, not in any other niches.
-
The language was initially called Oak after an oak tree that stood outside
Things could have been a lot different!
schrieb am 1. Juni 2025, 12:06 zuletzt editiert von"fucking oak what the fuck" still works so not that different
-
The language was initially called Oak after an oak tree that stood outside
Things could have been a lot different!
schrieb am 1. Juni 2025, 12:10 zuletzt editiert vonOakscript does have a certain ring to it
-
Oh, I know you can, but it's optional and the syntax is kind of weird. I prefer languages that are strongly typed from the ground up and enforce it.
schrieb am 1. Juni 2025, 13:11 zuletzt editiert vonPython is strongly typed, it's just not statically typed. Python with consistent type hinting is extremely similar to a statically typed language like C#.
-
Show me an Android app written in Java, and I’ll show you the line of developers ready to rewrite it in Kotlin.
schrieb am 1. Juni 2025, 13:14 zuletzt editiert vonSure, and Kotlin is largely syntax sugar for Java. It's certainly nicer, but the semantics are largely the same.
-
Python is strongly typed, it's just not statically typed. Python with consistent type hinting is extremely similar to a statically typed language like C#.
schrieb am 1. Juni 2025, 14:04 zuletzt editiert vonI would argue that without consistent and enforced type hinting, dynamically typed languages offer very little benefit from type-checking at runtime. And with consistent, enforced type hinting, they might as well be considered actual statically typed languages.
Don't get me wrong, that's a good thing. Properly configured Python development environments basically give you both, even if I'm not a fan of the syntax.
-
Sure, and Kotlin is largely syntax sugar for Java. It's certainly nicer, but the semantics are largely the same.
schrieb am 1. Juni 2025, 14:16 zuletzt editiert vonYou must not write much Kotlin then? It’s far more than sugar when a language fixes core issues in another.
It’s a modern, statically typed language that addresses many of Java’s longstanding limitations with robust type safety, expressive functional features, coroutine-based concurrency, and extensibility — all integrated natively. Interoperability with Java is a strength, not a sign of dependency.
Calling Kotlin merely syntactic sugar is like saying Swift is just Objective-C with prettier syntax — it misses the deep improvements in language design, safety, and developer experience.
-
I attribute Java's uptake to a large amount of marketing and support, which led to a massive ecosystem. Even a mediocre language like this one can find success when propped up like that.
schrieb am 1. Juni 2025, 14:22 zuletzt editiert vonI am going to be decapitated for this, but you're totally right.
You only have to look at Rust. An horrible language with a massive hype machine and an army of zealots pushing it everywhere.
I can't understand how people are complaining about the java boiler plate and its verbosity, while promoting Rust every time they can.
-
Open jdk is where it's at
schrieb am 1. Juni 2025, 15:40 zuletzt editiert vonYep, thanks to the AdoptOpenJDK project which really helped make OpenJDK builds available for all platforms. (It is now called Eclipse Temurin and Adoptium.)
-
I attribute Java's uptake to a large amount of marketing and support, which led to a massive ecosystem. Even a mediocre language like this one can find success when propped up like that.
schrieb am 1. Juni 2025, 15:41 zuletzt editiert vonFor me it's the tooling surrounding it that makes it nice.
-
schrieb am 1. Juni 2025, 15:46 zuletzt editiert von
You don't think the $500 million marketing budget Sun put towards Java has anything to do with its success? It was more than just luck.
-
You can annotate types in Python, and it's actually pretty nice when used with Pyright/Pylance.
schrieb am 1. Juni 2025, 15:49 zuletzt editiert vonBut nobody else does, and I need it more on code I am consuming than producing. In fact, many functions rely on being able to send various types for different behavior. Dynamic programming is crazy to me. It's like guessing. I don't know what type your code is accepting and I have to guess based on the name of read your code directly.
-
C++ is a monster. I'd suggest C instead to learn about these basic ideas.
schrieb am 1. Juni 2025, 16:31 zuletzt editiert von molecularcactus1324@lemmy.world 6. Feb. 2025, 22:42C++ has classes though and if you start with C and then try to go to other Object-oriented languages you’ll be a little lost. But, by learning C++ first, you’re pretty much learning C at the same time, you just need to avoid using classes.
-
But nobody else does, and I need it more on code I am consuming than producing. In fact, many functions rely on being able to send various types for different behavior. Dynamic programming is crazy to me. It's like guessing. I don't know what type your code is accepting and I have to guess based on the name of read your code directly.
schrieb am 1. Juni 2025, 16:51 zuletzt editiert vonI have the opposite experience, a ton of libraries I use provide optional types, and the handful that don't often have a good reason for it (e.g. numpy). Our projects at work have types almost everywhere, and it's pretty nice to work with.
-
I would argue that without consistent and enforced type hinting, dynamically typed languages offer very little benefit from type-checking at runtime. And with consistent, enforced type hinting, they might as well be considered actual statically typed languages.
Don't get me wrong, that's a good thing. Properly configured Python development environments basically give you both, even if I'm not a fan of the syntax.
schrieb am 1. Juni 2025, 16:58 zuletzt editiert vonWhat's wrong with the syntax? It's just
var_name: Type = value
, it's very similar to Go or Rust. Things get a little wonky with generics (list[Type]
ordict[Type]
), but it's still similar to other languages.One nice thing about it being runtime checked is you can accept union types,
def func(param: int | float)
, which isn't very common in statically typed languages. -
You must not write much Kotlin then? It’s far more than sugar when a language fixes core issues in another.
It’s a modern, statically typed language that addresses many of Java’s longstanding limitations with robust type safety, expressive functional features, coroutine-based concurrency, and extensibility — all integrated natively. Interoperability with Java is a strength, not a sign of dependency.
Calling Kotlin merely syntactic sugar is like saying Swift is just Objective-C with prettier syntax — it misses the deep improvements in language design, safety, and developer experience.
schrieb am 1. Juni 2025, 17:09 zuletzt editiert vonI've written a fair amount, enough to know it's a significant improvement on Java, but that it still suffers from the unnecessary abstraction in the standard library. And that's pretty much my main problem with Java.
Swift is a different story because the main issue with Objective C is the syntax.
-
For me it's the tooling surrounding it that makes it nice.
schrieb am 1. Juni 2025, 18:28 zuletzt editiert vonYes, that's part of the ecosystem.
-
This post did not contain any content.schrieb am 1. Juni 2025, 18:41 zuletzt editiert von
This dude came to my spouses work to do some sort of work/help (I don’t know the exact details) and someone wrote a doc he needed to review. It was a lot of work not just like a few notes but a proper doc and all he wrote back upon “reviewing” it was a thumbs up emoji!!
everyone was shocked lol, no feed back, no notes nothing just
-
Python is easy, but it can also be infuriating. Every time I use it, I'm reminded how much I loathe the use of whitespace to define blocks, and I really miss the straightforward type annotations of strong, non-dynamically typed languages.
schrieb am 1. Juni 2025, 18:48 zuletzt editiert vonTry 'Nim'. It is Pythonic language with static typing.
-
I used Java years ago for Android dev, but stopped when I stopped doing that. Every once in a while I'll get the itch to work on a new project, and always wonder if Java would be a good idea.
My hesitance is that I don't trust Oracle (and don't know to what extent they're involved nowadays), I'm not familiar enough with the ecosystem to know what is legacy crap to avoid, and I think it's generally seen as an uncool language, and I'm way too cool to be taking such risks.
schrieb am 1. Juni 2025, 18:56 zuletzt editiert vonOracle has nearly nothing to do with Java. OpenSDK is developed by the Apache Foundation.
-
The End of Windows 10: a toolkit for community repair groups - The Restart Project
Technology118 vor 12 Tagenvor 12 Tagen1
-
-
Anker recalls over a million power banks due to fire and burn hazards
Technology 14. Juni 2025, 06:031
-
Descubra Tudo o Que a 7BRWIN Tem a Oferecer aos Jogadores Brasileiros
Technology 12. Juni 2025, 11:181
-
Why Denmark is dumping Microsoft Office and Windows for LibreOffice and Linux
Technology 12. Juni 2025, 04:501
-
Google’s Privacy Sandbox is Dead. The Fight for Real Online Privacy Continues.
Technology 10. Juni 2025, 11:551
-
An analysis of X(Twitter)'s new XChat features shows that X can probably decrypt users' messages, as it holds users' private keys on its servers
Technology 10. Juni 2025, 10:161
-
Disappointed in Plebbit : I Really Believed in the Vision, But It Was All Just Talk
Technology 11. Mai 2025, 16:181