Programming Language Typing

August 26, 2008

The following comparison is from Dive into Python, by Mark Pilgram, Section 2.2.1:

statically typed language:

A language in which types are fixed at compile time. Most statically typed languages enforce this by requiring you to declare all variables with their datatypes before using them.  Java and C are statically typed languages.

dynamically typed language:

A language in which types are discovered at execution time; the opposite of statically typed.  VBScript and Python are dynamically typed, because they figure out what type a variable is when you first assign it a value.

strongly typed language:

A language in which types are always enforced. Java and Python are strongly typed. If you have an integer, you can't treat it like a string without explicitly converting it.

weakly typed language:

A language in which types may be ignored; the opposite of strongly typed. VBScript is weakly typed. In VBScript you can concatenate the string '12' and the integer 3 to get the string '123', then treat that as the integer 123, all without any explicit conversions.

(Put here so I can find it again, quickly, in the future.)

Author's profile picture

Mark H. Nichols

I am a husband, cellist, code prole, nerd, technologist, and all around good guy living and working in fly-over country. You should follow me on Twitter.