Summary Of The Book Brian W. Kernighan and Rob Pike have used their experience in programming, as well as teaching, to write this guidebook for programmers. The Practice of Programming: Simplicity, Clarity, Generality gives numerous guidelines and suggestions that will prove very useful to those who are new to programming and to those who are experienced as well. The book shows how to avoid classic mistakes, and gives details of the coding skills that are needed by the programmers, but are most often omitted in programming classes. The authors have stressed on 3 principles of programming, Clarity, Simplicity, and Generality, which are the basic and the most important principles of programming. The authors have provided practical programming advice and real world examples in C , C, Java, and other languages. The guidelines provided by the authors are not limited to any particular language and are applicable to most programming languages. The book is divided into 9 chapters. These include Algorithms and Data Structures, Style, Design and Implementation, Debugging, Interfaces, Testing, Portability, Performance, and Notation. In The Practice of Programming: Simplicity, Clarity, Generality, Kernighan and Pike demonstrate various essentials of programming such as how to ensure that your software works properly and runs everywhere without any change, how to use a code that is easy and pleasurable to read, how to find bugs, and how to make programs fast and compact. About The Authors Born in 1942, Canadian computer scientist Brian W. Kernighan, is a well known name in the world of software programming. Kernighan has written and co-authored several books. These are The C Programming Language, The Unix Programming Environment, Software Tools, Software Tools in Pascal and The Elements of Programming Style. Kernighan completed his PhD from Princeton University, and joined Bell Laboratories in 1969. Since then, he has been making significant contributions to the world of software programming. Kernighan has contributed to the development of programming languages like UNIX, AWK, and AMPL. Kernighan is also a professor at Princeton University’s Computer Science Department. He is also a consulting editor for Addison-Wesley’s Computing series. Rob Pike (1965) is also a well known Canadian software engineer. He has also co-written books such as The Unix Programming Environment, AMPL: A Modeling Language for Mathematical Programming, and The AWK Programming Language. Pike was the lead architect of the Inferno and Plan 9 operating systems. He now works for Google, and is working on the creation of Go and Sawzall programming languages. Pike has contributed significantly to the development of many programming languages.