Java at 30: How a language designed for a failed gadget became a global powerhouse
-
For me it's the tooling surrounding it that makes it nice.
Yes, that's part of the ecosystem.
-
This post did not contain any content.
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.
Try '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.
Oracle has nearly nothing to do with Java. OpenSDK is developed by the Apache Foundation.
-
Kotlin is now the language of choice for Android.
Rather Dart and Flutter.
-
I'm still wondering what Java's niche is, it seems like it does everything, but nothing particularly well. I guess it found a home on Android, but I don't think that's because it's particularly well-suited for it.
Enterprise programming and portable GUI applications.
-
Java was the new hotness when I was in the middle of my comp sci degree. The biggest benefit I found was javadocs. Other languages had shit documentation that usually didn’t match reality in comparison.
Yes. JavaDoc was/is good.
There, I said something nice about Java. I'm giving myself a gold star, and going to stop typing.
-
Java is nothing like Rust. Java was always sold as a low skill programmer language, Rust has a steep learning curve. Java tooling has always sucked where Rust has excellent tooling pretty much since 1.0, Java is extremely verbose and needs a lot of tools to generate code to be productive at all, Rust is very expressive and most people write the code by hand or just use built-in language features. Java has a culture of "who care about that backtrace in my log as long as the app does what it is supposed to" while Rust has a culture that very much cares about correctness more than performance. Java was always driven by CEOs pushing it on people from the top while Rust is very much a language programmers try to push into their companies from the bottom.
Also, none of the languages you listed have a very particular niche that differs from what they were used early on apart from Java which is now mostly used on the server and used to also be used in GUI applications more.
Java always had excellent tooling. You are mixing something up.
In General programming languages are not pushed by CEOs but come up in grass root movements by developers. -
And Java is very much considered legacy in the vast majority of projects that use it.
Then it would not be constantly evolving with more than a new release per year.
Do you know anything about gigantic Java ecosystem?
Guessed so ... -
There's always Kotlin. Of course I never understood the desirability of a VM language in the first place, why not just compile for different architecture?
JIT compiling and byte code morphing and instrumentation.
For instance data base persistence is usually done by instrumentation tools, that add instructions to keep track about transactions and modified objects, or new objects that need persisting.
And endless more things. -
Then it would not be constantly evolving with more than a new release per year.
Do you know anything about gigantic Java ecosystem?
Guessed so ...Yeah, I know that the vast majority of Java applications out there are stuck on ancient versions of the JVM and spew back traces in their logs as if they bought them in bulk.
-
Rather Dart and Flutter.
Until Google kills it
-
Hasn't been updated since 2018. Does it still work?
i honestly don’t know. i’ve read about it here and there but never actually tried it
-
Java is IMHO one of the most underrated platforms outside of enterprise environments.
Most people also forget, that Java is not only a language, but also a platform, an ecosystem and active research is applied to many parts of Java.
Concerning Oracle: OpenJDK is actively supported by very different but big and capable companies (IBM, Amazon, Eclipse Foundation...). The quality of the language, libraries and documentation needs people which are payed to work on this, full time.
Bring to this the free IDEs one can get for Java - Eclipse and Netbeans are a little bit old school, but offer everything to build/debug and develop complex software.
Java is not my favorite programming language, but when I want to write interesting software and ensure it will be running for the next decade w/o significant changes, Java is really hard to beat.
Of course, in hindsight we know how to do a lot of things better as they were done in Java. Still, what other open source Language/Platform/documentation with the backing of capable companies and really independent and interoperable builds are out there?
One last note to all people which were damaged by Java in university or school: Usually the teachers/professors/lecturers have no real world experience of software development besides the usually university projects, and for the usual university projects which basically means getting small to midsize projects to run Java is total overkill.
Don't confuse this with real world software projects in the industry, which are mission critical and need to work a decade from now on. Java was always a bread and butter language, but one which learned from other languages and even the verbosity makes sense, once one dives into code written a few years back by another person.
My 2 cents is that it would have flourished a lot longer if eclipse wasn't stretched so thin like using a very thick amorphous log that is somehow still brittle? And ugly? As a bookmark.