Head First C Book Review
|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 in
Memory and Pointers: What are you pointing at?
Strings: String theory
Creating Small Tools: Do one thing and do it well
Using Multiple Source Files: Break it down, build it up
C Lab 1: Arduino
Structs, Unions, and Bitfields: Rolling your own structures
Data Structures and Dynamic Memory: Building bridges
Advanced Functions: Turn your functions up to 11
Static and Dynamic Libraries: Hot-swappable code
C Lab 2: OpenCV
Processes and System Calls: Breaking boundaries
Interprocess Communication: It’s good to talk
Sockets and Networking: There’s no place like 127.0.0.1
Threads: It’s a parallel world
C Lab 3: Blasteroids
Leftovers: The top ten things (we didn’t cover)
C Topics: Revision roundup
There is no code download for the book. This is ok since the samples are pretty small throughout the book. Most of the time you don't need to run the code because the book is tailored to keep you working in the book doing exercises and puzzles. The only time I really missed the code was when it came to the last lab, Blasteroids, which was a takeoff of the old Atari Asteroids game.
The Labs were a bit too far out there to do, but that didn't take away from the book. The first lab required an Arduino board, which looked like fun, but I don't have one. I might get one though. They are only $22.00 on Amazon.
The second lab was to download OpenCV, play with it, and then learn it. It also looks interesting, but unless I find a use for it, I won't be able to justify the time to learn it.
Like I said above, not doing the labs didn't really take anything away from the book. I do however believe that if you used this book in the class room, these labs would prove to be fun and I think the students would really get into them. They would definitely be worth putting in place in a classroom.
Over all this book really accomplished what I needed it too. It kept me engaged throughout and allowed me to get the basics back in my tool belt. I got through the last two thirds of it while on vacation. Long flights and long layovers helped. Plus when we were not diving we were relaxing and reading.
All in all I highly recommend this book to anyone who what to get into C programming or Objective-C programming. It is also the only way to go if you have to dust off the cobwebs and re-learn it like I did.
Head First C