Open-sourcing Sorbet: a fast, powerful type checker for Ruby
It&#x27;s been funny to watch how more and more static type systems are getting bolted on to dynamically typed languages in recent years.<p>Typescript (with stellar adoption), native type annotation support in Python, Sorbet, PHP 7, Elixir + Dialyzer, ...<p>I wonder why there isn&#x27;t a popular gradually typed language that natively allows writing both dynamic and type-safe code, allowing quick prototyping and then gradual refactor to type safety.<p>I guess in part because it&#x27;s a big challenge to come up with a coherent type system that allows this, the bifurcation in the ecosystem, and often a somewhat leaky abstraction. Eg in Typescript you will often still run into bugs caused by malformed JSON that doesn&#x27;t fit the type declaration, badly or insufficiently typed third party libraries, ....<p>Google&#x27;s Dart is the only recent, somewhat popular language (only due to Flutter) that allows this natively - that I can think of right now.<p>I do think such a language would be very beneficial for the current landscape though, and projects like this show there is a clear need.<p>Edit: just remembered another option: Crystal. Also Julia, as pointed out below.