Structure and Intepretation of Computer Programs vs The Humane Interface: New Directions for Designing Interactive Systems
When comparing Structure and Intepretation of Computer Programs vs The Humane Interface: New Directions for Designing Interactive Systems, the Slant community recommends Structure and Intepretation of Computer Programs for most people. In the question“What are the most influential books every programmer should read?” Structure and Intepretation of Computer Programs is ranked 7th while The Humane Interface: New Directions for Designing Interactive Systems is ranked 19th. The most important reason people chose Structure and Intepretation of Computer Programs is:
This isn't a book you'll glean direct practical tidbits out of, an introduction to not only functional programming but how to think in a paradigm outside the usual way C*/Python/Ruby/Java/etc... are coded. Even if you wind up never working in Scheme or any other primarily functional language, the tactics and thought processes you'll learn here will apply to any currently-evolving language to a greater or lesser degree. You'll be able to map your thought process into the paradigm that works best for your current situation and not just be forced into a limited set of idioms that causes unnecessary boilerplate and clunky code mangling.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Knowledge can be applied to any language
This isn't a book you'll glean direct practical tidbits out of, an introduction to not only functional programming but how to think in a paradigm outside the usual way C*/Python/Ruby/Java/etc... are coded.
Even if you wind up never working in Scheme or any other primarily functional language, the tactics and thought processes you'll learn here will apply to any currently-evolving language to a greater or lesser degree. You'll be able to map your thought process into the paradigm that works best for your current situation and not just be forced into a limited set of idioms that causes unnecessary boilerplate and clunky code mangling.
Pro Teaches very important programming concepts
Like closures and encapsulation without language support of objects.
Pro Very good for absolute beginners
This book gives a great insight about immutable and mutable state (with pros and cons), typisation, FP, OOP, and many other things in a very beginner-friendly manner
Pro Looks at the psychology behind interaction design
The author takes an in depth look at "cognitive engineering" and applying it to software design (ex. How users form habits when interacting with software).
Cons
Con The point is not often clear
The Human Interface can be a confusing read for a variety of reasons.
The author is frequently referencing one of his projects, Canon Cat, even when there is no beneficial/relevant reason to do so.
There are some contradictions throughout the book, and plenty of negativity towards the studies he mentions (however, he does not often use studies to back up his own claims).
The book does not have illustrations or screenshots, making it difficult to follow at times.