Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

The Little Schemer

Daniel P. Friedman, Matthias Felleisen

40 readers recommend it across 29 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

hiAndrewQuinn
Naming only ones I haven't seen mentioned in other comments: - Networking for Systems Administrators, by Michael W. Lucas. Its explicit goal is to teach you just enough about networking, from the electron up, that you can talk to an actual network engineer and not make a fool out of yourself. It's a phenomenally high-ROI read if networking isn't your strong suit. - The first 3 chapters of Mastering Regular Expressions. Regexes are up there with Vim keybindings in terms of sheer ubiquitous use no matter what stack you find yourself in. The rest of the book is excellent if you want to actually implement a regex engine. - The Art of Unix Programming. Less technical. Gives you an idea of why exactly 'nix machines are like that, especially older commands. The 18 rules of design are worth committing to memory. - The Linux Programming Interface. More technical. Pairs esp nicely with the above. Lots of practice C code one can run, plenty of short self-contained chapters. - Not a book, but an online paper: https://how.complexsystems.fail . I see echoes of this everywhere I work, and it often helps me understand what kinds of "bad" things are secretly highly evolved resiliency measures.…
troupe
SICP is a textbook. The Little Schemer is a tutorial. You sit down with a pen, paper, and the book. Then you cover the answer column in the book, read the question / prompt and try to write an answer on your paper. You compare your results with the books suggested answer and work your way through it question by question. So it is kind of a way of create a Socratic dialog with a book. I found it to be a great way to engage with the material in a way that promotes understanding in a hands on way, but without putting a computer in the way. When you are writing your answers you have to be more intentional than just, "well lets see if this works."
markshead
A few books that I've found useful: The Goal - Eli Goldratt - It is a novel about optimizing a factory, but it is immensely valuable in thinking through what are the actual constraints on your team's ability to deliver software and how do you fix it without making other things worse. The Phoenix Project is kind of a modern retelling, but I'd start with The Goal. The Principles of Product Development Flow - Reinersten - Great for thinking deeply about how you deliver value through your system and the tradeoffs you are making in what you choose to focus on next. Once again it isn't specific to software, but very relevant. The 5 Dysfunctions of Teams - Lencioni - Common team problems and what to do instead. Influence: Science and Practice - Cialdini - How to get people into agreement so you can move forward--a skill that can be used for both good and evil.…
nobleach
For many years I recommended everyone on my team (that was interested in retooling their brain in a more functional way) read "The Little Schemer". My only caveat is that they read it without touching a computer. Like... read it on an airplane. While I had no interest in using Scheme/Racket/Lisp for actual work, I found that it brought so much simplicity to my thinking.
rmnull
* Persepolis by Marjane Satrapi. Among lot of books i've read this was the one that pushed me towards questioning my beliefs. Although i can't say this book made me irreligious it certainly was a gateway to a whole new world. * Calvin and Hobbes. this is one of those things that completely changed my perspective on creativity, oh and not to mention all the things about life and philosophy in there, its in good spirit. * Animal Farm This is arguably the best piece of satire I've read that is also fun and easy on the brain. It flows like water. * The Little Schemer. I hold this book dear. I've tried reading SICP twice and given up. And thought LISP was not for me. The environment was horrible, all those parens it was just confusing. This book changed that, what it encouraged me to do is grab a pen and paper and try to work everything out myself[1]. It was such a fun read and i owe most of my understanding of functional programming to this book. Few days after finishing this book, i introduced this book to my friend and we spent all our days discussing life listening to sufjan stevens and working through this book, it was a sweet time. ====…

Also recommended in this reply

