Live data from Hacker News

Greatest Java apps

blogs.oracle.com

141–150 of 194 posts

Re: Greatest Java apps

#141

To this list we could also add Cassandra, ANTLR, Spring Framework, JUnit, Jetty, Tomcat, Android etc. The list continues. The beauty of Java is not Java/Programming language - but JVM. It inspired people to make other languages such as Scala or Kotlin.

And Clojure

And groovy, and surely more that I’m not remembering

Re: Greatest Java apps

#142

Earlier quoted context omitted.

> It's really not great. Could you provide some more information on what it was not great?

For games, probably the worst thing about Java, especially if you're still on Java 8, is the garbage collector. Its pause times can be brutal. This won't be noticeable for games that aren't too hard on memory, or games where framerate doesn't really matter, but it was definitely noticeable (and annoying) in earlier versions of Minecraft. On Java 11 or later, I wouldn't expect it to be nearly such a big deal. At least…

The "Java is bad for games" mindset is in part just historical bias. Performance and GC are thrown around as shallow excuses for comparing idiomatic Java with game design C++. Actually applying methods to reduce memory pressure like using arenas, and accepting vectors to mutate instead of creating new ones solve most of the GC penalty you paid for not having to think about it while prototyping. Large servers in java minecraft patch the server to do just that, and they operate well. I think the biggest barrier for Java in Games is the stigma and lack of resources relative to C++.

Re: Greatest Java apps

#143

To this list we could also add Cassandra, ANTLR, Spring Framework, JUnit, Jetty, Tomcat, Android etc. The list continues. The beauty of Java is not Java/Programming language - but JVM. It inspired people to make other languages such as Scala or Kotlin.

I don’t know if I’d celebrate Spring... and Oracle would rather Android use “real” Java, not Dalvik. The JVM was nice at the time, but I feel that languages like Scalia and Kotlin exist because Java was too conservative - and many of Kotlin’s great features had to be implemented using hacks and tricks to work-around the JVM’s now-primitive type-system. Also note that Kotlin can now target other platforms besides the…

That other popular Java-platform languages exist indeed shows that the Java language is too conservative for some, but that 90% use the Java language shows that its design is in line with what most people want.

And the CLR is about, oh, ten-fifteen years behind OpenJDK in compilation, GC and low-overhead deep profiling and observability. OpenJDK's C2 compiler is pretty much on par with clang in terms of optimisation [1] -- ahead on some, behind on others -- and in terms of sheer innovation and potential, its Graal compiler is probably the biggest breakthrough in compilation of the decade.

[1]: https://youtu.be/0yrBuPiGk8I

Re: Greatest Java apps

#144
post #42

I'm planning to get a Masters degree in CS, and it bothers me that the program I chose uses Java as the primary language. They have an awesome theoretical curriculum, but it looks like I'll have to use Java to complete all the practical tasks. I'm a Node/React web developer, I want to build a SaaS startup, and I'm not really interested in writing Java apps, I doubt I'll ever want to use it for something. Do you guys…

There's a long career ahead of you, and if you ever work at a large company, or even if your startup grows so that its backend needs to really scale, chances are you will be using Java. Its combination of performance, productivity and observability is hard to beat. Many companies start off with some other platform and then adopt it as they grow.

Re: Greatest Java apps

#145
post #38

So what's funny to me is how Oracle here is bending over backwards not to give Google credit for pretty much anything. It's actually hilarious. I laughed at Eclipse Collections. What? No mention of Guava, even though it's used way more. It's practically part of Oracle's copyrighted Java API. but of course the most hilarious omission is, of course, Android. And you can say "blah blah Dalvik VM blah blah" but... it's J…

Android isn't Java. Java is a specification of a platform (a set of them, really) and Android doesn't come near to conforming to it.

Re: Greatest Java apps

#147
post #143

Earlier quoted context omitted.

I don’t know if I’d celebrate Spring... and Oracle would rather Android use “real” Java, not Dalvik. The JVM was nice at the time, but I feel that languages like Scalia and Kotlin exist because Java was too conservative - and many of Kotlin’s great features had to be implemented using hacks and tricks to work-around the JVM’s now-primitive type-system. Also note that Kotlin can now target other platforms besides the…

