Live data from Hacker News

Java Turns 25 – Whats Next? [pdf]

oracle.com

251–260 of 286 posts

Re: Java Turns 25 – Whats Next? [pdf]

#251

Earlier quoted context omitted.

> Ironically, while Java was the original "write once, run anywhere" language, it never succeeded in that regard That's what people say, but I don't see that. The same Java code is extremely portable, from Windows, MacOS, Linux, etc, on both the server, cli, and GUI app side. It's just that its UI libs have historically been over-engineered shit like Swing.

I'm not saying Java code isn't very portable, and there are some notable exceptions (the IntelliJ/JetBrains products always are first to come to mind) of successful cross platform Java client apps. But much of the original late 90s hype about Java was its cross platform nature, especially in the browser, but Java applets and other in-browser Java technologies were never popular (consider GMail and other GWT apps were…

They were pretty popular actually. The problem was that browser makers started trying to kill applets off very early. Netscape supported them, but Microsoft / Sun had a huge falling out and they ended up pushing ActiveX very hard as a replacement. The dominance of IE assured that ActiveX replaced Java applets for a while, and then MS fell out of love with ActiveX too, so HTML+JS was all that was left.

Applets were very much a victim of various power struggles within the browser industry, combined with Sun's general lack of competence on the desktop - for instance, their online upgrade engines have always sucked. Though in fairness, nobody got that right until Chrome.

Re: Java Turns 25 – Whats Next? [pdf]

#252

Earlier quoted context omitted.

In my opinion, Java as a web language is good when you don't need to really understand what's happening (like in low-traffic situations). If concurrency isn't an issue, then the massive amount of libraries can help you a lot. In high-traffic environments, that ignorance punishes you. I've always felt Java and the JVM are of the mindset that you need a Ph.D. to even understand how it works or how to configure it, and…

In defence of Java, I read somewhere it's 25 years old ;-) Part of the reason for its success has been its strong commitment to backward compatibility, so it's to be expected that it might accumulate many ways of doing things. Python wisdom tells us this is often a Bad Thing. [0] I imagine Java's approach to concurrency and parallelism might be quite different if it were designed today. [0] https://wiki.python.org/mo…

I imagine Java's approach to concurrency and parallelism might be quite different if it were designed today.

Probably not, actually. Project Loom's initial goal was to rethink concurrency on the JVM from scratch. What they came up with was:

* Make threads really, really cheap

* Make thread locals work better (as scoped locals)

* Add a few Executor utilities to help you control sub-tasks better (structured concurrency)

It turns out that Java concurrency is pretty damn good already. It provides all the different paradigms you might want to explore, is efficient and well specified. Meanwhile they realised that many of the alternative approaches to concurrency are in reality trying to work around the high cost of kernel threads. When you make threads really cheap, a lot of the motivation for other approaches falls away and the existing set of tools in the JDK come to the fore.

Re: Java Turns 25 – Whats Next? [pdf]

#253

Earlier quoted context omitted.

Java code will run on the new ARM machines Apple will ship. Running your Docker code in the same environment is not going to be pleasant.

I must admit I am completely ignorant to how much of an issue this is in real life, but I'm also in the privileged position of having the backend code compiled and run on remote servers, rarely on my own machine. On the other hand, I'm a junior developer, so I might yet stumble on this problem's relevancy at some point. To be fair, docker is already a pain on my machine (using Fedora 32). I gave up on using docker at…

Apple Silicon dev machines do not currently run Docker at all, or any CPU-level virtualisation.

Re: Java Turns 25 – Whats Next? [pdf]

#254
post #145

Earlier quoted context omitted.

I find gradle nicer than maven, though it can be more complex. Does maven still have issues with snapshot builds and classpaths? I've managed to avoid Spring, everyone I know that's worked with it complains it's difficult to work with. For microservices I like simple, single-purpose pieces like sparkjava.

As a counterexample, springboot is the quickest thing to get start and yet allows you to do complex stuff. I for one, love it.

> springboot is the quickest thing to get start

What do you mean by this? Startup times, or developer onboarding?

Because I've had this conversation before if the latter. To me, Spring seems like the last gasp of "Enterprise" Java. Too much is implicit and obscure (aspect-oriented programming is an anti-pattern, IMHO), too much is configured (yuck, XML).

Each to their own I guess.

Re: Java Turns 25 – Whats Next? [pdf]

#255
post #243
post #65

Earlier quoted context omitted.

> Everything is OpenJDK now, forget oracle. OpenJDK is the name of Oracle's (one and only) Java implementation project (take a look at the logo at http://openjdk.java.net/ ). Oracle JDK is the name of the commercially supported product built from OpenJDK, and Oracle also distributes the JDK under a 100% free license ( http://jdk.java.net/ ). While OpenJDK has been the open-source part of the Sun/Oracle JDK since 2007…

There is so much risk associated with anything that Oracle touches, I suspect some very large organizations run the other way without really looking. Instead of Java, they switch to GoLang, and costs be damned. The real damage that Oracle caused by their Android lawsuit, and by their JDK licencing scheme change, will reverberate for long time.

Well, Google itself heavily uses Oracle's OpenJDK internally (as do Apple, Amazon, Netflix, Facebook, Microsoft, Twitter and many, many others), and have even forked it, contributed to it, and spoke about it at a conference at the Oracle campus [1] -- all at the very height of the lawsuit -- so they clearly aren't concerned. Whatever you think of that lawsuit, the circumstances behind it were so extreme (one company copies over 10KLOC from another in order to directly compete with it in a very lucrative market) that nothing like that had never happened before nor has happened since in the software industry.

> and by their JDK licencing scheme change

The JDK licensing change was that Oracle changed the JDK from part-commercial part-open to 100% open for the first time in Java's history. On the commercial side, the change was from part-upfront, part-subscription to just subscription, which cut the price for customers by a factor of 5, I think.

What's important to remember about Java is that it's huge, and many companies make money off of it, and so companies have an interest creating FUD over Oracle's involvement. I can't speak for other parts of the company, but there's near consensus among Java users that Oracle has been a better steward of Java than Sun, both in terms of technical investment as well as licensing.

[1]: https://youtu.be/DjOcfkhTZkM

Re: Java Turns 25 – Whats Next? [pdf]

#256
post #197

Earlier quoted context omitted.

Ironically if Java developers had used the built in DOM APIs instead of the Applet canvas crap, we probably would have had great SPAs a lot earlier.

> DOM APIs instead of the Applet canvas crap i wonder if it was because at the time, the different DOM api in each browser was so immature, that to unify it into a single api is too big a task. The applet+blackbox region for rendering is the easiest MVP. Of course, with hindsight, that turned out to be a piece of crap.

Isn’t that jquery? Seems surmounted by a few very talented people

Re: Java Turns 25 – Whats Next? [pdf]

#257

While my career has mostly been as an AI practitioner, Java was also very good for my career. Sun had a link for a year on their Java home page to a blog article I wrote on the Java world tour so for about 10 years I was the first search hit for “Java consultant” which was nice enough. Except for periodically updating my Java AI book [1] (5th edition was released July 2020), I don’t much use Java because most of my c…

Are the customers demanding work in Lisp creating new systems, or maintaining mature systems? I had assumed that the use of Lisp for symbolic reasoning and AI had largely disappeared. Is it making a resurgence?

Common Lisp is used for quantum computing research, writing educational software, web programming, semantic web, etc. It is a very general purpose language. I have written a couple of Lisp books which is probably why I get Lisp work.

Re: Java Turns 25 – Whats Next? [pdf]

#258

I'm surprised that GraalVM is not mentioned. I have strong suspicions that Oracle is lining up Graal to become the next default JVM, after watching some talks from core developers describing how fragile the Hotspot codebase has become. Graal would be a good way to encourage ML, given it has language support for Python. Perhaps Graal is just not ready for Oracle to show all of their cards at this point. Or perhaps my…

GraalVM is HotSpot. The SubstrateVM used in native-image has a lot of limitations and performance that can match regular HotSpot with C2 is something you have to pay for.

HotSpot is a pretty great codebase actually. It's very easy to read compared to the CLR. The issue with it isn't that it's bad code or fragile, it's just that it's very complex, but they're reducing complexity over time by removing obsolete optimisations (obsolete, or so they argue).

The SVM codebase is also nice but it's a very different model. Over time the codebases may be merging, as Graal the compiler gradually replaces C2. But that could easily take a decade.

Re: Java Turns 25 – Whats Next? [pdf]

#259

Java might be the most successful programming language. It is a solid choice among many different fields. It is used on huge infrastructure projects (Apache Foundation), governments, big tech companies such as amazon, ibm, google, apple for many large scale services. It can do web, ml, GUIs, it's still strong among academics. On top of that it offers a great programming experience with excellent IDE support and it's…

Ironically, while Java was the original "write once, run anywhere" language, it never succeeded in that regard (e.g. browser applets were never popular). Ironically, I believe Javascript has. I was pretty much exclusively a Java programmer for the first decade and a half of my career, before moving to Node and TypeScript. I don't think I could ever go back at the point. Most importantly, this is my first time where t…

> The ease with which engineers can go between front end and backend is an incredible boon that shouldn't be underestimated.

In my experience, the engineers that can do that and still produce solid code are very, very rare.

Re: Java Turns 25 – Whats Next? [pdf]

#260

I was at Adobe 25 years ago. And there were people running around saying "We need to re-write everything in Java! This way we can write it once, and it will run on Sun, Mac, Windows, SGI, everwhere!" Funny how that never worked out. Even the few Java desktop apps that don't look like 30 year old SunOS apps (IntellIJ is probably the best-looking Java app), have to have substantially different versions for each platfor…

I'm not sure IntelliJ is substantially different on each platform. It's basically the same app but bundled with a JVM. IntelliJ shows that Swing, even though it's old, is still a perfectly serviceable toolkit that can make competitively attractive apps in a cross platform way.
Post reply on HN