Friday, May 14, 2010

[G999.Ebook] PDF Download Expert C Programming: Deep C Secrets, by Peter van der Linden

PDF Download Expert C Programming: Deep C Secrets, by Peter van der Linden

Guides Expert C Programming: Deep C Secrets, By Peter Van Der Linden, from simple to complex one will certainly be a very helpful works that you can require to change your life. It will certainly not give you unfavorable statement unless you don't obtain the definition. This is undoubtedly to do in checking out a book to overcome the definition. Typically, this e-book entitled Expert C Programming: Deep C Secrets, By Peter Van Der Linden is checked out because you actually similar to this kind of book. So, you could get easier to recognize the impression as well as significance. Once again to constantly keep in mind is by reviewing this publication Expert C Programming: Deep C Secrets, By Peter Van Der Linden, you can satisfy hat your curiosity start by finishing this reading publication.

Expert C Programming: Deep C Secrets, by Peter van der Linden

Expert C Programming: Deep C Secrets, by Peter van der Linden



Expert C Programming: Deep C Secrets, by Peter van der Linden

PDF Download Expert C Programming: Deep C Secrets, by Peter van der Linden

Envision that you obtain such particular spectacular experience as well as expertise by only checking out an e-book Expert C Programming: Deep C Secrets, By Peter Van Der Linden. How can? It appears to be higher when a publication can be the very best point to uncover. Publications now will appear in printed and also soft documents collection. One of them is this book Expert C Programming: Deep C Secrets, By Peter Van Der Linden It is so normal with the printed books. Nevertheless, lots of people often have no area to bring the publication for them; this is why they can't check out guide any place they want.

As understood, journey and also experience concerning driving lesson, entertainment, and expertise can be obtained by only reading a publication Expert C Programming: Deep C Secrets, By Peter Van Der Linden Also it is not directly done, you could recognize more about this life, regarding the globe. We provide you this proper and also easy means to get those all. We offer Expert C Programming: Deep C Secrets, By Peter Van Der Linden as well as several book collections from fictions to science whatsoever. One of them is this Expert C Programming: Deep C Secrets, By Peter Van Der Linden that can be your companion.

Exactly what should you believe more? Time to get this Expert C Programming: Deep C Secrets, By Peter Van Der Linden It is simple after that. You could only sit as well as remain in your area to obtain this book Expert C Programming: Deep C Secrets, By Peter Van Der Linden Why? It is on the internet book establishment that offer many compilations of the referred books. So, merely with net link, you can take pleasure in downloading this book Expert C Programming: Deep C Secrets, By Peter Van Der Linden as well as numbers of books that are hunted for now. By seeing the link web page download that we have actually given, the book Expert C Programming: Deep C Secrets, By Peter Van Der Linden that you refer a lot can be located. Merely conserve the asked for publication downloaded and install and afterwards you can appreciate guide to review every time as well as place you really want.

It is quite easy to read the book Expert C Programming: Deep C Secrets, By Peter Van Der Linden in soft documents in your device or computer system. Again, why need to be so difficult to obtain the book Expert C Programming: Deep C Secrets, By Peter Van Der Linden if you can select the less complicated one? This site will certainly relieve you to pick and select the very best collective publications from one of the most needed vendor to the released book lately. It will always upgrade the compilations time to time. So, connect to internet and see this website consistently to get the brand-new publication every day. Now, this Expert C Programming: Deep C Secrets, By Peter Van Der Linden is your own.

Expert C Programming: Deep C Secrets, by Peter van der Linden

This book is for the knowledgeable C programmer, this is a second book that gives the C programmers advanced tips and tricks. This book will help the C programmer reach new heights as a professional. Organized to make it easy for the reader to scan to sections that are relevant to their immediate needs.

  • Sales Rank: #71339 in Books
  • Published on: 1994-06-24
  • Original language: English
  • Number of items: 1
  • Dimensions: 9.00" h x .90" w x 7.40" l, 1.45 pounds
  • Binding: Paperback
  • 353 pages

