Combining the best of Go, D and Rust?

e · l · n

... ok, don't take this post too dead serious, but I can't help entertaining the thought ...

I have for years been looking for a replacement for Python and Java for developments of various data processing tools in bioinformatics / cheminformatics, which happens to be my field of study. That is, something more performant with better concurrenty and parallelism than Python but without the ecosystem complexity, JVM startup times and JRE dependency of Java. Something that compiles to static binaries for easy distribution and high performance while being productive enough to use as a replacement for a scripting language.

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
  • 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.
  • ...

Wait, 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 are there language some existing language that is already getting close?

About Bionics IT

Bionics IT currently serving as a research and development blog for Samuel Lampa, a PhD student (Pharmaceutical Bioinformatics at Uppsala University).

Find me elsewhere on the web:

Latest posts