Over the past several decades, we’ve seen numerous programming languages emerge to promise us a glorious new future in software development. Languages such as Ada, Eiffel, Ruby, Java, Scala, and more recently, Clojure, Go, Rust, Kotlin, and Swift. They’ve all fallen short of the ideal. They’ve failed to give us the tremendous boost in programmer productivity that we crave. They make development more tedious and time-consuming than it has to be.
These languages also do not encourage the democratization of programming. For too many beginners, especially the non-technical” types


