This is tangential and possibly too open ended to be productive but worth a shot anyway. Why is Java so popular? I know of a major Silicon Valley company that's migrating their backend to it. Why Java over other languages? Or maybe there's not really other viable options? I'm speaking as someone who spent the last 6 years focused on frontend web technology.
I think it has a relative speed performance over languages that are interpreted (runtime). It also has an ecosystem of tooling to monitor and profile built both into the JDKs and by teams across Silicon Valley (eg first class bazel support). I’m in one of these companies now, and while I’m certainly productive using Java, it’s also got huge downside in the community which these companies don’t really care about. Neve…
Java 18 / JDK 18: General Availability
81–90 of 304 posts
Re: Java 18 / JDK 18: General Availability
#82This is tangential and possibly too open ended to be productive but worth a shot anyway. Why is Java so popular? I know of a major Silicon Valley company that's migrating their backend to it. Why Java over other languages? Or maybe there's not really other viable options? I'm speaking as someone who spent the last 6 years focused on frontend web technology.
To echo others: relatively good performance, incredible tooling/deployment infra (really best-in-class), intercompatibility with tons of other languages built on top of the JVM such that it can be functional/do actors/whatever your other weird approach is, relatively high productivity due to a large library base (not just the standard library but also a huge amount of stuff written to support android apps), and ease…
cough Microsoft did Typescript, actually
Re: Java 18 / JDK 18: General Availability
#83Earlier quoted context omitted.
Thanks! So why would I pick Oracle's implementation?
If you need to run Oracle apps like EBS. They only work on their release, not openjdk. Side note: Avoid EBS at all costs if you can, unless you like spending money on consultants and like crappy obfuscated processes.
Re: Java 18 / JDK 18: General Availability
#84Earlier quoted context omitted.
"Open Source" but not free to use as you wish. The Oracle builds require a commercial license.
Maybe I'm wrong, but I don't see that called out anywhere. I don't believe that's true anymore, but correct me if I'm wrong. For reference I double checked here: https://www.oracle.com/java/technologies/downloads/
https://blog.netwrix.com/2021/12/02/oracle-java-license-chan...
Re: Java 18 / JDK 18: General Availability
#85Earlier quoted context omitted.
Because Java is stable and mature, has well-understood performance, is statically-typed, has a proven track record when it comes to backwards compatibility, is reasonably fast and has lots of library and tooling support. Additionally lots of people know it. Some complain about verbosity. It's really a non-issue particularly in a modern IDE and not worth making a language decision over. Not everything has to be new an…
Definitely an issue in 8. My hack is to call everything an `int`, write the statement, and go back and let IntelliJ handle the proper name, adding the import, etc. I understand though, that in more recent versions of Java this is taken care of for you.
myService.getSomething().var
and press tab, it will autocomplete it to
Something something = myService.getSomething()
Re: Java 18 / JDK 18: General Availability
#86Is there a reason to use Oracle's closed-source Java implementation instead of the opensource implementations? Asking as someone who's ignorant about Java. edit: per comments below, Oracle's Java is open-source too these days.
Re: Java 18 / JDK 18: General Availability
#87Earlier quoted context omitted.
Java is great, but here's a surprise: if (str1 == str2) { // oops }
If you actually understand Java, you'll understand why this is wrong. Only newbies have confusion about this, most of which dissipates when you actually learn the language you're working with. Tired of this 20+ year old "flaw" being used as cannon fodder.
There's a reason newer JVM languages like Kotlin use == as an alias for equals instead of reference equality.
Re: Java 18 / JDK 18: General Availability
#88This is tangential and possibly too open ended to be productive but worth a shot anyway. Why is Java so popular? I know of a major Silicon Valley company that's migrating their backend to it. Why Java over other languages? Or maybe there's not really other viable options? I'm speaking as someone who spent the last 6 years focused on frontend web technology.
Re: Java 18 / JDK 18: General Availability
#89Re: Java 18 / JDK 18: General Availability
#90Earlier quoted context omitted.
This one looks interesting: "JEP 400: UTF-8 by Default": https://openjdk.java.net/jeps/400 It sounds like a good idea, but I can imagine lots of downstream breakage, some of it not immediately obvious, with apps that make bad assumptions. Edit: The risks section of the linked doc above does explain some of that, and there is some notable risk.
> It sounds like a good idea, but I can imagine lots of downstream breakage, some of it not immediately obvious, with apps that make bad assumptions. You're not wrong, which is probably why they did it in this release. JDK 17 was an LTS release, and 18 isn't. The next LTS will be JDK 21 in September 2023: * https://www.oracle.com/java/technologies/java-se-support-roa... This presumably gives folks times to adjust bef…