The existence of a null value isn't a billion dollar mistake. The issue is when static type systems allow null anywhere.
Even some dynamic languages don't have a null value. For example, some lisps only have the empty list, which they use as a null-like value by convention.
miniblog.
Related Posts
The different layers of the Nix ecosystem, and the overlay system to allow downstream users to override (c.f. dynamic binding):
As Rust grows in popularity as a systems language, I expect that someone will develop a dynamic language explicitly designed with great interop in mind.
C++ games seem to use Lua for this, and I've seen Java projects use Groovy.
Are there any up-and-coming contenders for Rust?
A cute feature in Pharo 9: dynamic rewriting of deprecated methods! The code and runtime are so closely integrated that you can use test execution to automatically update call sites.