At the time, he was making $100,000+ and taking time off whenever he wanted. I think he made a lot more during the fixes that prevented #Y2K from becoming the expected meltdown, but he then ran into headwinds because foreign programmers were being imported to do the work for a lot less than what he was accustomed to earning, so he retired.
I thought about this back when the lockdowns geared up and state governors were crying about lacking the COBOL programmers to fix their unemployment insurance systems.
Believed affected: * cloud platforms
* enterprise applications ( which are often written in #Java )
* Minecraft ( which was where the #log4j flaw was discovered )
* #Android apps ( noted by @clacke )
Possibly, other "log4" libraries may have a similar flaw.
after a nuclear war, the remaining people will probably not be able to spin up a modern operating system on their improvised chips. How do you build a simple, reliable, legacy-free OS from scratch? What ideas đź’ˇ and techniques should be passed down to those people?
If we think hard enough about this, I think we’ll agree that closed-source systems are basically designed to be almost impossible for people outside the sponsoring organization to reproduce (for an example, consider [ReactOS](https://reactos.org/), which launched as [a project to produce a system compatible with Windows 95](https://reactos.org/wiki/FreeWin95) and [then changed to focus on Windows NT](https://reactos.org/wiki/ReactOS/History), and after more than 25 years, is still not capable of being a daily use system.
But we may also determine that most open-source systems are likewise not designed in such a way that reconstruction is viable. The Linux kernel is *huge* these days.
Additionally, in my opinion, they’d probably want to use programming languages designed for readability, ease of learning, and error-reduction first (that is, more like #COBOL than #C, more like #Java than #CPlusPlus, more like !Smalltalk and #Lisp / #Scheme than #Perl / #Raku and #JavaScript) and then performance and low-level access.
I think it is a mistake to assume that one could start with a modern version of #gcc or #llvm or #msvc … because it is not a given that the software itself and someone who knew how to use it (and update, modify, and adapt it) would still exist.
I have OpenJDK installed through my distro ... #Java is necessary for Jedit and Netbeans.
I have no need for things like #McKoi / McKoi DDB / #Derby / #HSQLDB / #H2 or even #Tomcat and #Jetty these days, but I'm very tempted to relearn some Java Servlet and JSP / JSF to create my personal site and using a Java based database as the backend.
Or #Velocity, if that's still around. I barely got to touch that, but it seemed to be a big step upward.
Still I was talking about things like someone wanting to donate a corporate sponsored JDK project to either Apache or Eclipse and Oracle nixing the whole thing. There are organizations now building upon DotNet partly because of that.
Oracle has largely been a good steward of #Java. The CentOSization of Java has been complex, and sure, there have been some Oraclisms, But the Java ecosystem is as healthy as it has ever been.
Part of the angst around Java over the last few years has simply been people groaning about change, but ultimately the modularization that came in 9, and the "rapid" release cycle is going to be good for Java. I mean, we are already years in at this point. I think it's obvious it has been good.
You can use our JDK/JRE builds if you like, but your distribution is going to have you covered, without having to deal with Oracle: https://www.openlogic.com/openjdk-downloads
There are lots of #JDK providers that aren't Oracle.
Of course, all of this has to be viewed from the Oracle lens. If Oracle didn't think this was the best thing for their bottom line, they wouldn't do it. Someone over there has convinced Larry that a heavy Java ecosystem is good for Oracle and that getting the JDK out in the open is good for that.
Then, of course, there's the API bullshit, and that really doesn't have much to do with Java at the end of the day. That's Larry having a pissing contest with Google. It could have ended up that they ended up pissing on the entire industry, but aside from a lot of unnecessary angst, I don't think they have really done any damage there.
@musicman I’ve mostly stayed away from the #Java world the last few years. A combination of not being allowed to use it at work and seeing what #Oracle is doing to anyone that is immersed in that ecosystem.
But back in the day, I remember experimenting with McKoi and Apache Derby as part of a Java based help desk app I was writing.
@geniusmusing Years ago, I was working on some #Java stuff. Seemed to be more complicated than necessary, but many of the things I was using at the time (XMPP server, various client / desktop software, Tomcat) were Java based.
Then three things happened:
1. $EMPLOYER made a strong turn into the Microsoft ecosystem, displacing most of the Java apps we used
2. ${NYSE[ORCL]} bought Sun … and got Java, MySQL, and Solaris, along with a few other things. As expected, Oracle’s changes were overwhelmingly negative … but then, Sun was having trouble making money, while Oracle probably owns the US Mint.
3. Soon after Oracle’s takeover, some really severe security holes started appearing in Java, eventually resulting in Java’s removal from browsers far earlier than notoriously insecure Flash’s removal
I don’t trust Microsoft much more than I trust Oracle, so Microsoft’s Java replacement ( C# ) is mostly out of bounds for me, though I like much of what I see in #PowerShell.
@musicman That I don’t know how many of them are #FLOSS, but tossing “Java thread dump analyzer” into DDG got me a few different products, including one by IBM and one by Spotify.
```
[root@pg-master 09:54:57 embed]# java -jar target/tomcat-9-embedded-1.0.4.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/coyote/UpgradeProtocol
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)
Caused by: java.lang.ClassNotFoundException: org.apache.coyote.UpgradeProtocol
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
```
```
[root@pg-master 10:07:51 coyote]# ls /root/embed/target/lib/org/apache/coyote/UpgradeProtocol.class
/root/embed/target/lib/org/apache/coyote/UpgradeProtocol.class
```
@musicman Here's a #Java language thought. In general, many of the complexity and boilerplate issues associated with the language could be worked around, but one issue cannot: The language is owned and controlled by Oracle.
It may be a fruitful field for several more years, but eventually, ORCL will extract every possible drop of profit out of the language and its ecosystem, bankrupting their paying customers and almost everyone else.
Both ASF (Apache Software Foundation) and Eclipse Foundation are in the line of fire and are likely to become casualties.