Hacker News

33 Comments:
eliben said 2 days ago:

Ah, PAIP... it's such a wonderful book! I highly recommend aspiring programmers to read it even if they don't care about Lisp or AI; the sheer amount of common programming wisdom in this book is priceless.

dmos62 said 2 days ago:

Seconded. I divide my programming into pre- and post-having-read-PAIP eras.

dunefox said 2 days ago:

What exactly did you take from it?

dmos62 said 2 days ago:

Difficult to put into words. The book is a sort of walkthrough of programming. It walks you through writing a number of programs iteratively, as in it starts with the most naive approaches and gradually improves upon them. That makes it a very involving process (because, like a good story, it starts in a common place and then takes you somewhere). It also introduces you to a lot of exciting things, especially if you're not that experienced. After reading the first chapters I wrote my own pattern matcher for example (I hardly knew what it was before then, let alone felt confident writing one).

said 2 days ago:
[deleted]
fizixer said 2 days ago:

Speaking of which, there is radio silence about the AIMA 4e in the community. No one appears to talk about it, no one appears to use it, no appears to be praising it, or criticizing it. It doesn't exist.

Fine then.

StrangeDoctor said 2 days ago:

I’m currently working through it, first printing off amazon (expensive, only place I could find it in stock) has a fair number of errors but they are being resolved timely. The main issue right now is that all of the exercises have been removed from the book and placed online, but are a complete mess. The Pearson site has a release date for the exercises in 2021.

Compared to my 3e it feels streamlined and easier to approach, but still comprehensive.

unishark said 2 days ago:

We use it for "AI" classes (as in literally the class with this title, as opposed to machine learning and other narrower jargon). I think most everyone does.

The class itself is kind of a spork though, not really useful when you have classes for the more modern topics.

wglb said 2 days ago:

Curious. I found it extremely informative, particularly after Semantic Information Retrieval (“We just need more memory” No, that is not enough) and another book by feignbaum and feldman https://mitpress.mit.edu/books/computers-and-thought-1.

atty said 2 days ago:

The physical book is quite expensive - I am personally waiting for an ebook version, either pdf or ePub. I think right now you can only get a DRM’ed version through a service called vitalsource? I will not be supporting a textbook DRM platform just to read it.

tasubotadas said 2 days ago:

AIMA is too big and contains to many irrelevant approaches for modern AI.

jph00 said 2 days ago:

At $160 it's quite a lot to ask...

jyriand said 2 days ago:

PAIP, SICP -- seems like if a book has a acronym, then it must be great. Can't come up with more examples though.

Jtsummers said 2 days ago:

Sticking with the Lisp family: LiSP (Lisp in Small Pieces), AMOP (The Art of the Metaobject Protocol). More general: TAOCP (The Art of Computer Programming).

Edit:

CLTL2: Common Lisp the Language

CLRS: Introduction to Algorithms, referred to by the authors’ initials

CSP: Communicating Sequential Processes

EOPL: Essentials of Programming Languages

nmadden said 2 days ago:

One day I’d love to find a reasonably priced copy of LiSP. It’s the most elusive widely-recommended book I’ve ever come across.

dunefox said 2 days ago:

Tbh, I'd just download it and buy it if you find one.

cyberbanjo said 2 days ago:

TLS, TRS I've seen abbriviated, for the little,reasoned schemer

Jtsummers said 2 days ago:

I thought about those but I don’t think I’ve seen those abbreviations used to introduce the books, only once a discussion is already started about them.

The CSP abbreviation I gave is also a bit of a stretch. Most people who use it probably mean it for the concepts, not the book itself.

tasubotadas said 2 days ago:

PRML - Pattern Recognition and Machine Learning

TESL - The Elements of Statistical Learning

GoF - Design Patterns: Elements of Reusable Object-Oriented Software

PGM - Probabilistic Graphical Models

rch said 2 days ago:

I'm optimistic about:

SL - Subjective Logic

OL - Optimal Learning

I'd enjoy knowing if anyone else has run across these, and what they might think.

disgruntledphd2 said a day ago:

I like calling TESL Elements, as a nice analogy to Euclid.

dddbbb said 2 days ago:

I've seen TAoCP (The Art of Computer Programming) and TaPL (Types and Programming Languages) used before, and both are definitely great.

cgopalan said 2 days ago:

CTM - Concepts, Techniques and Models of Computer Programming

nabla9 said 2 days ago:

AMOP - The Art of the Metaobject Protocol

AIMA - Artificial Intelligence: A Modern Approach

podiki said 2 days ago:

I haven't read either of these, but certainly want to. I'm a big fan of Lisp, and recently started learning some Haskell, too. (First languages were Basic, Java, C, ...then Python, Common Lisp...) Would you (or anyone else) recommend one over the other first? Why?

dunefox said a day ago:

I would say SICP since it's an introductory course and explains the concepts using Scheme, not CL.

jointpdf said 2 days ago:

ESL - Elements of Statistical Learning

OpossumMinister said 2 days ago:

Greatness isn't a requirement for acronyms, only long unwieldy titles. The cryptic string of letters being instantly recognizable among geeks, on the other hand...

mhh__ said 2 days ago:

MTW (Gravitation) is a classic

dunefox said 2 days ago:

Taocp, Htdp, Papl, ...

swatson741 said 2 days ago:

There's nothing quite like PAIP. It's more a book history than a book of programming. Although the programs are the main focus of the book it's not what gives the book quality. It's programs are relics but, it's content is not.

dunefox said 2 days ago:

I just find Norvigs way of programming, exploring, and explaining so intriguing. Everytime I read something written by him I learn a few things.

swatson741 said 2 days ago:

Personally, I find his prose to be plain and boring but, his insight is really interesting.

"Now we would like to go a step further and extend the system to handle differenti­ation. This is a favorite problem, and one which has historical significance: in the summer of 1958 John McCarthy decided to investigate differentiation as an interest­ing symbolic computation problem, which was difficult to express in the primitive programming languages of the day. This investigation led him to see the importance of functional arguments and recursive functions in the field of symbolic computa­tion. For example, McCarthy invented what we now call mapcar to express the idea that the derivative of a sum is the sum of the derivative function applied to each argument. Further work led McCarthy to the publication in October 1958 of MIT AI Lab Memo No. 1: "An Algebraic Language for the Manipulation of Symbolic Expressions," which defined the precursor of Lisp."

PAIP is filled with writing like this. You could remove this paragraph from the book and, it wouldn't make the explanation any more or less comprehensible. The level of detail at which he provides this insight is interesting. It ends up being more than just amusing anecdotes. It's what makes the book worth reading imo.