Dynamic typed languages tend to utilize duck typing for polymorphism, while static-typed languages use interfaces and class-based taxonomy. In dynamic languages, values are usually typed, in static typed languages, variables are usually typed.