Combining the best of Go, D and Rust?
I’ve been following the development of D , Go and Rust (and also FreePascal for some use cases ) for some years (been into some benchmarking for bioinfo tasks ), and now we finally have three (four, with fpc) stable statically compiled languages with some momentum behind them, meaning they all are past 1.0.
While I have went with Go for current projects , I still have a hard time “totally falling in love” with any single of these languages. They all fulfill different subsets of my wishlist for an optimal compiled data munging language.
So, in my backhead I’m now starting to ask: Who will create a language that combines the best parts of each, into the super-language that everybody can use for everything? :)
Let me start off this with my own wishlist: Let’s have a language with:
- The performance of D and Rust
- The smallness of executables from D and Rust
- The concurrency primitives from Go (channels and lightweight threads multiplexed on cpu cores)
- The simple, pseudo-code-like code (and thus productivity) of D
- Compare e.g. this D-code and this Go-code , with similar performance
- The smallness of the language from Go
- The objectively more readable snake_case syntax of Rust
- The order of variable name and type from Go and FreePascal (name first)
- The great tooling from Go (The go and go tool subcommands, etc)
- The great standard library of Go
- The amazing cross-platform GUI builder and IDE of FreePascal: Lazarus (Not a language feature, but worth a shout-out either way).
Bonus points if it can also include:
- A powerful REPL, like Scala or Julia, or Python of course.
- Non-indentation based syntax (not fun in some use cases, when wrapping a lot of tools in tools, as happens).
Can we haz something like this? :) Or is there some existing language that’s already getting close?