I have been programming since 1970, using Java since 1995, and Scala since 2005.
I have had a love-hate relationship with Scala, and learned to love Kotlin.
More recently, I have learned to love Rust.
But I want more… As Scala improved on Java and inspired Kotlin, I want a language like Rust, but without the warts I see in Rust—a version of Rust, more like Pascal.
Sadly, Scala inherited the ugliness of Java, C++, and C… and I understand the utility of that. That is the ugliness of Rust; it looks too much like A, B, C, C++, C#, and other alphabetic soup.
However, when I look beyond the surface of Rust, I see the wisdom and insight of Scala.
People may laugh, but my favourite feature in Scala 3 is
val result = if condition then
// Code to execute if condition is true
valueIfTrue
else
// Code to execute if condition is false
valueIfFalse
This looks more like Pascal than C, and is more readable and easier to reason about. It reduces cognitive load.
Unlike Scala, the Rust compiler generates diagnostics that do not require a PhD to interpret. Still, in some areas, the Rust diagnostics are atrocious. This tells me the compiler designer/engineer has no fucking idea what they are talking about. If you cannot explain it, you do not grok it.
My fantasy is a language called “robust,” rhymes with “rust,” but promises more. I would create “program.rb” files, which compile into webasm at first, and I could launch them into a web browser, or cloud engine, and ideally, under IntelliJ iDEA.
I love Rust, but fantasize about next-level programming. Rust proves we don’t need garbage collection, and robust should not either. Caprese is a good idea, and may influence robust, but I want more than Caprese. Garbage collection should be an ‘imported’ capability, not a base requirement. More generally, a ‘runtime’ would be an optional ‘capability’ where one could add it when desirable.
Also, Java Loom is brilliant, proving we don’t need hacks like async/await. robustwill learn from blocking code such as Loom, Structured Concurrency, and Structured Scope. NO MORE FUCKING IMPLICIT THINKING!
Other features… no nulls, no exceptions, no past failures.
So, Mr. Odersky, and your bag of geniuses, please consider the robust programming language. You could bootstrap it by writing the compiler in Rust. ![]()