28 ms·
Where's Java primarily used these days?
by consoomer 3y ago
Where's Java primarily used these days?
- andrelaszlo 3y agoElasticsearch and Minecraft :)
- jlnho 3y agoEnterprise ETL/CRUD stuff and (some) native Android applications.
- yankput 3y agoAndroid doesn’t follow the Oracle Java though, right. So all these new features are just not there, right
- jlnho 3y agoNot yet, I believe they currently support everything (or nearly everything) up to Java 11.
- bad_user 3y agoThe compile-time features end up being supported. The runtime features (e.g., invokeDynamic) less so. OTOH, Android would benefit from virtual threads, too, which is one of the reasons they've jumped feet-first on the Kotlin train (and Kotlin's coroutines are pretty well designed).
- charcircuit 3y agoIt uses their compiler javac. Then the class files get compiled into dex files for androids runtime.
- belter 3y agoI think the question is more where is not...
- jlnho 3y agoThe world "primarily" is important here. Sure, you _can_ use Java for embedded and even real-time stuff. Some games are written in Java, etc. But no one would say that Java is the primary language of choice in such domains.
- belter 3y agoAgree. Will leave the comment up for my eternal shame.
- bad_user 3y agoJava has been used for soft real-time systems, such as payment processors or real-time bidding. For a GC-ed language, its latency guarantees can be pretty OK due to having good garbage collectors and runtime optimizations. But, yes, obviously it can't be used for systems where latency is a matter of life and death, like operating the breaks on a car.
- _old_dude_ 3y agoOr a nuclear power plant https://www.quora.com/The-license-agreement-of-Java-says-You-can%E2%80%99t-use-Java-to-run-a-nuclear-power-plant-Why-do-you-think-SUN-cared-to-incorporate-this-point https://www.quora.com/The-license-agreement-of-Java-says-You...
- kaba0 3y agoThere actually are special, hard real-time JVMs that are used in missile defense systems. Do note that hard real time is not about performance (and as computers are so fast, you really don’t need much time for millions of calculations), but the guarantee of executing it in X time. But it does require very special engineering.
- pgwhalen 3y agoAgreed. And there are big answers of course: data science, web front end, embedded, etc. But when you exclude those things, it does leave a huge swath of "generic back end" software where Java has a large if not dominating presence.
- _ZeD_ 3y agoeverything web related?
- rank0 3y agoPretty much everywhere! I bet every single company in the S&P 500 has Java code somewhere.
- yankput 3y agoFrom my personal experience: All banking lives on Java. All Alibaba and its Asian offsprings (like Lazada) is Java. Some big enterprises moved from Java to Go (I know of Shopee).
- kaba0 3y agoAlso, Amazon cloud, Apple’s server infrastructure, a huge chunk of Google’s as well.
- deleted 3y ago[deleted]
- eddtests 3y agoI think most corporations use Java, probably "primarily" Java too.
- marginalia_nu 3y agoI've built my search engine in Java. It's very good for backend/server stuff in general. Robust to a fault, reasonably fast, excellent tooling, very stable ecosystem.
- capableweb 3y agoBeing pretty fast for a relatively simple user experience is one thing people use it for: https://www.techempower.com/benchmarks/#section=data-r21&test=composite https://www.techempower.com/benchmarks/#section=data-r21&tes... Sure, Rust and C++ is probably faster when used naively, but I'm sure you'd have a harder time develop stuff in those languages. Personally I'd probably reach for Rust before touching Java with a ten-foot pole, but people have different preferences for how easy a language should be to pick up, and if you're used to OOP and C-like languages, Java is pretty easy to pick up.
- x0x0 3y agoEven ten years ago -- and it's only gotten better since then -- you could use java to managed hundreds of gigabytes of memory with thousands of threads, and it would sit there and just do it with uptimes of half a year or more, while taking an absolute beating. It's really well-built tech, with a very nice distribution story: no docker mess, no scribbling all over the OS, etc. Once you install the jvm, you can just ship one file -- jars are just renamed zip files, so you can add all dependencies to just one file. I used it for servers. I wish writing it were as nice as ruby or python, but java is really well built. If you haven't tried it, you should give it a whirl.
- KronisLV 3y ago> Where's Java primarily used these days? I've seen a lot of enterprise-y webdev projects use it for back end stuff (Dropwizard, Spring Boot, Vert.X, Quarkus) and in rare cases even front end (like Vaadin or JSF/PrimeFaces). The IDEs are pretty great, especially the ones by JetBrains, the tooling is pretty mature and boring, the performance is really good (memory usage aside) and the language itself is... okay. Curiously, I wanted to run my own server for OIDC/OAuth2 authn/authz and to have common features like registration, password resets and social login available to me out of the box, for which I chose Keycloak: https://www.keycloak.org/ https://www.keycloak.org/ Surprise surprise, it's running Java under the hood. I wanted to integrate some of my services with their admin API, seems like the Java library is also updated pretty frequently: https://mvnrepository.com/artifact/org.keycloak/keycloak-admin-client https://mvnrepository.com/artifact/org.keycloak/keycloak-adm... whereas ones I found for .NET feel like they're stagnating more: https://www.nuget.org/packages?q=keycloak https://www.nuget.org/packages?q=keycloak (probably not a dealbreaker, though) Then, I wanted to run an APM stack with Apache Skywalking (simpler to self-host than Sentry), which also turns out to be a Java app under the hood: https://skywalking.apache.org/ https://skywalking.apache.org/ Also you occasionally see like bank auth libraries or e-signing libraries be offered in Java as well first and foremost, at least in my country (maybe PHP sometimes): https://www.eparaksts.lv/en/for_developers/Java_libraries https://www.eparaksts.lv/en/for_developers/Java_libraries and their app for getting certificates from the government issued eID cards also runs off of Java. So while Java isn't exactly "hot" tech, it's used all over the place: even in some game engines, like jMonkeyEngine, or in infrastructure code where something like Go might actually be more comfortable to use. I actually think that universities in my country used to have courses in Pascal and then replaced it with Java as the "main" language to use for introduction to programming, before branching out into C/C++/JS/Python/Ruby/.NET etc. based on the course.