2
$\begingroup$

I am learning about model of computation and I found this wikipedia entry that categorises and outlines various model of computation.

Now I want to know the programming languages that builds on these models.

I am aware that functional programming languages are built upon lambda calculus, and that imperative programming is more or less as a result of Turing machine model. But I do not know about the other models and if any programming language have been designed based on them.

Anyone knows if there are languages that builds on model of computation listed on the wikipedia entry?

$\endgroup$
4
  • $\begingroup$ Imperative programming languages are a lot closer to the RAM model than to the Turing machine model, which doesn't have any practical applications, to the best of my knowledge. $\endgroup$ – Yuval Filmus Dec 7 '20 at 13:29
  • $\begingroup$ By the RAM model you mean the entry listed as Random access machines in the computation model? $\endgroup$ – Finlay Weber Dec 7 '20 at 13:39
  • $\begingroup$ Quick googling about, seems that the RAM model is more or less the same, atleast as Turing Machine model...only that it is more effecient? Correct me if I am wrong $\endgroup$ – Finlay Weber Dec 7 '20 at 13:42
  • $\begingroup$ All Turing-complete models of computation are equivalent if you don't care about efficiency. It is true that Turing machines and Random-access machines are polynomially equivalent, in terms of both time and space. However, when analyzing algorithms, we almost always use the Random-access machine model (sometimes allowed limited operations on real numbers). $\endgroup$ – Yuval Filmus Dec 7 '20 at 13:57
1
$\begingroup$

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.).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.