REVIEW - C by Example


Title:

C by Example

Author:

Greg M. Perry

ISBN:

Publisher:

Que Pub (2000)

Pages:

512pp

Reviewer:

Yechiel M. Kimchi

Reviewed:

October 2000

Rating:

★☆☆☆☆


This is not the worst book on C I have ever seen, but it is the strongest competitor for this title. The author may know how to program and may know C and even may know ANSI-C, but none of these is shown in his writing of this book.

In order to make this review short (the book does not deserve much of your time) I will concentrate on citing erroneous statements from the book. I shall leave the criticism of the coding in the book to my Web-page.

  1. The author claims to teach ANSI-C (p. 11). Apparently, the type
    signed_char
    (and many more such in the table on p. 38) and the
    FILE* object stdprn
    (p. 293), to name a few, were kept secret from me.
  2. The author seems to have missed his class when the if-statement was taught. I thought I was picking at him when I noticed that he wrote on p. 129: 'The else-statement ...', but when I saw that he claims, on p. 144, that 'Any valid if C statement can be a
    conditional_expression
    ...' I relaxed. Since the latter is false when the if-statement has a loop inside it, he may have missed the class on loops too.
  3. The author has many misconceptions about the increment/decrement operators. For example (p.147): 'You can apply these operators only to variables.' Hmm... what about
    ++*(p+3)
    ?
  4. p. 248: 'Never pass a global variable [as a function argument, YMK] because C will get confused.'
  5. p. 412: 'Local variables are reserved before your program ever begins, just as global variables are.'
  6. p. 413: 'A
    void
    pointer is a special kind of pointer that you must typecast.'
  7. p. 414: 'Remember that a pointer is no different from an array name.'
For the cherry on the pie; at the end of each chapter, the author gives a 'What's next' paragraph, explaining the coming subject. Here is how the 'What's next' of the last chapter begins (p. 457); 'Next, you should begin making money at your career of C programming. Seriously, you now know as much as most C programmers know about the C programming language.'

Indeed, I cannot prove that these statements are false, since it may be the case that 'most C programmers' have acquired their knowledge from this book. Moreover, bad programmers are able to make money, a lot of it - if they work for the right company. However, textbooks should aim higher, shouldn't they?

I shall conclude with the following: At the beginning of the book, in the section 'About the Author', it is written (p. xi): 'He is known for his skills at bringing advanced computer topics down to the novice's level.' I would have shortened this statement to be read: 'He is known for bringing his skills down to the novice's level.'

More examples of errors can be found on my pagehttp://www.cs.technion.ac.il/users/yechiel/CS/BadBooksC+C++.html#PerryCbyExample


Book cover image courtesy of Open Library.





Your Privacy

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

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.