Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

A Turing machine is not really a machine. A TM can simulate the abstraction of a machine, a machine can simulate a TM. You can put bread in your toaster, you can't put the bread in a Turing machine (unless it's a toaster-enhanced TM with a special bread input tape and a temperature oracle).


Ah, The Treachery of Turing Machines, Magritte would be proud. Yes, a FSM diagram cannot toast bread, just like a John Deere Schematic cannot plow fields. But if we want to play this game, unfortunately we'll have to get a little pedantic and reveal whether we're talking about design or implementation.

The Turing Machine is an abstract mathematical model for designing real machines. A Turing Machine is a design for a specific real machine. The computer or software of your choice is a real machine that is also a Turing Machine.

My toaster's special bread input tape is implemented using a mechanical lever. It's temperature oracle is implemented using a temperature sensor and a digital timer. I believe I have a toaster-enhanced TM.

The Turing Machine is really a machine, in every practical sense.


My comment's intention was to illustrate that the derided sentence simply intended to say "it's abstract". So now, let's see how "The Turing Machine is really a machine, in every practical sense." is false, starting with the Oxford's dictionary definition of machine:

An apparatus using mechanical power and having several parts, each with a definite function and together performing a particular task.

So a mathematical notion definitely does not satisfy this definition. An abstract machine is definitely different from a machine. The map is not the territory (or was Korzybski wrong all along?).


Clearly you understand! An abstract machine is different from a machine, that nicely summarizes what I said. Good to know we can use the word "machine" for multiple different kinds of machines. Glad to see you agree that a Finite State Machine is a machine of the abstract variety. I'm happy that we've moved past the semantics into the practical realm of allowing communication to proceed by acknowledging that words like "machine" don't always conform to a single literal interpretation. I'm sure then that you agree with @AKrumbach and me that the opening sentence of the article was indeed not very informative, even if it was a little controversial and provided a fun thought experiment.


A turing machine is an abstract machine. That fits with your sense of the definition. Sorta like category and group in maths are a bit different from what we consider a category and group in the real world.


You can put bread in your Turing machine, you just need to convert it to some language first.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: