LearnReferenceFurther reading

Further reading

Every source behind the Reference: 53 of them, each opened on 11 October 2026. They are grouped by subject, and each has a line on what it is and why you might read it. If you read only a few, read the six at the top. At the end are works cited only through others.

Start here

Six sources that together give you the language, its story, how to write it and how to run it fast. All are short.

  1. Urban Müller, brainfuck-2.lha, Aminet, dev/lang, dated 9 June 1993: the package page on Aminet. We read the files in the archive: README, bfc.asm (the compiler), bfi.c (the interpreter) and the six example programs. Sizes and dates are those of the archive listing.

    Why read it: The original distribution, and the nearest thing the language has to a definition. The README is 2,863 bytes and takes two minutes to read. Read it before anything else.

  2. Urban Müller, talk at Tamedia TX, 2017, read as the community transcript on the Esolang wiki: Tamedia TX 2017 transcript. The transcript says its last page is missing. Wikipedia gives the title as "Brainfuck, or how I learned to change the problem" and the date as 13 June 2017; we did not watch the recording.

    Why read it: The author telling the story himself, 24 years later. Short and funny. The only source we found for his motives in his own words.

  3. Daniel B Cristofani, "Yet another brainfuck reference": the reference on brainfuck.org.

    Why read it: One careful page by the language's best-known programmer. Says exactly what is defined and what is "unpredictable".

  4. Esolang wiki, "Brainfuck": the wiki article on brainfuck. A community wiki; we use it for conventions and for its list of results, and name it where it is our only source.

    Why read it: The best single page on the language as it is used today: conventions, examples, the computational class, and many links.

  5. Daniel B Cristofani, "get good at brainfuck": the series on brainfuck.org.

    Why read it: A series that walks through his programs in the order he wrote them. The author calls it unfinished. The best next step after Brainfuck basics.

  6. Mats Linander, "brainfuck optimization strategies", 7 January 2015: the article on calmerthanyouare.org.

    Why read it: The clearest account of the standard optimisations, each measured on six real programs. Start here if you want to write a fast implementation.

The original and its author

What Müller published and said. Everything else is commentary.

Descriptions of the language

Careful accounts of what is defined, what is not, and what implementations should do.

Theory

Proofs, and the older work the language connects to.

Writing and generating programs

Cookbooks, and tools that write brainfuck.

Programs

The notable ones, at their authors' own addresses.

Implementations and how to make them fast

Explanations, measurements and well-known implementations.

Relatives and derivatives

Pages of the Esolang wiki on single languages.

Culture and scholarship

Writing about why, and the places where the community is.

For orientation only

Encyclopedia articles. Good maps, not evidence.

Cited through others

These works matter to the story, and we did not read them ourselves. Where the reference mentions them, it cites the source that describes them.

Limits

Read next