archives

Why is Static Typing Hard?

I’m working on a statically typed language and finding it slow going. In the history of dynamically vs. statically typed languages, it seems there is a trend: dynamic languages are implemented in a weekend, and refined iteratively for 10–20 years thereafter—static languages are defined and implemented over the course of 10–20 years, after which they’re basically complete.

The disparity is astonishing! Why do expressive static languages seem so much more difficult to implement? I contend that the field of type theory is not mature enough to answer the questions that dynamically typed languages ask.