Turing complete

A Turing-complete language (also called a universal language) is one where you can compute anything that any other computational method can compute.

Turing Complete refers to a machine that, given enough time and memory along with the necessary instructions, can solve any computational problem, no matter how complex.

The term is normally used to describe modern programming languages as most of them are Turing Complete (C++, Python, JavaScript, etc.).

Before modern-day computers, Alan Turing hypothesized that there would one day be a machine that could solve any problem. This machine became known as the Turing Machine.

A device or programming language is considered to be Turing Complete when it can replicate a Turing Machine by running any program or solving any problem the Turing Machine could run or solve.

While some applications of blockchain technology are Turing Complete, others are Turing Incomplete. This varies according to the scripting technology implemented.

For example, the scripting language used in Bitcoin is intentionally designed as Turing Incomplete because it serves its purpose and increased complexity would potentially introduce problems. By keeping it simple, the developers can predict with high accuracy how it is going to react in the finite number of situations in which it is used.

Ethereum, on the other hand, is built as a Turing Complete blockchain. This is important because it needs to understand the agreements which make up smart contracts.

We can only see a short distance ahead, but we can see plenty there that needs to be done.

Alan TuringEnglish mathematician, computer scientist, logician and cryptanalyst

Deepen your knowledge

Related terms


Time to shop

relevant products

report a bug or submit a correction

[gravityform id="1" title="false" description="false" ajax="true"]