← Back to context

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 think they are being sarcastic because the vanilla Minecraft server is heavily single threaded.

  • 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