Post AESApIU76OpD5Edx1E by djsumdog@djsumdog.com
 (DIR) More posts by djsumdog@djsumdog.com
 (DIR) Post #AES8YC7HKIeOV8gBto by dlek@x0r.be
       2021-12-16T05:06:38Z
       
       0 likes, 0 repeats
       
       When I was a young man I tried to use Java and was frustrated that its "write once, run anywhere" promises were false and the results ugly and clunky as sin.Later on I tried to use Java and was frustrated at the depth of specialized libraries required for fairly common tasks.And now I'm just too old for this shit.
       
 (DIR) Post #AES8YCbPWGkm0amFrk by dlek@x0r.be
       2021-12-16T06:10:30Z
       
       0 likes, 0 repeats
       
       I should add that:If you have to use Java, for whatever reason, that's fine, and if that means you're stuck with this log4j2 issue, I'm sorry and I hope it goes okay for you.If you like Java for whatever reason, that's fine too, and again if you're stuck with this log4j2 issue, I'm sorry and I hope it goes okay for you.
       
 (DIR) Post #AES8YCzW4e2HDM3VRI by djsumdog@djsumdog.com
       2021-12-16T06:19:50.813534Z
       
       2 likes, 0 repeats
       
       @dlek I've never really had issues with Java. The "write once run anywhere" does mostly work. I have some pretty ancient Swing apps that ran on Windows, Mac and Linux without issue. (and most issues are with people not using the built-in file and path classes, assuming things like "/" or "\" as path separators. You get the same issue in Python if you concatenate paths instead of using os.path.join()) Java can have a larger memory footprint, although that's more due to the  massive pile of libraries loaded for most frameworks. Startup times are non-trivial, but all languages have tradeoffs. I prefer other JVM languages (Scala and Kotlin) to straight Java.As far as log4j; we've seen similar issues in openssl, bash and others over the past decade. Very few projects started in the past decade use log4j. Most use logback, as well as slf4j to combine log4j and logback configs.
       
 (DIR) Post #AESApI12qTZZd52ji4 by dlek@x0r.be
       2021-12-16T06:25:00Z
       
       0 likes, 0 repeats
       
       @djsumdog Yeah if you don't use the language's OS-abstracting libraries you're expecting magick.Swing apps kind of look like native apps, but they aren't as responsive and are typically in my experience buggy as hell.  The only platform they work well is Mac.  They might have gotten better, but IIRC MS eschewed Java and Oracle eschewed Linux so it was only Mac where Java GUI apps really worked to the initial promise.
       
 (DIR) Post #AESApIU76OpD5Edx1E by djsumdog@djsumdog.com
       2021-12-16T06:44:43.863501Z
       
       0 likes, 0 repeats
       
       @dlek Swing was super basic. SWT (used in Eclipse) was way better, but also way more complex and annoying to use. Java's lack of good GUI libraries is probably what aided in it being used mainly for wen apps/services.
       
 (DIR) Post #AESzowaVbqmaplDvf6 by dlek@x0r.be
       2021-12-16T07:07:05Z
       
       0 likes, 0 repeats
       
       @djsumdog Right, and I get the impression that for that developers that invest enough in that can't easily walk away from it after that.  Maybe they love it and don't want to.As a sysadmin I've also supported app developers whose deployments based on Tomcat or whatnot fall over regularly and have to be regularly coddled. I don't know if that was the developers' lack of insight into the intricacies of the software infrastructure or not, but it left me with an impression of flimsiness.
       
 (DIR) Post #AESzowxYEBDLzE0KZs by djsumdog@djsumdog.com
       2021-12-16T16:16:46.980426Z
       
       0 likes, 0 repeats
       
       @dlek Tomcat was pretty bad (and JBoss and WebSphere and all the other servlet containers). Live code-reloads in Java gets weird. Newer frameworks typically embed netty, which makes deployments way easier. A few years ago, I wrote a tutorial on embedding Tomcat, the same way Jetty was designed to be embedded:https://battlepenguin.com/tech/embed-tomcat-in-your-application/