I made a MMO in 2001 and came to the conclusions that one thread per socket was not going to scale and thought I would mothball the project until that was solved in Java.

2023 and now we have virtual threads that replace blocking IO with non-blocking automatically! Haven't tested it yet though! But I am reviving the 2001 MMO now!

In between I made my own MMO backend that uses NIO, conclusion is event-based network and validation is the only way to scale action MMOs past 100 players.

Also you need to share memory atomically between cores, so Java or C.

I feel like the Erlang/OTP would be perfect for the MMO use case. It’s what I’d try first if building from scratch.
No erlang cannot share memory between cores, it has to copy it.
I think binaries are refcounted and shared in Erlang? I'm not sure if this happens between schedulers/cores, though. They're also obviously immutable, so might not be what you mean by "sharing memory atomically".

Other than Erlang, Pony[1] might be an interesting choice. It allows sharing memory, even mutable memory, but it tracks the sharing in the type system. It's been a long time since I looked at it, and it definitely had a bunch of rough edges, but I really liked where the things were going. I hope it got even better since.

[1] https://www.ponylang.io/

For me C (1970) and Java (1990) are the only options for eternity.

I use some C++ features and dabble in js when I make HTML but really since Applet and Flash has been removed the browser is just a bloated waste of time.

Make your apps fast by allowing them to share memory without latency!

I have also coded Perl, VisualBasic, php and C# and I'm pretty sure this is it.

What we need now are VMs that can take any bytecode/instructionset and translate it to all others. For true crossplatform development. But that requires us to dump dynamic allocation. Arrays of 64 byte structures FTW!

> VMs that can take any bytecode/instructionset and translate it to all others

You're gonna love this: https://en.wikipedia.org/wiki/WebAssembly

I would if anything worked.

Still waiting for a Windows release of this: https://github.com/bytecodealliance/wasm-micro-runtime

Don't hold you breath.

Also needs Risc-V and ARM 32/64.