Did I send this to the wrong list? If so, could someone please redirect me?
On Fri, Oct 31, 2025 at 2:34 PM Mark Yagnatinsky <[email protected]> wrote: > In the olden days, it was pretty common to make apps that supported two > launch modes: > 1. entry point in main() created its own window using JFrame or whatever. > 2. But also extend Applet so as to run in the browser. > > These days, the second mode no longer works because no browser supports > applets. > But the first mode still works fine. It would STOP working if the applet > API were removed. > (In particular, class loading would fail if the JVM can't find the parent > class.) > > Normally, when we talk about removing APIs, there is a simple bit of > messaging that goes something like this: > 1. This is hopefully a simple code change (e.g., stop extending Applet, > since it does you no good anyway). > 2. If you're not ready to make the code change, stay on an old version for > now > 3. If you're not going to be ready soon, use an LTS release. > > There's a cluster of vague implicit assumptions buried in such messaging, > such as: > 1. The application is actively maintained, or at least there exists a > person or group of people nominally in charge of maintaining it. > 2. The user and developer of the application are one and the same person, > or at least know each other or have some sort of business relationship or > SOMETHING. > 3. In short, it assumes that if the application doesn't run, the developer > has some reason to care. If the developer doesn't care, it's presumably > because the app has no users and hence nobody cares. > > In the case of the applet API, this is all largely false. > There are people who once upon a time put a cute little applet on the web, > and also made it runnable standalone. > If anyone happens to find this useful to them, then all the better, but > those people are not customers, just like someone is not your customer just > because they happen to read your blog. > In other words, if these cute little former applets stop working, the > original author has no incentive to care and might not even notice for many > years. > > But even though these are all unmaintained, it does not mean they are > unused! > They may indeed have users, possibly users who find them indispensable! > But those users may not have access to the code, and may not be > programmers even if they did have access. > To those users, removing the applet API means that these apps no longer > work on the latest JDK, and they have no one to complain to. > > For a while, they can stay on old JDK, but eventually this becomes harder > and harder as old JDK versions may not support new operating systems and > CPUs and stuff. > (Not everyone knows how to set up a VM and an emulator and stuff.) > Also, some people may be too nervous to run an old JVM that hasn't gotten > security updates in a long time. > > Conversely, consider the cost of keeping these APIs. They would still be > deprecated. > Nobody is filing bug reports against them, since they are unusable anyway. > They are not "literally free" but the maintenance burden for the OpenJDK > team should be only marginally higher than the maintenance burden of dead > code. > > Thoughts? > > Thanks, > Mark. >
