In computing, a programming language specification is an artifact that defines a programming language so that users and implementors can agree on what programs in that language mean. A programming language specification can take several forms, including the following: An explicit definition of the syntax and semantics of the language. While syntax is commonly specified using a formal grammar, semantic definitions may be written in natural language (e.g.