Amazon.com Review
Defying the stereotypical notion that technical books tend to be boring, Expert C Programming offers a lively and often humorous look at many aspects of C--from how memory is laid out to the details of pointers and arrays. The author reveals his points through invaluable anecdotes, such as stories of costly bugs, and through folklore, such as the contents of Donald Knuth's first publication. Each chapter ends with a section entitled "Some Light Relief," which discusses topics (topics that some may consider to be "recreational"), such as programming contests. A fabulous appendix on job interview questions finishes the book.

From the Back Cover

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

Excerpt. � Reprinted by permission. All rights reserved.

Preface

Browsing in a bookstore recently, I was discouraged to see the dryness of so many C and C++ texts. Few authors conveyed the idea that anyone might enjoy programming. All the wonderment was squeezed out by long boring passages of prose. Useful perhaps, if you can stay awake long enough to read it. But programming isn't like that!

Programming is a marvellous, vital, challenging activity, and books on programming should brim over with enthusiasm for it! This book is educational, but also interesting in a way that puts the fun back in functions. If this doesn't seem like something you'll enjoy, then please put the book back on the shelf, but in a more prominent position. Thanks!

OK, now that we're among friends, there are already dozens and dozens of books on programming in C - what's different about this one?

Expert C Programming should be every programmer's second book on C. Most of the lessons, tips, and techniques here aren't found in any other book. They are usually pencilled in the margin of well-thumbed manuals or on the backs of old printouts, if they are written down at all. The knowledge has accumulated over years of C programming by the author and colleagues in Sun's Compiler and Operating Systems groups. There are many interesting C stories and folklore, like the vending machines connected to the Internet, problems with software in outer space, and how a C bug brought down the entire AT&T long-distance phone network. Finally, the last chapter is an easy tutorial on C++, to help you master this increasingly-popular offshoot of C.

The text applies to ANSI standard C as found on PCs and UNIX systems. Unique aspects of C relating to sophisticated hardware typically found on UNIX platforms (virtual memory, etc.) are also covered in detail. The PC memory model and the Intel 8086 family are fully described in terms of their impact on C code. People who have already mastered the basics of C will find this book full of all the tips, hints, and shortcuts that a programmer usually picks up over a period of many years. It covers topics that many C programmers find confusing:

  • What does typedef struct bar {int bar;} bar; actually mean?
  • How can I pass different-sized multidimensional arrays to one function?
  • Why, oh why, doesn't extern char *p; match char p100; in another file?
  • What's a bus error? What's a segmentation violation?
  • What's the difference between char *foo and char(*foo)?

If you're not sure about some of these, and you'd like to know how the C experts cope, then read on! If you already know all of these things and everything else about C, get the book anyway to reinforce your knowledge. Tell the bookstore clerk that you're "buying it for a friend."

— PvdL, Silicon Valley, California

Most helpful customer reviews

55 of 57 people found the following review helpful.
Provides great detail on C's dustier corners
By SciFi Fan
This book exposes many C programming language obscurities - particularly related to pointers, memory usage, and compiling. All of these things are things that you need in order to become an advanced C programmer.
This book is full of little nuggets. I keep it by my desk, and when I have a free moment, I turn to a page at random and read the section that catches my eye. It is a great way to learn something new or reinforce something you know.
If you are looking for a "bag of tricks" book with canned routines, this is not the book for you. For a good bag of tricks, check out "Mastering Algorithms with C," ISBN 1-56592-453-3.

31 of 32 people found the following review helpful.
Somewhat dated, a few minor problems, but worth reading
By Alexandros Gezerlis
Peter van der Linden's "Expert C Programming: Deep C Secrets", published in 1994, is already a classic. It explicitly assumes the reader knows how to program in C (according to the author, this "should be every programmer's second book on C"). In that sense, it is similar to Scott Meyers' "Effective C++" (originally published in 1991). Of course, C is a much smaller language than C++ but, even so, it does have some non-trivial aspects, which are precisely what van der Linden zeroes in on. Given the nature of this text, any review of its good and bad points needs to get down to the nitty-gritty.

