This document introduces esoteric programming languages like Brainfuck and Piet. It explains that these Turing complete languages can simulate any computation and are equivalent to other programming languages in their capabilities. It then demonstrates how Brainfuck performs basic operations like addition and division using only eight simple instructions to manipulate data in a one-dimensional array. Piet is described as a language where programs are images composed of different colors, with transitions representing instructions. The document encourages learning these languages for fun, to stimulate creativity, and grasp theoretical computer science concepts like Turing machines.
8. Turing machine
▶
▶
▶
Infinite ribbon of (finite state) cells
Left / right movement
Choice and action on current cell
Can solve all possible algorithmic computations
5 / 16
11. Turing complete languages
▶
▶
▶
▶
Simulate any Turing machine
⇒ all possible algorithmic computations
⇒ all possible programs!
⇒ ...“equivalent” to all other Turing-complete languages!
6 / 16
12. Brainfuck
Left / right movement
Increment / decrement
Test “loop”
Byte IO
⇒
⇒
⇒
⇒
<
+
[
,
>
]
.
“Infinite” buffer of byte cells
7 / 16
26. Aforementioned great good
▶
▶
Impress / frighten your friends!
Draw nice pictures!
▶
Grasp Turing machines!
Stimulate your creativity!
Feed your curiosity!
▶
Give a talk!
▶
▶
15 / 16