Gangmax Blog


From here and here.

Static/Dynamic typing is about when type information is aquired (Either at compiletime or at runtime)

Strong/Weak typing is about how strictly types are distinguished (e.g. whether the language tries to do implicit conversion from strings to numbers).

  • Strong/dynamic: Clojure, Erlang, Python, Ruby, Scheme, Smalltalk

  • Strong/static: Java, Go, ML

  • Weak/dynamic: PHP, Javascript, Objective-C

  • Weak/static: C, Objective-c