📖 Overview
Programming with Nothing demonstrates how to write functional programs using only Ruby procs. The material progressively builds from basic operations to full programs while being constrained to a minimal set of tools.
The book presents concepts through hands-on examples and exercises that increase in complexity over the chapters. The reader learns to encode numbers, booleans, strings, arrays and program control flow without access to Ruby's standard data types and operators.
Through this disciplined constraint, the text reveals fundamental principles of computation and lambda calculus. The exploration of these principles illuminates how complex programs can emerge from simple building blocks.
The limitation to such basic elements exposes insights about the essence of programming languages and abstractions. This perspective connects theory and practice by bridging the gap between mathematical foundations and everyday development.
👀 Reviews
There are not enough internet reviews to create a summary of this book. Instead, here is a summary of reviews of Tom Stuart's overall work:
Readers consistently highlight Stuart's ability to explain difficult computer science concepts through clear examples and engaging writing. His book "Understanding Computation" receives praise for making theoretical topics practical and relevant.
What readers liked:
- Clear explanations of complex topics
- Practical Ruby code examples
- Gradual buildup of concepts
- Humor and conversational tone
- Links between theory and real-world programming
What readers disliked:
- Some sections require multiple re-reads
- Later chapters increase rapidly in difficulty
- Ruby focus limits broader application
- More exercises/problems needed
Review stats:
Goodreads: 4.1/5 from 458 ratings
Amazon: 4.3/5 from 72 reviews
Notable reader comments:
"Finally understood lambda calculus after years of trying" - Goodreads review
"The Ruby examples clicked where academic texts failed" - Amazon review
"Second half lost me completely" - Goodreads review
"Needs more practical applications" - Amazon review
📚 Similar books
Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman.
The book explores programming fundamentals through lambda calculus and builds complex systems from simple components.
To Mock a Mockingbird by Raymond Smullyan. This work presents combinatory logic through puzzles and bird-themed metaphors that connect to functional programming concepts.
The Little Schemer by Daniel P. Friedman. The text teaches recursive thinking and functional programming through a series of questions and answers about Scheme.
Lambda-Calculus and Combinators by J. Roger Hindley and Jonathan P. Seldin. This mathematical treatment covers the theoretical foundations that underpin functional programming languages.
Types and Programming Languages by Benjamin Pierce. The book examines type systems and their implementation through mathematical principles and practical programming examples.
To Mock a Mockingbird by Raymond Smullyan. This work presents combinatory logic through puzzles and bird-themed metaphors that connect to functional programming concepts.
The Little Schemer by Daniel P. Friedman. The text teaches recursive thinking and functional programming through a series of questions and answers about Scheme.
Lambda-Calculus and Combinators by J. Roger Hindley and Jonathan P. Seldin. This mathematical treatment covers the theoretical foundations that underpin functional programming languages.
Types and Programming Languages by Benjamin Pierce. The book examines type systems and their implementation through mathematical principles and practical programming examples.
🤔 Interesting facts
🔹 The book demonstrates how to write programs using only Ruby lambda functions - no numbers, strings, arrays, or other data types typically used in programming.
🔹 Author Tom Stuart is a computer scientist and software consultant who has given popular talks at programming conferences about implementing complex systems using minimal building blocks.
🔹 The book's concepts are based on Church encoding, developed by mathematician Alonzo Church in the 1930s to represent data and operators in the lambda calculus.
🔹 All numbers in the book's programming examples are represented through functions, following the Church numeral system where a number n is represented by a function that applies another function n times.
🔹 The book shows how to build a complete programming system from scratch, including boolean logic, arithmetic operations, and data structures, using nothing but functions - demonstrating the fundamental nature of lambda calculus in computer science.