Hey everyone! I'm not too familiar with game development or programming, so I'm curious if someone can help me understand the reasons behind having two different versions of Minecraft – Java and Bedrock. Wouldn't it have been simpler to create just one version that works across all platforms instead of rewriting the whole game in a different programming language? Also, did they really have to completely remake Minecraft and all its features and systems for the new language, or could some parts have been transferred more easily?
5 Answers
Bedrock was created for devices like phones, where Java wouldn't perform well. C++ is more efficient for those types of devices, but yes, they did basically rewrite all of Minecraft as Bedrock.
Although Java is compatible with many devices, it didn't work well on consoles and mobile platforms they wanted to target. Porting it to Bedrock was likely easier than trying to make Java compatible with everything Microsoft aimed for.
Thanks for clearing that up!
Java was the original version of Minecraft, and they created Bedrock later to make the game run on consoles like Xbox and mobile devices. Originally, phones simply couldn't handle the Java version. Microsoft likely wants everyone to switch to Bedrock, but there’s a lot of pushback from players because each version has its quirks and the early Bedrock editions were pretty basic.
I thought Java could run pretty much anywhere? It even markets itself that way, right?
Exactly! The modding community is huge and really vocal. Many players would be upset if they lost those options.
Java was the initial version created by Notch, but it's not ideal for performance. After acquiring Minecraft, Microsoft decided to rewrite it in C++. They needed to keep the Java version alive due to its loyal player base but made Bedrock better suited for cross-platform play.
Is it true that the C++ version was started before Microsoft bought Mojang?
Having two versions is complex, but it started with Pocket Edition for mobile devices. That initial version couldn't run on Java due to hardware limitations back then, leading to a C++ rewrite. It makes sense to have different versions, but unifying them into Bedrock hasn’t been smooth, especially with mod support differences.
So, if I understand correctly, they didn't need to remake everything; they just had to adapt it for the new systems?

Why can't Bedrock run on Linux? That seems strange!