The Good: Dennis Ritchie, in his essay on "The Development of the C language", wrote that "Two ideas are most characteristic of C among languages of its class: the relationship between arrays and pointers, and the way in which declaration syntax mimics expression syntax." In the book under review, van der Linden is at his finest when discussing precisely these two topics. Starting with arrays & pointers: the book includes 3 chapters on the subject, first tackling the classic "defined as array / external declaration as pointer" problem. Later, the author returns to the root of the confusion, namely that even though arrays and pointers are distinct entities in declarations/definitions, there is one major exception: a function can have an array parameter, but the argument will be converted to a pointer before the call (though this rule isn't recursive). As a result, even though arrays are not modifiable lvalues, you can use assignment inside a function since the argument will have been converted to a pointer. Leaving declarations behind us, the story gets more elaborate: i) when used in an expression an array name is converted to a pointer, and ii) a subscript is always equivalent to an offset from a pointer. Of course this is too straightforward, so the first point does not apply when the array "is the operand of the sizeof operator or the unary & operator, or is a string literal used to initialize an array" (6.3.2.1) -- C1X adds the _Alignof operator to this list. Moving on to Ritchie's second characteristic idea, the relationship between declaration syntax and expression syntax: van der Linden has one chapter on this subject, providing a very useful algorithm (in two versions) that allows one to untangle virtually any possible declaration (though it would have been nice if he had also mentioned "go right when you can, go left when you must"). He then applies this algorithm to the signal library function (sigaction's prototype was presumably too simple). In this connection, the author makes the interesting observation that the addition of const and volatile to ANSI C led to a reduction of the number of cases in which the use of a variable mimics its declaration. In a later chapter he makes a similar point regarding calls to a function and calls to a function through a pointer (or any level of pointer indirection). These are only two examples of van der Linden's non-hagiographic attitude: he devotes an entire chapter to the aspects of C he doesn't like (C's "sins of commission, sins of omission, and sins of mission" as he calls them), bringing to mind Matthew Wilson's later volume "Imperfect C++". The author's choice of words in this case ("sins of mission") reflects his wider approach to writing: his style is relaxed and often funny (more so in the early chapters). For example, he quotes Peter Weinberger (of awk fame) as saying: "All C programs do the same thing: look at a character and do nothing with it". Finally, the book does contain a number of other insights/techniques from various aspects of C programming, some important and relatively obvious (e.g. to implement a finite-state machine in C you probably need an array of pointers to functions), others considerably less so (e.g. the typedef keyword doesn't have to appear at the start of a declaration!).

The Bad: starting with big-picture issues, it's worth pointing out that the title is somewhat misleading. The book under review is better described by its subtitle "Deep C Secrets" (pun notwithstanding), as what it mainly covers are C's dark corners. Still on the theme of what a book with this title should or shouldn't include: the middle chapters (on the runtime system and on memory) are very clear and interesting, but most of this material can already be found in any undergrad Operating Systems textbook (minus the SunOS bent). While it is true that a skilled C programmer should know this stuff, these chapters are nowhere near expert-level. On a different note, the book is showing its age. Its datedness has secondary consequences (e.g. repeated references to MS-DOS and one mention of "machines on the Internet network") but also substantive repercussions. As this book came out in 1994, it doesn't contain anything on C99, therefore no bool, inline, restrict, static and type qualifiers in parameter array declarators, or any of the other features. Interestingly, van der Linden does mention that at the time people were talking about adding a complex number type to C: this was added in C99, but it looks like it's going to become optional in C1X. Similarly, he laments the fact that gets was included in C89: it was deprecated in C99 and will be removed in C1X. As could be expected, the C++ chapter is even more temporally bound. The text also suffers from a few minor issues which ordinarily wouldn't be worth noting, but seem out of place in a detail-oriented book whose author and publisher have had 17 years to fix up lesser faults. For example, terms like "data segment" and "text segment" are thrown around in the first half of the book but are only introduced in chapter 6 (of 11). At an even more fine-grained level, the order of expression evaluation is said to be unspecified on p. 48 though it was undefined only a page earlier. Another category of minor problems has to do with issues that were mangled in later reprints despite the errata list. First, on p. 80 the early part of the section title on "typedef x int[10] and #define x int[10]" was silently changed between printings (i.e. without an entry on the errata page) to "typedef int x[10]". This raises new issues which are also not discussed in the main text: the macro expansion leads to an invalid declaration, but now the typedef is legal. Second, p. 205 used to say "the automatic promotion of a character literal causes it to become an int", but in a later printing this was changed to "character literals have type int and they get there by following the rules for promotion from type char" which is obfuscatory at best. In reality, character literals (officially called "character constants") have type int because the standard says so: "An integer character constant has type int" (6.4.4.4). [As an aside, this is one of the incompatibilities between C and C++ mentioned by van der Linden on p. 326.]. Finally, the book's index is hopeless: e.g. there's an entry on Fortran and a separate one on Fortran 90, but no entries on functions or structs.

Readers who are searching for a "second book on C" with lots of insights on design should probably look at David Hanson's "C Interfaces and Implementations", as "Expert C Programming" doesn't really discuss large-scale software construction. Also, this book does suffer from a pro-Sun/anti-Microsoft bias and it does contain some outdated material. However, a finite fraction of the C community still uses C89/C90 exclusively, so for readers who want to study not-so-often examined aspects of C this text is irreplaceable (despite minor problems here and there). All in all, 4 stars.

Alex Gezerlis

1 of 1 people found the following review helpful.
Tremendous book
By Lance C. Hibbeler
What an amazing book. Who better to write about the subtle nuances of C programming than a man that wrote a compiler? This book is not an introduction (if you couldn't tell by the name), nor is it a place for quick tips. The explanations are not long-winded, but they are complete. Peter hits on all the high points that are often not adequately explained in most books on C, that you really need to know to program correctly. After reading this book, I think the whole pointer/array thing is put to rest...at least for me. The job interview questions at the end were very helpful to me...I'm not going to take a job as a programmer any time soon, but they still tested my knowledge of the language and of programming in general. I gained a lot out of the last chapter, which is an intro to C++...I've been floundering trying to understand OOP and how to program in it, and Peter gave a VERY nice, clear introduction to the basic concepts.

I enjoyed Peter's humor (sometimes laugh out loud, which makes anyone raise their eyebrow when they see the book title) and writing style. It was a very delightful text to read.

This book is an absolute must have for anyone that programs in C (as a second book on the subject). It should be required reading for anyone that teaches a course on C programming.

See all 133 customer reviews...

Expert C Programming: Deep C Secrets, by Peter van der Linden PDF
Expert C Programming: Deep C Secrets, by Peter van der Linden EPub
Expert C Programming: Deep C Secrets, by Peter van der Linden Doc
Expert C Programming: Deep C Secrets, by Peter van der Linden iBooks
Expert C Programming: Deep C Secrets, by Peter van der Linden rtf
Expert C Programming: Deep C Secrets, by Peter van der Linden Mobipocket
Expert C Programming: Deep C Secrets, by Peter van der Linden Kindle

Expert C Programming: Deep C Secrets, by Peter van der Linden PDF

Expert C Programming: Deep C Secrets, by Peter van der Linden PDF

Expert C Programming: Deep C Secrets, by Peter van der Linden PDF
Expert C Programming: Deep C Secrets, by Peter van der Linden PDF

No comments:

Post a Comment