When comparing Structure and Intepretation of Computer Programs vs The C Programming Language (AKA: K&R), 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 C Programming Language (AKA: K&R) is ranked 15th. 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 Well known classic
This book is so well known that it's affectionately called "K & R", after the authors.
It's been cited in many other books and is familiar to most, if not all, CS students.
Pro It's excerpted from the idea of its creators
This book is written by Dennis Ritchie, who was one of the main people behind the development and design of C and UNIX.
Pro Creative, challenging exercises
The challenges at the end of each chapter do a great job of requiring many of the skills learned up to that point. Completing the challenges is a great way of insuring you understand the material.
Pro This book set the template for programming language books
Cons
Con Out of Date
Some commands and practices are out of date, so errata and googling is needed while going through the book.
Con Teaches bad style
The K&R style works for old Unix mainframe command-line programs that exit after a simple task and leave the cleanup to the OS; where input is only from trusted experts; and most functions are only called internally to the program. The environment is very different today. This style will get your server owned by hackers, or crash it due to a memory leak, etc. You will have to unlearn what you've learned from this book to use C correctly in the real world today.
Con Not for beginners
Assumes familiarity not only with programming concepts but some C language specifics.