Most active commenters
  • philipwhiuk(3)

←back to thread

419 points alex_medvedev | 11 comments | | HN request time: 1.206s | source | bottom
Show context
kgeist ◴[] No.41849906[source]
What does "modern" mean in this context?
replies(4): >>41849987 #>>41849990 #>>41850030 #>>41855909 #
1. alex_medvedev ◴[] No.41849987[source]
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
replies(1): >>41850348 #
2. philipwhiuk ◴[] No.41850348[source]
> cool modern features like multi-threading

Java 6 had multi-threading

replies(5): >>41850387 #>>41850689 #>>41850697 #>>41851157 #>>41858320 #
3. Imustaskforhelp ◴[] No.41850387[source]
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

4. nijave ◴[] No.41850689[source]
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.

replies(2): >>41851542 #>>41854441 #
5. giancarlostoro ◴[] No.41850697[source]
While Java does, the Minecraft server architecture does not.
6. plandis ◴[] No.41851157[source]
I think they are being sarcastic because the vanilla Minecraft server is heavily single threaded.
7. kgeist ◴[] No.41851542{3}[source]
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...
replies(1): >>41853091 #
8. intelVISA ◴[] No.41853091{4}[source]
How horrifying!
9. philipwhiuk ◴[] No.41854441{3}[source]
I'm just saying, there's nothing "modern" about multi-threading.
10. xxs ◴[] No.41858320[source]
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?

replies(1): >>41898590 #
11. philipwhiuk ◴[] No.41898590{3}[source]
I 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)