Steven Lumos wrote: > "Francis Cianfrocca" <garbagecat10 / gmail.com> writes: > >> Even though the Church and Turing models of computation are unified >> (and were unified long before digital computers existed), there still >> seems to be something intuitively attractive to many programmers about >> stuffing values into little boxes and being able to go get the values >> out of the boxes later. I'm not sure if this is fundamental, or a >> side-effect of the fact that our practical computing machines are all >> Turing machines and most programmers learn something about "memory" >> and "secondary storage" early in their training. This explains why >> pure functional programming is stylistically so challenging in >> practice, whether or not you believe it's challenging in theory. >> > > Turing machines derive from a model of a human working with pencil and > paper. That's pretty fundamental. > First of all, while a Turing machine is a great "experimental animal", our "practical computing machines" are Von Neumann machines rather than Turing machines. And Von Neumann machines derive from a model of a human working with a mechanical desk calculator. In fact, the people -- rooms full of people -- who operated them were called "computers". Properly speaking, a Von Neumann machine is an "electronic" computer or "automatic" computer -- a machine doing what people used to do. Second, I don't think the actual unification of Church and Turing models occurred *long* before digital computers existed. The basic Turing and Godel and Church papers were written in the early 1930s, and by the late 1930s there were working relay-based digital computers. Vacuum tube machines started showing up (in public, anyhow) in the early 1950s and in "war rooms" shortly after the end of WW II.