D is being used for autonomous driving research – Audi and Mercedes
I have done an unhealthy amount of comparing around the languages in this space. I'm curious what others think about the tradeoffs between choosing Nim/D/Go/Crystal/C#/Java/Kotlin? Previously I would have not included Rust in that grouping, but I've finally bitten the bullet and started learning it... and now I would, high level abstractions with low level control, etc etc.Essentially there's a class of programs that are performance sensitive, but also dev time sensitive. How do you choose between the set above? (The answer, if there is one, is probably Python, and then optimize the hotspots, but lets pretend we can indulge).- Nim: fast dev time; fast performance; not v1, C/C++ interop is second to none. Newruntime seems awesome- C#: medium dev time; med-fast performance; very OO, coreRT and readToRun are awesome- D: fast dev time?; fastish performance; I haven't written more than a few lines- Go: fast dev time; med-fast performance; interop is expensive, lack of high level abstractions- Crystal: ?; fast?; have not used- Java: medium dev time; med-fast performance; very OO, GraalVM is cool- Kotlin: fast dev time; med-fast performance; kotlin native may be cool some day- Rust: slow/medium dev time; fast; safe, awesome type system- C: slow dev time; fastest?; unsafe / current tooling and docs are like performing an archeological dig.- C++: medium/slow dev time; fast; unsafe / full of intricaciesAll of the above are obviously opinions gained over time with sources forgotten and I've only written a few hundred lines in each language. PL ADD is real. At the moment, Rust is scratching all the itches though, and I'm excited to see if my mental model of programming adapts to the language and dev speed is not an issue. Obviously I like collecting hammers and am less good at finding nails.Very cool to see D getting picked up for some serious use. D and Nim are fantastic and hopefully thrive in the coming years. I would love to see a write up of what led them to choose D.