https://en.wikipedia.org/wiki/Model_of_computation includes sequential models, functional models and concurrency models.
Sequential models include finite state machine, Turing machines, random access machine.
Functional models include lambda calculus.
Concurrency models include pi calculus, the actor model.
I have seen lambda calculus, pi calculus, and the actor model are formulated as languages with syntax and semantics.
Some books (such as Varela's Programming Distributed Computing Systems) present models of computations and then programming languages which "follow" the models.
What is the difference between a model of computation and a programming language, if both can be formulated as languages with syntax and semantics meaning computation? (For example, I didn't realize to make any distinction, and called lambda calculus as a programming language, but was corrected.)
What is the definition of the "follow" relationship between models of computation and programming languages?
I haven't found out whether finite state machine, Turing machines, and random access machine are formulated as languages with syntax and semantics. I wonder if they can be and why they aren't or are not often formulated as such?