Strong Static Typing Advocated By Developer of Twitter.com
In an interview published on Artima, Alex Payne, API lead developer for Twitter, advocates strong static typing. Strong static typing is a programming language feature provided by Haskell, Scala, and other languages. The feature is absent from Ruby, Python, Lisp, and others.
Twitter's software was initially written in Ruby, but is now being extended with Scala. Payne describes one motivation for upgrading from Ruby to Scala (a strongly typed language):
As our system has grown, a lot of the logic in our Ruby system sort of replicates a type system, either in our unit tests or as validations on models. I think it may just be a property of large systems in dynamic languages, that eventually you end up rewriting your own type system, and you sort of do it badly. You’re checking for null values all over the place. There’s lots of calls to Ruby’s kind_of? method, which asks, “Is this a kind of User object? Because that’s what we’re expecting. If we don’t get that, this is going to explode.” It is a shame to have to write all that when there is a solution that has existed in the world of programming languages for decades now.
The solution to which he alludes is strong static typing.