Greatest Java apps
51–60 of 194 posts
Re: Greatest Java apps
#52What 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.
(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 first place for a single person to implement it in so little time.) But still, the big picture version of the Minecraft story does more to support than challenge the main reason why C++ is considered the language of choice for games development. Because, yes, Java got it off the ground, but it was only a couple years later that they had to port it to C++ in order to access a mass market.
Re: Greatest Java apps
#53What 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.
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…
Re: Greatest Java apps
#54I'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…
Re: Greatest Java apps
#55Re: Greatest Java apps
#56I'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…
Java was picked because (for the most part) it just works on everybody's machines, it comes by default with a large set of libraries, and it can build standalone executables (great for grading purposes). You don't have to explain why MacOS comes with Python, but you shouldn't use that version of Python. Java of course has its peculiarities, but so does every other language.
And as you say, you won't just be learning Java, you will be learning how to develop software. Over time and with exposure to multiple languages you will find switching between them is possible. You may (will) have preferences but with a solid foundation you can say "I recognize that this is a loop over an array, I don't remember the exact syntax in this language, but I know how to look it up".
I'm not sure what your situation is for a masters, but for the best odds of job searching post-undergrad the best advice I could give is have several projects which you can talk about the implementation specifics (why did you choose this pattern) and the big picture (why did you choose this architecture). For an entry level positions the exact language didn't matter when job searching as long as it was in the ball park.
TL;DR You're going to school to learn computer science and to illustrate those concepts they're going to use Java. That knowledge WILL be transferable to other languages. For maximum value explore and tinker with other languages on the side.
And as a bonus, a lot more of the world runs on Java than you think so it will be valuable to have on your resume.
Re: Greatest Java apps
#57I'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…
Re: Greatest Java apps
#58I'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…
Also, if you are going to be a React web developer, the theoretical/advanced stuff they teach you in an MS program is likely not going to be relevant at all to your actual career.
Source: current MS CS student.
Re: Greatest Java apps
#59The list generates some mixed feelings - #16 for example, where the inventor/maintainer got driven away by Oracle's acquisition of Sun and forked Jenkins from Hudson.
No mention of anything mobile even though there are a few billion phones out there running Android with a huge app ecosystem of Java and Kotlin based stuff. Of course, that's a non Oracle flavor of Java as Sun sort of lost the plot on the J2ME front (another omission). J2ME was of course more successful than applets ever were until Android happened.
Listing Eclipse and Netbeans (1 bullet) before Intellij (arguably more popular than those two combined) is also a bit weird. In any case, Intellij has largely switched to Kotlin, which is of course a language Jetbrains, the creator of that IDE helped create to replace Java. So nice that they still get a mention. But really, that whole ecosystem is now powered by Kotlin more than Java.
Spring/Spring-boot is another painful one for Oracle because it largely sidelined J2EE related products and standardization. Tomcat and Jetty sort of survive as low level components you can optionally use to run that. The Spring ecosystem is shifting to Kotlin rapidly as well. As is Android, of course.
So, it's understandable why Oracle prefers to not talk about those because these are all examples of where Java was successful but Oracle/Sun wasn't.
Re: Greatest Java apps
#60What 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.
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.
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 the content they want. Maybe this wasn't intended and Notch chose Java because it was what he happened to know, but it's my belief that if Minecraft had been written in C++ instead then Mojang would not have the brand recognition it does today. Anecdotally one of my friends tried the RTX version of the game which was rewritten in C++, and his reaction amounted to "it's fine, but there's no mods, so it's irrelevant." And that's in spite of the fact that modded Minecraft is a minefield of incompatibilities between years old versions and can easily consume 10 gigabytes of RAM and millions of extraneous CPU cycles. Nobody cares, because at the end of the day modded Minecraft is the only way they can get the specific experience they want out of a video game, and the only reason this is possible at all, even if it will never be performant, is the JVM.
But that's only because Minecraft is one of the most popular video games in history, and not the kind of thing that a developers for a game nowhere near as successful would worry about before gaining a sizeable audience. What good is a modding system if not many people want to use it? And depending on the game a mod system might not be as warranted, so in those cases the choice of language doesn't matter as much.