Focused Language Evolutions in Acceleration
It was in either 2010 or 2011, I started following Go, I was attracted to its simplicity, its focus. Not long after, I re-wrote my website in Go from Python, just because of my love.
It was also Go that kick started my interest in the evolution of a language. I started reading all the Go blog posts, watching many Go talks.
This is not by accident. Before that time, the language landscape had actually been relatively quiet. Then Go (2009), Rust (2010), Dart (2011), Swift (2014) appeared in public. Not only they are modern, but they also made language development mainstream again.
Go initially focused on concurrency in a large code base, Rust system programming, Dart first a replacement of Javascript, now the Flutter language, Swift the Apple client applications. Because of their focus and the active evolutions, they are bringing us into a new era of software engineering.
More importantly, the evolutions are accelerating.
2017, Go started the Go 2 evolution process.
2018, Swift for TensorFlow was announced, bringing Dynamic Member Lookup [SE-0195], Dynamic Callable [SE-0216], Static Callable [SE-0253]. Differentiation [SE-XXXX], Dynamic Property Iterations [SE-XXXX].
2019, Dart "UI as Code" happened in 2.3.
2019 WWDC, SwiftUI surprised and excited the Apple developer community, marking the end of the NeXT era. It’s bringing Property Wrappers [SE-0258] and Domain Specific Language [SE-XXXX].
It has never been a greater time for programming languages.