These terms and their associated concepts form the basis of programming languages. They're defined here to provide common ground in discussions about programming language design and implementation. The definitions are intentionally terse, in order to avoid extraneous detail and facilitate rapid understanding. Knowledge of ComputerScience and programming languages is assumed.
Literal
A sequence of symbols (typically alphanumeric characters) that denotes a value.
Expression
A combination of literals, variables, and operator invocations -- in a particular syntax -- that evaluates to a value.
Value
The result of evaluating an expression. Every value belongs to a type, and has some internal representation -- usually a finite sequence of bits.
Variable
A mutable reference to a value.
Constant
An immutable reference to a value.
Type
A set of values and zero or more associated operators.
Operator
A function, method, procedure or machine instruction that accepts zero or more operand values and optionally returns a value.
Syntax
The rules for creating valid sentences in a language.
Semantics
The mapping from syntax to meanings in a language. Semantics define how the parts of a programming language interact with each other and the underlying machine.