4 ms·
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 lik
by alex_medvedev 2y 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
- philipwhiuk 2y ago> cool modern features like multi-threading Java 6 had multi-threading
- Imustaskforhelp 2y agoI 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
- nijave 2y agoThe 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.
- kgeist 2y agoIt 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...
- intelVISA 2y agoHow horrifying!
- philipwhiuk 2y agoI'm just saying, there's nothing "modern" about multi-threading.
- giancarlostoro 2y agoWhile Java does, the Minecraft server architecture does not.
- plandis 2y agoI think they are being sarcastic because the vanilla Minecraft server is heavily single threaded.
- xxs 2y agojava 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?
- philipwhiuk 2y agoI just picked an old enough version that I knew had it and the original Minecraft could have chosen to use. (I've never written pre Java 6 code)