I have been asking myself this question a lot: was using java a good idea for minecraft.
Disclaimer: This post is more about the server side of minecraft and not the client side as I do not know how that works.
As most developers and server owners will know java is a horrible choice performance-wise. It uses tons of ram, runs in a vm, and is just a lot slower than most other programming languages.
As most developers and server owners will know java is a horrible choice performance-wise.
But then why?
However, using java was still their best choice. Why? Because of the reason why minecraft succeeded over other games: Modding. There are tons of IDE’s for java, it is a good language to learn and it is very readable and hackable. Modding is what made minecraft the game that it is today.
And, with the bad performance comes the market of hosting, which is also one of the reasons that Minecraft succeeded. People want good servers and a lot of hosting providers popped up to trade your money for a awesome place to host your server. This money-related market is also the reason for a lot of adults to still play and work with minecraft every day.
But why not lua? Isn’t that more readable?
Yes, and it would be easier to program in. But it would be restricted to the apis that the developers but in. Take for example prison architect: You can mod anything as long as the devs have made a api for it. In minecraft, we have something called NMS (Net.minecraft.server) which is basicly the minecraft server sourcecode which you are able to call right from your plugin. For most things however, people have made standalone server applications that let you code with community-made API’s e.g. SpigotMc.
So, do i think it was a good choice?
Yes, the fact that they are using java to me is the reason that minecraft became so popular.