REVIEW - C Primer Plus - Includes Index


Title:

C Primer Plus

Includes Index

Author:

Stephen Prata

ISBN:

Publisher:

Sams Publishing (2005)

Pages:

959pp

Reviewer:

Paul Thomas

Reviewed:

August 2006

Rating:

★★★☆☆


Ah, C! This brings back memories. I had to learn C "on the job" and what a confusing beast it was. It was years before I found time to learn the details and I was probably dangerous until then! It's always better to take the time to learn something like this properly and I could have done worse than work through this book. Though I expect it would have taken some time. The K&R "bible" has run out of pages before this book has covered the

if
statement.

I didn't do the exercises but I did give it a full read - a good 750 pages or so before the reference section. I learnt a few things too; mostly about C99 which the book focusses on. It does have the good grace to point out where compiler support is lacking and there is a good grounding in other practical matters. Not enough emphasis on non-portable behaviour for my liking, with bad advice on bitfields. But the teaching style is nice - introduce a new program, then follow it up with a lengthy discussion. Not just the basic language details either, but common use idioms.

I would leave it at that and recommend it for anyone committed to follow a large tutorial. But I have a few worries.

About halfway through, I came across this gem:

So in serious programming, you should use
fgets()
rather than
gets()
, but this book takes a more relaxed approach.
Relaxed approach? Your stock is falling Dr. Prata. Still, that's academics for you: wagging a finger at us for shunning garbage collection and formal verification; then writing FORTRAN libraries.

Another thing I look for in a basic C book is

goto
. Sure enough, it's not recommended and there is even a good section on how to replace it with structured code. But no satisfactory explanation for why it should be shunned. So students that learn from this book will likely rebel when they see how easy it is to use and will badger C/C++ lists to accept that it's a good thing. Probably quoting Knuth.

So, while other books might be better, it's a good tutorial for C that takes a complete novice into fairly advanced territory.


Book cover image courtesy of Open Library.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.