Saturday, April 12, 2008

Static vs. Dynamic Typing: Finally, A Post Worth Reading

This is literally the first time, in any of the billions of posts on static vs. dynamic typing, that I have seen anyone do any actual thinking about the topic at all:

A statically typed language with type inference will give you some of the same benefits as a good dynamic language, but definitely not all of them. In particular, you get different benefits and a larger degree of flexibility from a dynamic language that can't be achieved in a static language. Neal Ford and others have been talking about the distinction between dynamic and static typing as being incorrect. The real question is between essence and ceremony. Java is a ceremonious language because it needs you to do several dances to the rain gods to declare even the simplest form of method. In an essential language you will say what you need to say, but nothing else. This is one of the reasons dynamic languages and type-inferenced static languages sometimes look quite alike - it's the absence of ceremony that people react to.

Kudos to Ola Bini.