That other popular Java-platform languages exist indeed shows that the Java language is too conservative for some , but that 90% use the Java language shows that its design is in line with what most people want. And the CLR is about, oh, ten-fifteen years behind OpenJDK in compilation, GC and low-overhead deep profiling and observability. OpenJDK's C2 compiler is pretty much on par with clang in terms of optimisation…

I would just say that usage isn't equivalent to want. I certainly can't put a number on it, but there is definitely quite a few of us that use Java because we are required to, not because it is what we want or the best tool for the job.

Re: Greatest Java apps

#148
post #3

I'd nominate Bitwig for this. The UI is written in Java and is one of the nicest DAW interfaces around. The stuff they've been doing in the modular grid lately is particularly impressive. The fact that it's in Java means it works great on Linux too. https://www.bitwig.com/en/home.html

Does it use JavaFx for its UI? If not do you know what library/framework they use?

Based on this it sounds like the GUI is custom and that they don’t really use an existing framework.

https://www.reddit.com/r/Bitwig/comments/4c2zoh/what_program...

Re: Greatest Java apps

#149

Lucene? Android :) Tomcat? Maven? The Minecraft coding community is amazing. What they get done without documentation is stunning.

I guess that they wanted to go down the route of "hardly controversial and highly popular" applications, that's why they didn't include Maven. Granted, Maven is an essential piece in the Java ecosystem, yet it seems that many developers are highly opinionated about it.

Citing Maven also feels a bit circular. It's an important Java application, but being a build tool it's only because there's lots of Java out there to build.

Minecraft and a lot of the other apps are terminally impressive, so it's easier to justify the ecosystem that produced them.

Re: Greatest Java apps

#150

Earlier quoted context omitted.

> the customer doesn't care about the code I'm not sure this applies as strongly in Minecraft's case specifically, because of the critical importance of its modding community to its wild success. Normally it wouldn't matter what language you pick in terms of how popular the game is going to become, except it just so happened that by choosing the JVM they gave the ability to the community to decompile the game and add…

> it just so happened that by choosing the JVM they gave the ability to the community to decompile the game and add the content they want That wasn't their intention; Minecraft code was originally obfuscated specifically in order to combat reverse engineering and modification. https://www.reddit.com/r/Minecraft/comments/mpslv/why_are_mi... https://minecraft.gamepedia.com/Obfuscation_map

True, but I find it amusing that none of that even mattered and the community was persistent enough to build an entire architecture, database and IRC bot solely for deobfuscating the source of Minecraft anyways. So long as nobody would get sued for it, it was still possible from a technical standpoint, so the motivated people did it anyways.

And now it seems that Twitch and other "official" entities have conceded to the fact that modding was really the only reason so many people play Minecraft at all and they integrated installing mods into their official launcher. Server hosting for Minecraft is a legitimate business since you'd need enough RAM and single-core performance for mods also, so they advertise "mod-capable" hosting plans.

On top of that the entire decompiled and deobfuscated source of Minecraft 1.22 is sitting on GitHub to search through.

The sheer extent of modding capability that Java enabled caused this weird conflict between the interests of the parties wanting to retain the intellectual property of the game through obfuscation while at the same time admitting that people undoing it and using the source themselves for modding is never going to go away, and trying to forcefully get rid of it for the sake of this legitimacy anyways brings no benefit and would only anger and drive away the audience who already comes to expect mods. And then some group would probably just hack together some unsanctioned server/client package from the JARs that are already widespread and keep playing the old versions forever, since they'd still want to play modded Minecraft anyways, and there's no reason the whims of a few corporations ought to invalidate the past several years of modded Minecraft experience they've lived through already. At least it's a better case for modding than purely competitive games since a lot of Minecraft is about construction.

Sometimes I think that the only games that will truly last for the ages where new things are still being created and discovered regularly are the ones whose source code is in the control of the players, and they aren't actively poached for "stealing" in an attempt to extract a few more dollars per person. That, and the playerbase being motivated enough to keep developing content for them. It seems Minecraft is one of those few games as of present.

Post reply on HN