Comment by alex_medvedev
21 hours ago
Its written from the ground up and has a clean foundation (which is not the case in vanilla minecraft server code). We also want to use cool modern features like multi-threading or the rust language which is a modern language designed to fix mistakes from older languages
> cool modern features like multi-threading
Java 6 had multi-threading
java 1.0 (even 0.9) did have. The 1st language with a memory model was java 5 (1.5), which was back ported to 1.4.2. 1.4(.2) already had non-blocking I/O as well.
Why pick 6, though?
The limitation isn't the Java version, it's the way the MC code was architected.
Iirc part of original Minecraft's performance limitations were high object create/destroy rate leading to lots of garbage collection. With that in mind, picking a non-GCd language isn't completely crazy.
It was the other way around: say, the original code as written by Notch had functions like setPosition(x,y,z) and it was okay. When Jeb got in charge, he said "it's not object-oriented enough" and rewrote everything to setPosition(position). And boom, 1GB/sec allocations...
1 reply →
I'm just saying, there's nothing "modern" about multi-threading.
I think they are being sarcastic because the vanilla Minecraft server is heavily single threaded.
While Java does, the Minecraft server architecture does not.
I read this in the most satirical way possible like as if a godly narrator said it calmly.
It was really funny. It felt like a Satire LMAO