5 ms·
I remember the announcement, and being thrilled as I poured over the documentation and did some Java experiments. I didn't really get into programming it for m
by Communitivity 6y ago
I remember the announcement, and being thrilled as I poured over the documentation and did some Java experiments.
I didn't really get into programming it for my job until 1.1.4 though, and I remember being skeptical about the language's future when they changed the versioning a year later to Java 2, 3, etc.
I continued with Java as my main language on the job until 2017. I should note that my coding for work became a mix of Android Dalvik Java and J2EE around 2009, and then focused on Android from 2013 to about 2016, with some Elixir and occasional J2EE work (Java 8). In 2016 my main language at work became C++, with some Rust.
Revisiting Java and learning modern Java (Java 13-16) is one of my goals for 2021. That's driven by commercial necessity though. That is second to laying the groundwork for a full time Rust job though. Rust is the language that fills my heart, through and through.
- throwaway189262 6y agoI would say wait till Java 17. There's not a big difference from 11-15 and most of the new features are still in preview. Performance has been the big focus recently with new GC's, less memory use, and faster startup time
- ptx 6y ago> faster startup time Compared to Java 9, which was a big regression from Java 8 in terms of startup time. And Java 8 in turn was slower to start than Java 6.
- javajosh 6y agoI won't go past Java 11 because that's the last version that has an OpenJDK fork, AFAIK. I'm not a lawyer, but Oracle has changed the license for >11 that also gives me pause. I'm also very unhappy with Java's feature bloat: the JVM spec and JL spec used to be small and comprehensible, circa Java 5. Now they are both like 800+ documents. This dilutes Java's single greatest strength, which is a well-written, implementation independent specification. No other high level language has this. Python's specification, for example, is "read the CPython code". JavaScript + DOM (especially ES6 in modern browsers) has fulfilled the WORA promise on the client, and apart from a vast library of OSS libraries, I don't think Java is particularly distinguished at server-side. Spring? Django? Rails? Express? I mean, who cares at this point? They are all just processes that bind to a port and handle HTTP requests, with more-or-less the same trade-offs and dev experience. The biggest distinction with DX is "IDE vs text editor", not language/framework. I agree that Rust is a very exciting language, as is the general trend toward Clang/LLVM for new native languages. It seems we might finally be able to have our cake and eat it too. We'll see!
- jcelerier 6y ago> which is a well-written, implementation independent specification What good is this when roughly half of the java programs I had to ever use required the official sun / oracle jvm to work
- pjmlp 6y agoWebSphere has a tendency to work only with J9.
- parasubvert 6y agoOpenJDK is nearly the exact same code base as the Oracle VM, so this is highly unlikely. There are ISVs using Java that only certify the Oracle one for support reasons, but this is generally not for technical reasons.
- chungy 6y ago> OpenJDK is nearly the exact same code base as the Oracle VM, so this is highly unlikely. As of Java 11, completely the exact same code as Oracle JDK. The only difference is licensing.
- twistedpair 6y agoDoes that code depend on sun.misc.Unsafe?
- pjmlp 6y agoGPL with classpath exception is perfectly clear, everything else is the usual anti Oracle FUD. Amazon, SAP, Alibaba, IBM and Microsoft are more than comfortable with it.
- hjek 6y ago> I won't go past Java 11 because that's the last version that has an OpenJDK fork No. (Or how come I can do `apt install openjdk-17-jdk` on my Debian machine then?) > Oracle has changed the license for >11 that also gives me pause Yes, except that it's only for the Oracle JDK, not for OpenJDK.