Normative, Idiomatic, Canonical

Published: Wednesday, Nov 18, 2009 Last modified: Monday, Nov 23, 2020

At first glances:

Could seem roughly the same, though there are some subtle differences.

Normative

Normative as opposed to informative or simply non-normative is used to express the standard defined way of doing something. This concept is used everywhere in http://www.w3.org/ specifications.

Idiomatic

Idiomatic is largely about convention and style.

Instead of saying, this function block “adheres to commonly accepted style”, you can abbreviate this statement simply to ‘idiomatic’. The word “idiomatic” is commonly used in texts at http://golang.org/.

Canonical

Canonical is the prescriptive, reproducible way of doing something. A good example is XML canonicalization.