Strange Code Cover

Strange Code

Esoteric Languages That Make Programming Fun Again
by Ronald T. Kneusel
August 2022, 496 pp.

Look Inside!

Strange Code back coverStrange Code interior spreadStrange Code interior spreadStrange Code interior spreadStrange Code interior spreadStrange Code interior spread

Download Chapter 10: BRAINFUCK

Strengthen your overall coding skills by exploring the wonderful, wild, and often weird world of esoteric languages (esolangs). Strange Code starts with a dive into the underlying history of programming, covering the early computer-science concepts, like Turing machines and Turing completeness, that led to the languages we use today. It then explores the realm of “atypical” programming languages, introducing you to the out-of-the-box thinking that comes from these unusual approaches to coding.

Later chapters address the even more unusual esolangs, nearly all of which are like nothing you’ve ever seen. Finally, author Ron Kneusel helps you develop and use two entirely new programming languages. You may not apply these languages in your day job, but this one-of-a-kind book will motivate you to think differently about what it means to express thought through code, while discovering the far-flung boundaries of programming. 

You'll learn:

  • How to program with pictures using Piet
  • How to write two-dimensional programs in Befunge
  • How to implement machine-learning algorithms using the text pattern matching language SNOBOL
  • How to decipher Brainfuck code like [->-[>+>>]>[[-]+>+>>]How to design and create two original programming languages

Learning to think in these languages will make you a better, more confident programmer.

Author Bio 

A programming language enthusiast, Ron Kneusel’s experience with programming languages began circa 1980 when he first encountered an Apple II computer. Decades later, he completed a PhD in machine learning from the University of Colorado, Boulder, and now works in the industry developing deep learning systems. He is the author of Practical Deep Learning: A Python-Based Introduction (No Starch Press), Math for Deep Learning (No Starch Press), Numbers and Computers (Springer), and Random Numbers and Computers (Springer).

Table of contents 

Part I: On Programming Languages
Chapter 1: A Cherry-Picked Review of Programming Languages
Chapter 2: The Essentials of Programming Languages
Chapter 3: Turing Machines and Turing Completeness
Part II: Atypical Programming Languages
Chapter 4: Forth
Chapter 5: SNOBOL
Chapter 6: CLIPS
Part III: Esoteric Programming Languages
Chapter 7: The ABCs of ABCs
Chapter 8: FRACTRAN
Chapter 9: Piet
Chapter 10: Brainfuck
Chapter 11: Befunge
Part IV: Homegrown Esolangs
Chapter 12: Filska
Chapter 13: Using Filska
Chapter 14: Firefly
Chapter 15: Using Firefly
Chapter 16: Going Further
Appendix A: Genetic Programming with Firefly


"A fascinating and thought-provoking tour through programming languages. Strange Code guides you through some mostly forgotten languages—such as Forth, SNOBOL, and CLIPS—before exploring more experimental languages—such as Piet—where your source code is an image. I particularly enjoyed Firefly, a language for the BBC micro:bit, created especially for the book."
—Sean McManus, Author of Mission Python: Code a Space Adventure Game!

"[Gives] a grounding in the basics of concepts like Turing Completeness without leaving readers to fend for themselves in a forest of of dense computer science arcana. As a reference and source for teachers, Strange Code has much to commend it."
—Terry Freedman, Teach Secondary magazine

Extra Stuff 

Visit the author's GitHub page for code files and other resources.