Series: Head First
Paperback: 632 pages
Publisher: O'Reilly Media; 1 edition (April 22, 2012)
Product Dimensions: 8 x 1.3 x 9.2 inches
Shipping Weight: 2.4 pounds (View shipping rates and policies)
Average Customer Review: 4.2 out of 5 stars See all reviews (36 customer reviews)
Best Sellers Rank: #83,141 in Books (See Top 100 in Books) #31 in Books > Computers & Technology > Programming > Languages & Tools > C & C++ > C #339 in Books > Textbooks > Computer Science > Programming Languages
Over the past five years or so I've dabbled off and on in programming. I'm pretty much self-taught but the downside of that is that without much of a learning path I've always found myself relearning the same basic material over and over again. I always learned just enough to create a half-useful toy program but never enough to do anything real. Over the years I've slowly grown more knowledgeable just by mere exposure to programming material, but I've always had one specific roadblock: Most books (and tutorials) are content to just tell you the "easy" way to do something without explaining what goes on behind the scenes. The programming languages today (C++, Java, Python, etc) are all built to improve on the perceived flaws of the languages that came before them. This makes these modern languages very useful and powerful, but it also means that a learning programmer might find themselves lost in a bunch of tools and concepts that they don't understand the need for or the workings of.As someone who can't learn unless they understand the "why" behind everything they're doing, I finally decided that if I wanted to advance as a programmer I should just go learn the language that influenced nearly every other language that came after it: C.The sales pitch for Head First C immediately appealed to me. The book is marketed at those who have a familiarity with programming concepts but want to learn how to work with C so that they can understand what the computer is doing at a lower level. As the book's description explains, many of the C books on the market assume knowledge that today's users and budding programmers don't have. This book claimed to set out to fix this problem. So, I picked the book up and worked my way through it.
I wanted a refresher on C in order to get the basics back for coding Objective-C. I tried several of the older books I had but because I have used it in the distance past and therefore understood most of what I was looking at I was having trouble focusing. The books couldn't keep my attention.I have read Head First Design Patterns. Because of the unique style in which the Head First books are written I found it kept my attention even though I had a lot of experience with patterns. When I saw Head First C I was hoping it could do the same for me, and it definitely did!!!The book is for beginners, or someone who wants to be reintroduced to the basics. I thought it's coverage was good enough to give a reader a solid start down the path of C.I have the summary table of content below:Getting Started with C: Diving inMemory and Pointers: What are you pointing at?Strings: String theoryCreating Small Tools: Do one thing and do it wellUsing Multiple Source Files: Break it down, build it upC Lab 1: ArduinoStructs, Unions, and Bitfields: Rolling your own structuresData Structures and Dynamic Memory: Building bridgesAdvanced Functions: Turn your functions up to 11Static and Dynamic Libraries: Hot-swappable codeC Lab 2: OpenCVProcesses and System Calls: Breaking boundariesInterprocess Communication: It's good to talkSockets and Networking: There's no place like 127.0.0.1Threads: It's a parallel worldC Lab 3: BlasteroidsLeftovers: The top ten things (we didn't cover)C Topics: Revision roundupThere is no code download for the book. This is ok since the samples are pretty small throughout the book.