[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


Janitor acceptance emails will be sent out over the coming weeks. Make sure to check your spam folder!


[Advertise on 4chan]


Asking all retards in /g/
Do you know any other use for Java other than Minecraft
>>
enterprise bullshit tech debt? idk
>>
>>109418113
this and android
>>
>>109418113
You could say this not only about any other computer language ever written, nor even any language ever written, but any abstraction ever conceived of by the human soul
>>
I think Java is pretty good because
>It's verbose
>Works on both linux and windows easily
>If you want to export an app you can just create a jar file and execute it with java -jar file.jar
>>
Java is massively used in enterprise backends. literally millions of codebases.
anyway writing Java itself is dumb, write Clojure instead. Clojure can trivially call any Java code. also, you can use Clojurescript to compile to Javascript. also, you can use Babashka to write Clojure in lieu of shell scripts. also, you can use ClojureDart to deploy Flutter applications.
>>
>>109418076
Safe, robust and performant backends as used in banking or any large company really. Netflix heavily uses Java.
But also desktop apps, see Jetbrains IDEs or DBeaver. The default theme sucks,but the Jetbrains one is open source (Flatland).
>>
>>109419006
*Flatlaf
>>
>>109418076
Gamedev is actually one of the domains where Java is used least which makes it funny that the best-selling game is made in Java.
>>
>>109418076
unironically high frequency trading and exchanges. but you need to manually manage memory
>>
>>109418870
>Java is massively used in enterprise backends.

Yet haven't seen any java yet in the biggest enterprise backends. Go? yeah, c#? heck I've seeb pythong backends used in enterprise projects., Java? Even mobile app developers are moving towards dart/flutter, I legitemately have not seen a single line of java anywhere
>>
>>109419415
I have only seen Java on the backend. Funny how that works when you apply for positions that match you techstack.
>>
>>109418312
Except debt of course
>>
>>109418870
>write Clojure instead

Clojure is a functional lang, not imperative like Java. It may have better ergonomics in some scenarios, but the way you program in a functional lang is vastly different from doing the same in an imperative lang. It will be a bigger headache to use Clojure over Java than something more sensible and familiar like Kotlin or Scala, both of which also have JVM bindings and are imperative.

As for OP's question, enterprise and legacy systems are definitely the biggest use case for writing Java. But for new stuff, the sensible choice would either be Go, NodeJS, Python, or Rust.
>>
>>109422595
lol. no sensible person recommends pyshit and jeetscript for enterprise software.
and enterprise is not the opposite of new. new enterprise software is written every day in Java.
>>
>>109422950
also Go and rust lack the ecosystem of Java's size and maturity. Rust is too low-level as well.
the only viable alternative to java in that space is C# which you didn't even mention.
>>
>>109422950
OP likely asked in the context of personal/hobby projects, not enterprise. I'm well aware that both C# and Java are very common in enterprise and have the libraries and support to back them. In terms of the lack of maturity in Go and Rust, yes you are correct in that regard. There is indeed less mature libraries and tooling in both languages. However, it is much more convenient to develop and use those libraries than Java. Go mod can source directly from GitHub repositories without a CI build system and Maven repository. That alone is why most of my dev work uses Go instead of Java nowadays. Im not as familiar with Rust, but I imagine Rust cargo also has the ability to do what Go mod does.
>>
File: IMG_20260801_020040.jpg (63 KB, 697x412)
63 KB JPG
>>109418076
Java chads, why do we dominate Apache Foundation projects?
>>
>>109418076
SAP
>>
>>109423766
a lot of those projects are libraries and frameworks for Java
and Java programmers actually use libraries and not reinvent the wheel for everything
>>
>>109423159
It's a nice feature of cargo/go mod, but most companies want to review dependencies, at least for compatility/breaking changes/license. Cargo often has improperly licensed crates. For instance the crate is marked MIT, but depends on GPL code if you enable some feature or build for some specific platform.
Maven/Gradle can definitely source from github and build, but you'd likely need to review/test the final binary.

Java libraries are the easiest to use because they're compiled once for all arch/platforms, and that also makes testing easier because you test inside the jvm.
This implies that everyone is using the exact same binary, meaning that issues are easier to reproduce and patch.

That's why I usually see rust as less mature for webshit/entreprise, but I like it nonetheless
>>
>>109418076
Six thousand gorillion devices run Java, anon.
>>
>>109418272
this. kotlin is for retards.
>>
>>109419024
That's just because Notch was a basement hacker who only knew Java. Bedrock is probably C# and probably targets .NET Framework which is why it hasn't been ported.
>>
>>109423766
Had Apache been born 10 years later it would have been something else. Python maybe. Or Scala.
>>
I never see java projects. it's always python, cpp, or rust
>>
File: 1785524170585.jpg (98 KB, 667x515)
98 KB JPG
>>
>>109419415
This is like a pastry chef saying "Yeah I don't think tomatos are actually used in cooking at all, I've never seen it. Seems like all cooking just uses sugar, fat and food coloring"
>>
>>109424713
I never knew Maven/Gradle to be able to source from GitHub like that, where I can have it pull the source down and build artifacts on device. I was under the impression that you had to compile using CI and publish artifacts on a Maven repo to use them. Perhaps things have changed since last using Java and Kotlin. I remember this being a major pain point for me if I wanted to make custom libraries.
>>
>>109425393
maven/gradle are turing complete dsl.
just like cmake/make you can create needlessly complex build pipelines.

java has the benefit that you can have the compiler run some code that produces source code for the compiler to use, like a build script or rust's build.rs root file, except it's integrated into the language instead of the build system:
https://docs.oracle.com/javase/8/docs/api/javax/annotation/processing/Processor.html

thus, you actually need to do logic in the build system.
IIRC, gradle has something close to cmake's add_subdirectory (a dir which can be the target of a git clone/submodule task)
>>
File: stupidfrogposter.png (243 KB, 800x800)
243 KB PNG
>>109425253
use case for cooking with tomatoes?
>>
>>109422425
This assumes value has any objective meaning, which is also false, so you can say this about debt too
>>
>>109425637
that's not how that works.
time has an objective value
>it's almost like scarcity is like a real tangible thing except it's totally not bro you can just get more scarcity
touch grass
fucking faggot
retarfd
>>
>>109425036
python is 4 years older than java. scala was never that popular on the grand scale.
>>
>>109424806
>That's just because Notch was a basement hacker who only knew Java.
I'm pretty sure he did gamedev for a living.
After Minecraft he did game jam streams where he made little games from scratch in a couple of days and you could tell that he knew what he was doing.
>>
>>109418076
Google does
>>
>>109418076
I use languagetool to spellcheck the smut I write
languagetool is written in java
>>
outside of android, i have used those

https://en.wikipedia.org/wiki/Ghidra
https://en.wikipedia.org/wiki/I2P
https://en.wikipedia.org/wiki/LibGDX
https://en.wikipedia.org/wiki/Old_School_RuneScape
>>
File: 1781542280728789.png (110 KB, 608x439)
110 KB PNG
>>109418076
>Do you know any other use for Java other than Minecraft
minecraft mods
>>
>>109418312
>bow and arrows
checkmate
>>
>>109425393
you can always hack it using the maven-antrun-plugin, but why inflict that pain on everyone using your library, just build it and push it (+sources +javadoc) to maven central / your company repo like a normal person
>>
File: poster.jpg (229 KB, 600x900)
229 KB JPG
>>109418076
you could also play this
>>
nearly every big company runs Java in production
fuckload of shitty Java code is ran when you buy your groceries
>>
>>109422595
Modern Java attempts to be mostly functional but Clojure will be a big leap.

Imperative is not an opposite of the functional paradigm, you can write imperative functional code (see old Common Lisp code) and you can write in a declarative manner in a procedural language.
>>
File: 8s6p3clqiytb1.png (460 KB, 1365x767)
460 KB PNG
>>109418076
PokeMMO was made in Java. Never played it, but it looks like 12 y/o me would have loved it.
>>
>>109418076
reading old forum posts on this topic is so fun.
>>
>>109418076
>you guys. srsly.
>>
>>109418076
runescape
>>
File: computer2.png (729 KB, 895x558)
729 KB PNG
>>109436146
oh yeah i played that one a few years ago and it was really interesting
i'm too old for grinding shit all the time like mmos demand you to do, but this one is designed in such a way that have to provide the roms themselves so that can play through emerald or platinum normally but with other players around for interacting or trading or battling or whatever. so it's like revisiting the games with some modern spin. really cute project
>>
>>109436484
not sure if it's a java thing but the broader is that the game runs on a single core isnt it?
>>
>>109418076
Completely useless. Mogged by C#
>>
>>109418712
I like java but JVM seems unnecessary these days.
A lot of the general java hate is from it being used for the wrong type of apps. It was always a pretty crappy experience when used for desktop Gui apps compared to native libraries.
>>
>>109438282
Not a Java thing. I think it's an OpenGL thing. It's supposed to be hard to make multi-threaded.
But Mojang announced recently that they're moving to Vulkan.
>>
BiglyBT uses it and I run it on top of graalvm and it's fast as fuck. It will utilize 100% of my machine in parallel really well regardless of the task. hashing with the CPU, doing I/O with the network or disk, etc.
I really like it as a user and as a developer it makes me consider learning something like clojure to take advantage of the various JVMs.
I've also considered how Java as a language handles splitting things up.
I write in Go but in a more functional style and I sometimes draw parallels to how my pkg API designs end up and how Java modules used to be defined. But in Go things are a lot more implicit and less boilerplate for that when using things like interfaces, and its even better (imo) once you start doing functional patterns and utilizing generic types.
But in a sense the granularity of how interfaces, functions, types, etc. are typically laid out in the code bases for those languages seem somewhat similar, for better or worse. And then both of them have since implemented more functional features in their syntax. The JVM takes that concept to the extreme since you can just have multiple languages all interoperating despite different syntax, same as with like dotnet. Or in non-vm languages, you'd be using dynamic libraries for that kind of cross language interop.

vm languages are interesting for their runtime optimizations too. It's cool that programs can (implicitly) dynamically tune over time of their execution. Of course you could explicitly do this kind of thing, and maybe ahead of time, but that requires measuring and doing it where applicable versus letting the vm do tracing, etc. to figure it out on its own to recompile those segments of the code as if you had done PGO manually.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.