Comment by foldr
If you read HN you might get that impression, but that vast majority of software that needs security and good performance is being written in Java.
If you read HN you might get that impression, but that vast majority of software that needs security and good performance is being written in Java.
In those two alone, Java.
There is no reason I would care about borrow checking implementing a compiler, and besides all the tooling, Java also has stuff like ANTRLR and MPS, and naturally Graal is a good playground for compiler backend tooling.
However in general, I would rather look into OCaml, Haskell, F#, Scala.
Graal and Truffle make the JVM look attractive, especially for this case!
I'm not personally a fan of Java, but if I was implementing a compiler, I'd pick a language with GC. There's pretty much no downside to a GC in that context, and it gives you more flexibility when working with graph data structures.
If 'building a programming language' means writing an interpreter or VM, then I can see the attraction of Rust for that case. But writing interpreters and VMs is like 0.0001% of the programming that gets done in the world.
I wouldn't be surprised if that was closer to the truth. A heck of a lot of boring software runs on the JVM. That said, it's a slightly different niche from command line tools.
If you were building a programming language, would you write it in Java or Rust?