Programming languages and Model of computations
Functional programming languages can often be thought of as built on the lambda calculus.
Imperative programming languages can often be thought of as built on the RAM (Random Access Machine) model of computation.
Some hardware description languages can be thought of as being built on the finite-state machine model, or on digital circuits.
Some declarative languages can be thought of as built on Datalog.
Some concurrent languages can be thought of as built on the actor model or on process calculi (e.g., CSP, the $\pi$-calculus, etc.).