Expert C Programming
🍌 Dodanie môže trvať viac ako dva týždne
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.
Written for experienced C programmers who want to quickly pick up some of the insights and techniques of experts and master the fine arts of ANSI C, this volume passes on the wisdom of a highly experienced C compiler writer and his colleagues to help programmers reach new heights, and avoid common software pitfalls along the way. Using an original approach and a humorous style that makes deep knowledge both easy and accessible, it gathers into one place, tips, hints, shortcuts, guidelines, ideas, idioms, heuristics, tools, anecdotes, C folklore, and techniques that are often penciled in margins and on backs of papers by those working in the programming trenches—working on many different kinds of projects, over many, many years. Each chapter is divided into self-contained sections. Includes extended discussions of major topics such as declarations and arrays/pointers; offers a great many hints and mnemonics; covers topics that many C programmers find confusing; and features one of the best introductions to C++, and the rationale behind it. Throughout, technical details are interspersed with many true stories of how C programming works in practice, and each chapter ends with an amusing C story or piece of software folklore. For software engineers and computer programmers who are writing, developing, testing, debugging software on either IBM PCs or Unix systems.