C Primer Plus (6th Ed)

Author: Stephen Prata
Publisher: Addison Wesley
Pages: 1080
ISBN: 978-0321928429
Audience: Beginners
Rating: 4
Reviewer: Mike James

C is still a language worth learning and knowing about. 

This is a very big book on a language that is generally thought of as compact. One of the best regarded books on the subject, The C Programming Language by  Kernighan and Ritchie, is only 228 pages long. This needs to be compared to the 1080 pages in this brick of a book. It has to be admitted that the size doesn't make it easy to read, even if the quality of the explanations are good.

You also need to be clear that this is a book about C and not about C++. While you can mostly write C using a C++ compiler i.e. the language is a subset of C++, there is no clue as to what C++ is about in this book.

 

Banner

 

This is too large a book to detail each chapter but it is fairly easy to describe the areas it covers. The book starts off with a look at the history of C and where we are now. It then goes over the ideas of creating a program and what to use. This details the GNU compiler, LLVM and even Visual C. Unfortunately although aimed that the complete beginner this isn't likely to be enough to get the complete beginner up and running if there are any problems and there often are. 

Chapter 2 moves on to writing simple programs that take some data from the user, do some computation and print an answer. From here we learn about data - ints, floating point etc. The level of explanation is suitable for the complete beginner and the pace is fairly slow with a lot of discussion but when it comes to ideas such as binary, hex and oct you either have to accept a shallow understanding of the ideas or go and find out more. This is a big problem with trying to introduce a low level language like C to the complete beginner. In languages such as JavaScript or Python you could ignore the data type distinctions needed because of how the data is stored. It isn't that these ideas aren't important it is just a matter of putting them off until later. The following chapters build on the idea of data - strings, operators and expressions, type conversion and so on. 

At Chapter 6, page 189 we start to deal with the core ideas of programming - looping and in Chapter 7 we meet branching and jumps. The discussion of these ideas is good and the difference between enumeration loops and conditional loops is made clear as is the importance of the position of the loop exit point - however this is done in box outs rather than in the main flow of the text. It really should be more integrated into the way that the language is taught. The good news is that while the goto is introduced, the reader is warned not to use it. 

 

Cprimerplus6e

 

From here the book goes into increasing detail about what you might call the supporting acts rather than the core language. The ideas of character I/O, functions, arrays and pointers, memory management, File I/O and structures take us to Chapter 14 at about 650 pages into the book. 

The final three chapters cover how you use C to do low level things and use of the preprocessor. Chapter 15 is an in-depth and fairly complete look at working with bits and bit manipulation. If you are using C then it is likely that this is the sort of thing you really want to do. Again, though, you do need to have an understanding of binary to make any sense of it at all. Chapter 16 is about the mysterious, to many, preprocessor and the use of macros. The final chapter takes the reader on a tour of advanced data structures, linked lists, abstract data types, queue, binary search trees and more. This isn't really directly related to C, but it is interesting. 

The book has questions all the way through and the good news is there are answers in an appendix together with a C reference which rounds off the book.

This is a beginner's book but given the technicalities of C the reader is going to have to know something about theory - binary numbers, logic etc. The book does describe everything you need to know carefully and it is easy reading so you should be able to learn C programming from it as long as you are prepared to read at least a half of the book. The other half you can come back to as you need to know more. 

Don't buy a copy if you already program well in another language, the approach is just too slow. But if you want to learn C and have very little to no programming experience then this book might suit. Recommended to the right reader. 

 

Related Reviews

Head First C

C Programming Absolute Beginner's Guide (3e)

Understanding and Using C Pointers

 

Banner


Joe Celko’s Trees and Hierarchies in SQL for Smarties

Author: Joe Celko
Publisher: Morgan Kaufmann
Pages: 270
ISBN: 978-0123877338
Aimed at: Advanced SQL developers or computer science students
Rating: 4.5
Pros: Lucid and understandable descriptions of abstract topics backed up by real code
Cons: Not a light read
Reviewed by: Kay Ewbank

Hierarchies and Trees  [ ... ]



Building Touch Interfaces with HTML5

Author: Stephen Woods
Publisher: New Riders
Pages: 256
ISBN: 978-0321887658
Audience: Experienced JavaScript developers
Rating: 2
Reviewer: David Conrad

Building a touch interface in a web app is obviously essential if you hope to complete with native apps on a mobile device so having a whole book dedica [ ... ]


More Reviews

 

 

Last Updated ( Monday, 21 July 2014 )
 
 

   
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.