Getting Started with Arduino, 1st Edition
by Massimo Banzi
Programming Interactivity, 1st Edition
by Joshua Noble
Algorithms in a Nutshell
by George T. Heineman; Gary Pollice; Stanley Selkow
Learn C on the Mac
by Dave Mark
Regular Expressions Cookbook
by Jan Goyvaerts; Steven Levithan
This is a very different book on the C language! In an easy, conversational style, Peter van der Linden, of Sun's compiler and OS kernel group, presents dozens of astonishing examples drawn from practical experience, including:
Software that blew up the space probe to Venus
The C bug that shut down the entire AT&T phone system
C programmer job interview secrets
Why programmers can't tell Halloween from Christmas day
The C code for a complete BASIC interpreter
Expert C Programming reveals the coding techniques used by the best C programmers. It relates C to other languages, and includes an introduction to C++ that can be understood by an programmer without weeks of mind-bending study. Covering both the IBM PC and UNIX systems, it is an entertaining and educational romp through C showing how experts really use it. Expert C Programming is a must read for anyone who wants to learn more about the implementation, practical use, and folklore of C.
"Not just clearly written, but fun to read. The tone and style of this text should make this a popular book with professional programmers. However, the tone of this book will make it very popular with undergraduates. Appendix A alone would make the purchase of this book a must. It's filled with great advice."
—Professor Jack Beidler, Chairman, Department of Computer Science, University of Scranton
"So that's why extern char *cp isn't the same as extern char cp. I knew that it didn't work despite their superficial equivalence, but I didn't know why. I also love the job interview test questions on C."
—David S. Platt, Rolling Thunder Computing
"In Expert C Programming, Peter van der Linden combines C language expertise and a subtle sense of humor to deliver a C programming book that stands out from the pack. In a genre too often known for windy, lifeless prose, van der Linden's crisp language, tongue-in-cheek attitude, and real-world examples engage and instruct."
—John Barry, author of Sunburst, Technobabble, and other books
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 84 Ratings
Expert C Language - 2009-07-23
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
A better title for this book is "Expert C Language". It is more like a English grammar book that give you fundamental yet in-depth knowledge about C programming language itself, rather than something like writing database in C.
Any programmer can write a Hello World program in C, but not everyone understand "char * const * (*next)()". If you wonder what it is, then dive into the chapter "Unscrambling declaration in C" which benefit me the most. The most confusing thing to begininer about C is probably the pointers, you get *ptr, **ptr, (int *)ptr, void (*ptr)(), int (*ptr)[]. If you have got no clue about these and you want to be an expert, then this is the book for you.
The down side about this book is, it is a bit dated, therefore it didn't include C99 standard that were published after this book. You would see some K&R style programming that seems like violation or bug to younger folks.
I would definitely recommend this book to every C programmer working at low-level software such as embedded software and device driver.
Collection of useful ideas from an experienced compiler writer - 2009-04-11
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
The author is a compiler writer, this is the biggest strength of this book other than the humor side. I already know most of the facts, but he explains everything from a compiler perspective, for example:
Arrays start at 0 rather than 1. Most people start counting at 1, rather than zero. Compiler-writers start with zero because we're used to thinking in terms of offsets. This is sometimes tough on non-compiler-writers; although a[100] appears in the definition of an array, you'd better not store any data at a[100], since a[0] to a[99] is the extent of the array.
Although the book is a little dated, the following chapters are still fun and inspiring to read:
Chapter 5. Thinking of Linking
Chapter 6. Poetry in Motion: Runtime Data Structures
Chapter 7. Thanks for the Memory
Plus, I also enjoy his humor as everyone did:
"To this day, many C programmers believe that 'strong typing' just means pounding extra hard on the keyboard."
Expert on C, not expert on programming in C - 2008-08-27
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book helps you on the way of becoming an expert on the C programming language, it is not much help for the purpose of becoming an expert on programming in C.
What's the difference? Well, on the dimension from language lawyer to poet, this book falls more on the lawyerish side. In the same way that grammatically correct sentences in a natural language are rarely great poetry, so correct C programs are not necessarily great programs. Correctness is necessary, yes, but hardly sufficient.
Van der Linden has little to say (or if he has, he doesn't tell) about topics such as good style at a small scale and doesn't at all touch how to structure programs at the large scale. Things like how to avoid name clashes, structure header files, handle errors, avoid resource leaks.
The C programming language is still very much alive, and as far as I can tell, the place on the shelf for a book on C Patterns & Idioms is still vacant, waiting to be filled.
Great book and service - 2008-09-16
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I had this book in PDF format before and liked it so much that I bought the book. An excellent book for advanced c/c++ programmers, a very good insight in linker, assembler. The book is all you need to learn many ambiguities of c.
Also, the book arrived in condition as described. Great service.
Title says it all - 2008-09-15
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
One of the best books I have seen on C programming. Interesting stories and author's ability to explain dusty corners of C language are really appreciated. I wish someone could have recommended this book to me during school days. Anyway, it is never late to read this book.
Some information on this page was provided using data from Amazon.com®. View at Amazon >