cenny
The three books that I have appreciated the most when it comes to computer science must be: - Code The Hidden Language of Computer Hardware and Software (https://www.programmingbooks.dev/#code) - Grokking Algorithms (https://www.programmingbooks.dev/#grokking-algorithms) - The Little Schemer (https://www.programmingbooks.dev/#the-little-schemer) These two books I really found interesting as well: - Nine Algorithms That Changed the Future (https://www.programmingbooks.dev/extra/#nine-algorithms-that... (https://www.programmingbooks.dev/extra/#nine-algorithms-that-changed-the-future)) - Good Math (https://www.programmingbooks.dev/extra/#good-math)
z5h
There aren't many tech books I've read front to back and done pretty much all exercises. Exceptions include "The Little Schemer" and "The Seasoned Schemer". Importantly, they really up one's ability to write higher order functional (and pure functional) code leaning heavily on a style that would help in any functional language with tail call optimization.

Also recommended in this reply

lcall
Upvoted, and I would also say the Book of Mormon, with the Bible. The BoM reinforces the Bible's teachings powerfully, and as I age and read again, sometimes in other languages, and some scholarly things about it, they both just keep getting better and better. Including in their effect on me. You can get a copy of either one for free. Edit: Additionally, some which have been mentioned or not: - a couple of biographies of Lincoln (one is free on gutenberg.org, the other more recent by Doris Kearns Goodwin), and one of Washington whose name I forget now, but there are good ones out there. - the 7 Habits book (Covey), and How to Win Friends and Influence People by Carnegie. - Refactoring ..., by Martin Fowler. - some thick Scheme programming book from college (sorry, it's downstairs). And "The Little Schemer", also about Scheme (one of the authors, Friedman, was also our instructor). - Since Cumorah, by Hugh Nibley (maybe dated now, but there is a lot of related work). Really got me interested in related topics.
pcprincipal
Some I haven't seen mentioned here: 1. Coders at Work Peter Seibel does an amazing job of asking programmers questions that make them explain their methodology. The interview with Donald Knuth is awesome; really enjoyed hearing him talk about literate programming. 2. The Soul of a New Machine Tracy Kidder's 1981 Pulitzer Prize winner I think is a brilliant case study on how engineers work together and the things that can go wrong and right with different personalities interacting with highly technical ideas. The project in this book starts without the consent of management, which to me shows the value of questioning the system to add business / engineering value. 3. Little Schemer Small book that will give your brain a serious workout and show you how to problem solve with Lisp like languages. Even if you never end up using a Lisp dialect, this book expands your brain. I have more here, all of which I recommend for software and other careers http://benbrostoff.github.io/books/

Also recommended in this reply

