A GreatBooksList (See BookList). Also see GreatBooksAboutSoftware [which should be merged with this page]. ''This is more like a list of books about C++ and OOP.'' * ''Design Patterns'' (DesignPatternsBook) - Gamma et al (the GangOfFour) * ''CodeComplete'' - SteveMcConnell * ''Object-Oriented Programming with Turbo Pascal'' * ''Effective C++ (EffectiveCeePlusPlus)'' - ScottMeyers * ''More Effective C++ (MoreEffectiveCeePlusPlus)'' - ScottMeyers * ''C++ Primer, 2nd Edition'' - Stanley B. Lippman * ''Designing OO Apps Using The Booch Method'' - RobertMartin * ''AdvancedCeePlusPlusProgrammingStylesAndIdioms'' - JimCoplien * ''RapidDevelopment'' - SteveMcConnell * ''ObjectOrientedSoftwareConstruction'' - BertrandMeyer * ''PatternsOfSoftware'' - RichardGabriel * ''SqlForSmarties'' - JoeCelko * ''XSLT, 2nd Edition'' - Michael Kay * ''Oh! Pascal!'' - no longer in print, but v. worthy From BillDehora: * ''Compilers'' Sethi, Aho, Ullman * ''IntroductionToAlgorithms'', Cormen, Leiserson, Rivest * ''HowToWriteParallelPrograms'', Gelernter, Carriero * ''StructureAndInterpretationOfComputerPrograms'', Abelson, Sussman * ''ProgrammingPearls'', JonBentley * ''Design Patterns'' Gamma et al * ''MasteringRegularExpressions'' Friedl * ''RefactoringImprovingTheDesignOfExistingCode'', MartinFowler * ''ParadigmsOfArtificialIntelligenceProgramming'', PeterNorvig * ''UNIX Network Programming'', Stevens From TomJordan (mailto:ace@programmer.net): * ''C++ FAQs'', Marshal P. Cline and Greg A. Lomow, Addison-Wesley. 1995. [ISBN 0-201-58958-3] (also the second edition of C++ FAQS is ISBN 0-201-30983-1] * ''Design Patterns: Elements of Reusable Object-Oriented Design'' (DesignPatternsBook), ErichGamma, RichardHelm, RalphJohnson and JohnVlissides, Addison-Wesley. 1995. [ISBN 0-201-63361-2] * ''Designing Object-Oriented C++ Applications: Using the Booch Method'', RobertCecilMartin, PrenticeHall. 1995. [ISBN 0-132-03837-4] * ''Object-Oriented Software Engineering: A Use Case Driven Approach'', IvarJacobson, Addison-Wesley. 1992. [ISBN 0-201-54435-0] * ''LargeScaleCppSoftwareDesign'', John S. Lakos, Addison-Wesley. 1996. [ISBN 0-201-63362-0] From Steve Roth (r26809@email.sps.mot.com): * ''CORBA Design Patterns'' - T. Mowbray/R. Malveau From Steve Albin (stevealbin@acm.org): * ''ObjectOrientedAnalysisAndDesign with Applications, 2ed.'', GradyBooch, Menlo Park CA: Addison-Wesley, 1994. * ''Taligent's Guide To Designing Programs'', Reading MA: Addison-Wesley, 1994. * ''DeclineAndFallOfTheAmericanProgrammer'', EdwardYourdon, Englewood Cliffs NJ: Yourdon Press, 1992. * ''The MythicalManMonth'', FredBrooks, Reading, MA: Addison Wesley, 1975 * ''The Practical Guide to Enterprise Architecture'', JamesMcGovern, et al. PrenticeHall, 2003. * ''Pattern-Oriented Software Architecture'', FrankBuschmann, et al. Wiley, 1996. From BrianFoote (foote@cs.uiuc.edu): * ''TheMythicalManMonth'', Brooks, AW (If you read nothing else on this page, read MMM...) (and of course...) * ''A PatternLanguage'', ChristopherAlexander, et. al., Oxford * ''TheTimelessWayOfBuilding'', " " * ''TheOregonExperiment'', " " * ''HowBuildingsLearn'', StewartBrand, Penguin * ''TheSelfishGene'', RichardDawkins, Oxford * ''Smalltalk-80 (Blue Book)'', Goldberg and Robson, AW * ''ArtOfComputerProgramming'', DonKnuth (I-III), AW * ''TheArtOfTheMetaObjectProtocol'', GregorKiczales, des Rivieres, Bobrow * ''Principles of Compiler Construction'', Aho & Ullman, AW From Christoph Koegl (koegl@informatik.uni-kl.de): * ''LargeScaleCppSoftwareDesign'', John Lakos, Addison-Wesley * ''Object Models'', PeterCoad, Yourdon Press * ''Object Solutions'', GradyBooch, Addison-Wesley * ''Fundamentals of Algorithmics'', Gilles Brassard and Paul Bradley, PrenticeHall From Ger Hartnett (hartnett@shannon.tellabs.com): * ''Understanding Computers and Cognition'', Winograd & Flores. * ''CommunicatingSequentialProcesses'', CarHoare. * The PatternLanguagesOfProgramDesign books. From BetsyHanesPerry (betsyp@vnet.net): * ''TheMythicalManMonth'' (20th anniversary edition) From FrankLusardi: * ''DesigningAndWritingOnlineDocumentation'', WilliamHorton From Thomas Patzke (Thomas.Patzke@kvwl.de): * ''Inside the Object Model'', D.M. Papurt, SIGS Books * ''Analysis Patterns'', MartinFowler, AW * ''Taming C++'', JiriSoukup, AW From RalphJohnson: * ''The Architecture of Concurrent Programs'', Per Brinch Hansen. This book kept me up all night back in 1977, and when I finished it, I understood operating systems. * ''Fundamental Algorithms'', DonKnuth * ''Software Tools'', BrianKernighan and PjPlauger From JamesCollins: * ''Surviving Object-Oriented Projects: A Manager's Guide'', Addison-Wesley Object Technology Series, AlistairCockburn. Addison-Wesley. 1997. [ISBN 0-201-49834-0] I've been using Alistair's ''V-W'' metaphor for incremental development for years. It's really helped me to educate managers and developers (not to mention myself), and contributed to several large project successes. From JohnSwartz (mailto:john.swartz@tdh.state.tx.us): * ''ProgrammingPearls'', JonBentley * ''More Programming Pearls'', JonBentley * ''LittleLisper'', DanielFriedman From GlennWilson * ''Design Patterns'' (DesignPatternsBook), Gamma et al ISBN 0-201-63361-2 * ''RefactoringImprovingTheDesignOfExistingCode'', MartinFowler ISBN 0-201-48567-2 * ''Fundamental Algorithms'', DonKnuth ISBN 0-201-89683-4 * ''Writing Interactive Compilers and Interpreters'', Brown ISBN 0 471 27609 X * ''Software Tools'', BrianKernighan and PjPlauger ISBN 0-201-03669-X Papers: * ''Beyond Programming in the Large'', MaryShaw -- In 1986, I saw her present this paper at the Austin chapter of the IEEE Computer Society. This paper is a notch above the current SEI party line. From JonathanFeinberg: * ''Effective Java Programming Language Guide'', JoshuaBloch ISBN 0201310058 - Clear thinking, clear writing, good advice applicable to all languages. * ''The Little Schemer'', DanielFriedman and MathhiasFelleison, ISBN 0262560992 - A gentle introduction to computability and recursion theory. Food! * ''The C Programming Language'', BrianKernighan and DennisRitchie, ISBN 0131103628 - You have it already, but it's good to be reminded. * ''Expert C Programming'', PeterVanDerLinden, ISBN 0131774298 - You probably don't have it, but you should. Why? It's very funny, and extremely technically absorbing. * ''The Practice of Programming'', BrianKernighan and RobertPike, ISBN 020161586X - If I were the kind of guy to put marginal notes in my books, and I'm not, I would have written "Yes!", "Exactly!", and "Jennifer 212-547-2199" in this one. From DanSchmidt: Here's my top-eight list, alphabetical by author, from glancing at my bookcase: * ''StructureAndInterpretationOfComputerPrograms'', Abelson & Sussman * ''Writing Efficient Programs'', Bentley (what a crime this is out of print) * ''Introduction to Algorithms'', Cormen, Leiserson, & Rivest * ''Design Patterns'' (DesignPatternsBook), Gamma, Helm, Johnson, & Vlissides * ''The Art of Computer Programming'', DonKnuth * ''TexTheProgram'', DonKnuth * ''Effective C++'', ScottMeyers * ''Algorithms in XXX'', Sedgewick From NissimHadar: * KentBeck's ''ExtremeProgrammingExplainedEmbraceChange'' -- it has given me more confidence in the way I work than anything I have read. ---- From MagnusLyckaa: * See http://www.thinkware.se/cgi-bin/thinki.cgi/GoodBooks According to the page at Addison-Wesley (http://www.awl.com/cseng/20thcentbookwinners.shtml [BrokenLink]): ''In December 2000, Pearson PTR, Slashdot.org, Netscape's DevEdge Online and Doctor Dobb's Journal asked readers to nominate those books [each person chose three books] that have made the biggest impact in computer technologies to date. Books that stand dog-eared next to computers - ready to tackle the next challenge. Books that have stood the test of time, and whose value extends into the next century. '' I agree that some of the books on the list, such as TAOCP and MMM, are with no doubt worth their place there, but cannot believe that ''InsideDistributedCom'' took the first rank. IMHO, the vote seems to have been somewhat biased toward specific techniques. (For instance, can we say, without any hesitation, both the two PerlLanguage books, ''ProgrammingPerl'' and ''LearningPerl'' should take their place in the top 30 list for the 20th century computer books? What about ''HTML 4 for the World Wide Web''?) What do you think about it? (Has anyone participated in or, at least, heard of the vote?) -- JuneKim ---- I want to know about HolubOnPatterns. --- JonathanCoupe: * ThePsychologyOfMilitaryIncompetence by Norman F Dixon (excellent on ritualistic, non-goal oriented bahviour) * Programming Pearls by Jon Bentley * Any book of essays by George Orwell for examples on how to think and write clearly (and hence program well). ---- See * GreatBooksAboutSoftware * DefinitiveCeePlusPlusBooks * DefinitiveJavaBooks * DefinitivePerlBooks * DefinitiveSmalltalkBooks * MyLowestBookshelf * the BookShelved wiki ---- See also http://www.angelikalanger.com/BookList.html ---- CategoryBooks