Earlier quoted context omitted.
I work in Java every day, and I agree it's been a huge success. But I also don't think it's a good general purpose language. It's absolutely full of warts and gotchas and ergonomic problems and questionable design decisions that even the people who made them have come to regret. But known history tells us that there is very little correlation between a language's success and how well-designed it is. Outside of softwa…
> questionable design decisions that even the people who made them have come to regret. Such as?
Greatest Java apps
131–140 of 194 posts
Re: Greatest Java apps
#132Earlier quoted context omitted.
I'm pretty sure the most popular video game in history was implemented in TTL. (Though Java versions certainly exist, too.) It's also worth noting that Minecraft was originally implemented in Java, but, in order to get it running on consoles and mobile, they had to port it to C++. Which doesn't discount how much Java contributed to its early success. (Most importantly, I'm guessing, by making it even feasible in the…
What's the game implemented in TTL?
Re: Greatest Java apps
#133Earlier quoted context omitted.
It's a great reminder that the customer doesn't care about the code. What matters is the experience and overall fidelity of the product shipped. The language you pick, the quality of code you write, the comments and documentation, are all products (gifts) targeting your future self, future peers, and employer when it comes time to make changes to the software.
> 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…
Re: Greatest Java apps
#134What are the odds that a language known for its use in boring enterprise software is the language used to create the most popular video game in history (Minecraft). If C++ was a person it would be mad/salty at this fact.
And yet people here on HN have told me in recent threads, when discussing Java, that: - Java is not suitable for enterprise software (yes! Some people here actually believe that). - Java is not a good general purpose language (but Minecraft was written in Java. Or even better, the list of very varied apps from this article shows it's indeed a good general purpose language). What these people actually mean is "I don't…
Overall I'd prefer to use just about anything else in pretty much any domain where Java would be a consideration. It may not be an inherent problem with the language itself, but its ecosystem in my experience leaves it as one of the worst general purpose languages in terms of productivity while not offering a sufficient advantage to make up for that.
All that being said, Java is still good enough most of the time.
Re: Greatest Java apps
#135Earlier quoted context omitted.
It's a great reminder that the customer doesn't care about the code. What matters is the experience and overall fidelity of the product shipped. The language you pick, the quality of code you write, the comments and documentation, are all products (gifts) targeting your future self, future peers, and employer when it comes time to make changes to the software.
> 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…
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...
Re: Greatest Java apps
#136What are the odds that a language known for its use in boring enterprise software is the language used to create the most popular video game in history (Minecraft). If C++ was a person it would be mad/salty at this fact.
Are you serious? Wake us up when somebody implements something as complex and performant as UE4 in Java. Or even UE3 for that matter.
Re: Greatest Java apps
#137Earlier quoted context omitted.
It's really not great. Doable, but not great. That's why they moved to a classic C++ codebase instead on other platforms. On a side note, I worked on Jpcsp, a PSP emulator in Java. Great for research and doing refactoring in the code quickly, not great for performance, even with a JIT. We wrote later PPSSPP in C++, performance was there quite easily.
> It's really not great. Could you provide some more information on what it was not great?
On Java 11 or later, I wouldn't expect it to be nearly such a big deal. At least not relative to some other issues. For example, it being a reflective language means that there's a fair amount of memory overhead that's really only there to support features that aren't so useful in games development. Also, there's a fair bit of overhead, in terms of both CPU and memory churn, to making calls into native libraries from Java. Nowadays, neither of those is a big deal for a large swathe of games, either, so I don't think one can really make a blanket statement that Java is not great for games development.
Re: Greatest Java apps
#138To 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.
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 JVM.
I think we can all agree the JVM is lagging behind the CLR, and the CLR is behind where we should be (when looking at the things that Clang is capable of)
Re: Greatest Java apps
#139In praise of Lucene, it's stated that > Wikipedia replaced the Lucene engine with Elasticsearch, a distributed, REST-enabled search engine also written in Java Elasticsearch is still using Lucene as core search engine though, so all that was replaced is the custom job control and wrapping around Lucene (SOLR?) by the one that Elasticsearch provides I guess.
I was the one who first requested that Doug join the ASF with Lucene. The rest is history... ;-)