clark-kent
SCIP should always be in the list as one of the best programming books ever written. Others are 'Simply Scheme: An introduction to computer science', simply scheme is an alternative to "How to design Programs", http://htdp.org/, both books are written for non-programmers but they provide a gentle introduction to many advanced topics covered in SCIP. I prefer "Simply Scheme". Another one is the "Little Schemer" http://www.amazon.com/The-Little-Schemer-4th-Edition/dp/0262... (http://www.amazon.com/The-Little-Schemer-4th-Edition/dp/0262560992).
tjr
I was about 17 when I encountered The Hacker's Dictionary. It hasn't been updated much for years, but I think it would still provide an easy-to-read gateway into the way programmers think and some interesting tidbits of history. Reading or watching Guy Steele's Growing a Language talk could be fun. The Little Schemer could be a good choice. Van der Linden's Expert C Programming covers some serious C topics, but is also generally educational and enjoyable. You could introduce them to Knuth's writings in an easily-digestible way, like maybe having them read and implement the Easter date algorithm in Volume 1. Maybe have them read [excerpts from?] something like Philip and Alex's Guide to Web Publishing and put together a small database web application.
charlieconroy
This book like no other just makes me smile. I read this right after I graduated and started my "real" learning in programming and math. The intermission page list books on logic and set theory. FYI: it is the first book in a "trilogy" -- but your next book could be either of the other two (their only prereq is The Little Schemer). Listed below: Reasoned Schemer: http://www.amazon.com/Reasoned-Schemer-Daniel-P-Friedman/dp/... (http://www.amazon.com/Reasoned-Schemer-Daniel-P-Friedman/dp/0262562146/ref=sr_1_2?ie=UTF8&s=books&qid=1302106654&sr=8-2) Seasoned Schemer: http://www.amazon.com/Seasoned-Schemer-Daniel-P-Friedman/dp/... (http://www.amazon.com/Seasoned-Schemer-Daniel-P-Friedman/dp/026256100X/ref=sr_1_1?ie=UTF8&s=books&qid=1302106654&sr=8-1)
malandrew
In addition to what others have said, I would add The Little Schemer to the list. It may not seem like the most practical book, but it will make you a better programmer. Beyond that, I would reiterate the following suggestions put forth by others: -- How to Design Programs (get version 2. Racket, the IDE for this book, is practically plug-and-play, so you won't waste time prepping your development environment) -- Think Python by Allen Downey (i haven't read this one, but it comes very highly recommended. the excerpts I've read show that Allen communicates the concepts very clearly) -- Eloquent Javascript (very good introduction, all examples can be done directly in the browser with the specially-made console. This eliminates the time and confusion you will experience trying to set up a development environment with other languages.) On top of those I'd also add: -- The C Programming Language by K&R (if you are interested in C) -- Dive into HTML5 (if you are interested in web development. HTML is a markup language, but you are going to need it to be able to build web stuff. This book complements Eloquent Javascript nicely) -- Land of Lisp…
Kaizyn
I would recommend you start with The Little Schemer and follow up with The Seasoned Schemer (the sequel to the other book). These two will give you a good feel for some aspects of Scheme programming, but they will not go into the same depth about the fundamentals of computer science you'll get from SICP. After reading them, then you should advance to either How To Design Programs as suggested before SICP or if you're feeling really ambitious jump right to SICP.
samdk
I have not read SICP, but I have read The Little Schemer. It's my favorite programming book. If does a very good job of getting you comfortable with thinking recursively. It not meant to impart immediate 'practical' knowledge, and it really uses Scheme as a vehicle for teaching recursion, not the other way around. You can do the exercises in any Lisp dialect easily enough, and even in JavaScript (http://javascript.crockford.com/little.html). My recommendation would be to use The Little Schemer as well as another, more practically focused book on Scheme or Lisp and work through them concurrently. Also, if you're just getting started and are going to be using Scheme, the DrScheme mini-IDE makes it very easy to get started quickly. It's part of the PLT-Scheme package: http://www.plt-scheme.org/.
jleung
For a programmer on vacation, I wouldn't recommend a technical book. Go for something that will exercise the right side of your brain, the parts that don't get as much work day-to-day. Your left-brain is what you're trying to rest and refresh; that's why you're on vacation after all. I'd go for something on the far end of the spectrum; some forgotten modern classic that won't let your left-brain to kick in, like Return of the Native. If you absolutely must have something technical, the aforementioned Neal Stephenson books are great, as are William Gibson books. The Little Schemer is a good book to go through while you're NOT on vacation.

Also recommended in this reply

weaksauce
"Hackers and Painters" or "Founders at Work" are both good books if you haven't picked them up yet. Not language learning or directly programming but interesting none the less. A book more directly related to programing would be "Structure and Interpretation of Computer Programs" or "The Little Schemer." bring a notebook and do problems out of them like defunkt said and it will help in all your programming.
mk
This is what is commonly refered to as "the dragon book". http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniqu... (http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools) But that may be too massive for what you are looking for. I found that Crockfords essay http://javascript.crockford.com/tdop/tdop.html really helps if you know javascript. And reading something like tinypy http://www.philhassey.com/blog/2008/02/28/tinypy-10-mit-lice... (http://www.philhassey.com/blog/2008/02/28/tinypy-10-mit-license-and-swell-opengl-demo/) may help. Also not necessarily a compiler book, but The Little Schemer does have you building a basic scheme interpreter at the end of the book.

Also recommended in this reply

herdrick
Among all books since the printing press? Can you be more specific? Actually, I take that back. I do know some great ones that you ought to read no matter what your situation. The Little Schemer http://www.ccs.neu.edu/home/matthias/BTLS/ Master and Commander http://books.google.com/books?id=rx_yw5iMtnIC&dq=&pg... (http://books.google.com/books?id=rx_yw5iMtnIC&dq=&pg=PP1&ots=quZSkX-66f&sig=4rmlsrtPNSRNEfB8Zg6BmXiA0us&prev=http://www.google.com/search%3Fhl%3Den%26q%3Dmaster%2Band%2Bcommander%26btnG%3DGoogle%2BSearch&sa=X&oi=print&ct=title) Lord of the Rings (you can find this one yourself) and probably a lot more, but I've got to run. Good luck!

Also recommended in this reply