The Top 9½ Books In a Hacker's Bookshelf _ GrokCode

Please download to get full document.

View again

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
  Home Work Portfolio About Article Archives GrokCode Hire Us The Top 9½ In a Hacker’s Bookshelf by Jess Johnson in Books & Tools Every hacker should have a good solid dead tree library to draw ideas from and use as reference material. This list has a bit of everything – textbooks you will encounter at top tier computer science universities, books giving insight into the industry, and references you shouldn’t be caught without. It is a list of hackers’ classics. The Mythical Man Month: Essays o
  HomeWork PortfolioAboutArticle ArchivesGrokCodeHire Us  The Top 9½ In a Hacker’s Bookshelf  by  Jess JohnsoninBooks & Tools Every hacker should have a good solid dead tree library to draw ideas from and use as reference material. This list hasa bit of everything – textbooks you will encounter at top tier computer science universities, books giving insight intothe industry, and references you shouldn’t be caught without. It is a list of hackers’ classics.The Mythical Man Month: Essays on Software Engineering – Anniversary Editionby Fredrick P. BrooksThis is a classic on the human elements of software engineering first published in 1975. The technology has changed alot in this time, but the human elements of software engineering have remained the same. It is a wealth of insight, oftenquoted, and very well known in the industry. “The Mythical Man Month” describes many commonly occurringproblems in large and mid-scale development projects and breaks them down. Here are a two of the book’s importantprinciples:The Mythical Man-Month: Adding manpower to a late software project makes it later.No silver bullet: There is not a single strategy, technique, or trick that can exponentially raise the productivity of programmers.  I recommend this book not only for programmers, but for anyone managing a software project. Project managers andprogrammers alike will appreciate Brooks’ clear, well-thought out points.The C Programming Language (2nd Edition)by Brian W. Kernighan and Dennis M. RitchieCommonly referred to as just K&R, this is the canonical C reference book. It’s to the point without being too terse; itis detailed enough for a beginner to understand without being bloated. K&R tells you exactly what you need. Nothingmore, nothing less. At 274 pages this is one of the most compact languages references you will find. I dare a Javaauthor to come up with something so sweetly concise.This book is recommended for anyone learning C, and for anyone looking for a C reference book. K&R is a must readfor anyone who is writing a language reference or technical literature.If you have never programmed before, K&R might not be the best place to start out, but still doable if you aremotivated. Beginners might also consider getting a copy of “The C Answer Book,” which gives detailed explanationsof solutions to the K&R exercises.Structure and Interpretation of Computer Programs (2nd Edition)by Harold Abelson and Gerald Jay SussmanSICP is used in entry level computer science classes at many top tier universities including the University of California– Berkeley and the Massachusetts Institute of Technology. It uses the Scheme language to introduce many powerfulparadigms like recursion, lambda notation, abstraction, and interpreted languages.I found this book incredibly dense when I first read it for an introductory CS class, and there was still much to learnfrom a reread several years later after I had a better grasp of the ideas presented here. If you didn’t have theopportunity to use this book in the classroom, I would recommend picking it up to see what you missed, especially if you haven’t used any of the Lisp dialects extensively.  Code Complete 2: A Practical Handbook of Software Constructionby Steve McConnell“Code Complete 2 ″ is a highly regarded book about software construction, where McConnell defines construction asmainly programming and debugging, along with some elements of construction planning, detailed design, unit testing,integration, and integration testing. The book’s focus is on writing better code. McConnell touches on a wide variety of topics including managing complexity, refactoring, coding style, and writing good comments.This book is recommended for anyone who wants to write good solid code. It will save beginners time when learninggood coding practices, and is a great refresher for programmers with years of experience who may find that over timethey have developed habits that are holding them back.Introduction to Algorithms, Third Editionby Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford SteinThis is another textbook. “Introduction to Algorithms,” is probably the most popular university-level text foralgorithms classes. It also serves as an excellent reference book.Even though practically speaking most programmers shouldn’t be writing their own implementation of, say, quicksort,in a production environment, algorithms knowledge is essential for understanding what kind of asymptoticperformance you can expect from libraries and your own code.“Introduction to Algorithms,” is recommended as a reference for any developer looking to brush up on their algorithmskills. It is also recommended if you are interested in topics like NP-Completeness, randomized algorithms, or FastFourier Transformation. Good math skills are essential if you want to grok all parts of this book.  Design Patterns: Elements of Reusable Object-Oriented Softwareby Erich Gamma, Richard Helm, Ralph Johnson, and John M. VlissidesThis is a catalog of different object-oriented design patterns. For each of the 23 patterns that are presented, the authorsgive an in-depth analysis including a motivating example for the pattern, common pitfalls and trade-offs, relatedpatterns, and sample code in either C++ or Smalltalk. Some of the patterns covered are Singleton, Observer, TemplateMethod, Iterator, and Proxy.This book is a must read for intermediate or advanced developers working on object-oriented code. Coders that arenew to object-oriented design would be best served by mastering the basics of an object-oriented language and diggingin to non-trivial project before attempting to learn all of the patterns presented here, otherwise the patterns aren’tlikely to “stick.”Programming Pearls (2nd Edition)by Jon BentleyThis is a great book for learning how to approach problems. Each of the 15 chapters presents a different task, such assorting phone numbers, creating anagrams, or doing text searches. The problem is defined, and then Bentley walksthrough different solutions, providing a discussion and clear analysis of each solution, with a breakdown of programming principles at the end.“Programming Pearls,” contains some very clever ideas, and would be of some use as an algorithm reference for asmall class of problems, but the take away of the book is something much bigger and more general: how to approachand solve problems from the perspective of an engineer.I recommend this book to anyone who enjoys working though programming brain teasers.Compilers: Principles, Techniques, and Tools, 2nd Editionby Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman“Compilers: Principles, Techniques, and Tools,” is commonly known simply as the “dragon book.” This is the standardtextbook in a theoretical compilers class. It covers everything you would expect to find in a compilers text: languagesyntax, parsers, lexical analysis, grammars, intermediate code generation, runtime environments, optimization, etc. If 
Related Search
Similar documents
View more
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks