Speaking about the Turing machine

Several years ago, when I enrolled in the graduate program in Computer Science in Pisa, I found a curious ad on the university bulletin board. Among the countless offers of houses for rent, bikes for sale, notes, and books in good condition, the ad read:

"Turing machine for sale, like new, never used."

Annunci by Luigi Rosa (https://www.flickr.com/photos/lrosa/282217570)

I did not realize at the time that this was a joke, partly because I barely had an idea of the subject I was about to study.

In fact, my choice of major was dictated more by the professional outlets it offered than by the scientific discipline itself and my personal preference and inclination toward it. I went to humanities high school and would have liked to further my studies in Latin and Greek. However, I would have risked hanging around for a while before finding a job without the slightest relevance to my studies.

The Turing Machine

A few years later, I learned what the Turing machine was, and that adโ€™s joke was clear to me.

For the curious who have probably watched The Imitation Game, I would like to point out that this is not Christopher, the machine that enabled Alan Turing to decode Nazi army messages encrypted by Enigma.

The Turing machine is a much broader-scope machine that, in reality ... does not exist. Yes, okay, someone has made models, even virtual ones, but this is not the real Turing machine. It is an abstract machine, a computational model invented by Turing to give an answer to the Decision Problem, one of the theoretical mathematics problems proposed by Hilbert in 1928.

Without going into too much detail, the Turing machine is an abstract model that helps define the concept of algorithm and computability. It has been used to demonstrate what can be computed mechanically and what cannot. In other words, what a computer can do and what it can never do.

Turing Machine and Computers

And despite its abstract nature, the Turing machine has a practical and concrete impact on reality. The funny thing is that the limitations of computers were demonstrated even before a physical computer had actually been built.

That abstract machine, along with other formalisms, ideas, and languages that I learned about during my studies, fascinated me and made me appreciate that discipline that was completely new to me.

Commonly, when people think of computing, they think of the Internet, notebooks, smartphones, robots, and all the latest gizmos that propel us into a hyper-technological world. No doubt all of this is fantastic and exciting, not to mention damn convenient (when everything works as expected ๐Ÿ™‚).

"A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine."

--Alan Turing (1948)

The Human Imprint

However, what fascinated me most in my undergraduate days and continues to fascinate me to this day is the human imprint behind these devices. I am much more captivated by the ingenuity that went into inventing them, the ideas, the models, and the theories they rely on. The true essence of information technology goes far beyond the cold silicon of computers, and contrary to what one might think, we can say that it was born with man and has enabled his evolution.

Searching for the human in technology has led me to create this blog. The purpose is to share a somewhat different view of how computing is often perceived, showing that there is much more connection to the Lascaux caves, to Leibniz's thought, to the Library of Alexandria, to Darwinian evolution, to Pirandello's masks, and to the DNA of our cells than one might think at first glance.

This journey will require the help of readers, of course. So, your comments and suggestions are welcome.

Happy reading! ๐Ÿ“š

0
Subscribe to my newsletter

Read articles from Andrea Chiarelli directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Andrea Chiarelli
Andrea Chiarelli

I'm Software Engineer and Technical Author with over 20 years of experience in software design and implementation. Throughout my career, I've had the opportunity to use a variety of programming languages and technologies on many different projects. In the last few years, I've been focusing on simplifying the developer experience with Identity and related topics as a Developer Advocate at Auth0 by Okta.