5 Kinds of Languages

Suppose x and y are strings, and the language sees x + y. There are 5 kinds of languages:

  • Statically-typed and well-designed: determine at compile time that x and y are strings and produce an error.
  • Statically-typed and poorly-designed: determine at compile time that x and y are strings, and select the string concatenation operator for +.
  • Dynamically-typed and well-designed: determine at run time that x and y are strings, and produce an exception.
  • Dynamically-typed and poorly designed: determine at run time that x and y are strings, and select the string concatenation operator for +.
  • Not type-safe: fail to detect that x and y are strings, and add their representations interpreted as numbers.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s