Computer Languages

A computer language is an artificial language that has been designed for a machine to understand or parse. Before the AI boom, a computer could not parse a human language like English, nor are human languages purposefully designed to be parsed by a machine.

A computer language is either human-readable or binary.

A programming language is a Turing-complete human-readable computer language for making a machine do things.

A Turing-complete language is a computer language good for encoding the whole range of computations that a computer can be expected to perform.

Syntax and Semantics

A language's syntax is the set of rules for putting together the tokens of a language. Computer languages do not have morphology, that is word-forms, because instead of words they use identifiers, that is unique sequences of symbols. The identifiers defined by the grammar of a computer language are called keywords.

It's semantics comprises the rules for interpreting a string of tokens.

Declarative versus Imperative Language

A declarative language is a language used for representing knowledge. The JavaScript Object Notation and XML are both declarative languages. PROLOG is a declarative programming language.

An imperative language is a language for getting a computer to perform computations.

Well-Formedness and Validation*