When comparing Structure and Intepretation of Computer Programs vs Head First Programming, the Slant community recommends Structure and Intepretation of Computer Programs for most people. In the question“What are the best beginner's books for programming?” Structure and Intepretation of Computer Programs is ranked 1st while Head First Programming is ranked 4th. 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 Creative teaching style
Head First approaches learning with the idea that anything which increases brain activity will help you learn. Head First does this through humor, pictures, surprise and more.
Pro Relevant, challenging and fun puzzles
The puzzles and exercises are challenging and unique. They help to reinforce what you've learned while guiding you through developing fun programs from the start.
Pro Engaging writing style
One of the ways these books encourages the retention of material is by using an engaging and amusing writing style.