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.
Mark-Up Languages
Some well-known instances:
- XML:
- Mark-Down:
- SiSU: see also the manual, see .ssp examples at /spine/en/abstraction, or install packages named like
sisuWHATEVER...
For producing PDF files:
- Lilypond: a music typesetter, produces beautiful sheet music using a high level description file as input.
- TeX/LaTeX: an open-source typesetting system for text, mathematical formulas and much more.