zoukankan      html  css  js  c++  java
  • 各个阶段要读的书

    //z 2011-06-25 17:53:49@is2120.CSDN 转载请注明出处

    各阶段 c++ 书籍 推荐 经典 书单 算法 数据结构


    原文由 wanfustudio 发表于csdn论坛

    Beginning C++


    ? Harvey M. Deitel and Paul J. Deitel, C++ How to Program (Fourth Edition), Prentice Hall,
    2002, ISBN: 0-130-38474-7
    Known as simply the “Deitel” book, this text assumes no prior programming experience.
    ? Bruce Eckel, Thinking in C++, Volume 1: Introduction to Standard C++ (Second Edition),
    Prentice Hall, 2000, ISBN: 0-139-79809-9.
    An excellent introduction to C++ programming that expects the reader to know C already.
    Available at no cost online at
    www.bruceeckel.com.
    ? Stanley B. Lippman and Josée Lajoie, C++ Primer (Third Edition), Addison Wesley, 1998,
    ISBN: 0-201-82470-1.
    This book requires no knowledge of C++, but experience with high-level object-oriented languages
    is assumed.
    ? Steve Oualline, Practical C++ Programming (Second Edition), O’Reilly, 2003, ISBN:
    0-596-00419-2.
    An introductory C++ text that assumes no prior programming experience.
    ? Walter Savitch, Problem Solving with C++: The Object of Programming (Fourth Edition),
    Addison Wesley Longman, 2002, ISBN: 0-321-11347-0.
    This book assumes no prior programming experience. It is often used as a textbook in introductory
    programming courses.

    //z 2011-06-25 17:53:49@is2120.CSDN 转载请注明出处

    General C++

    ? Marshall Cline, C++ FAQ LITE, www.parashift.com/c++-faq-lite.
    ? Marshall Cline, Greg Lomow, and Mike Giru, C++ FAQs (Second Edition), Addison Wesley, 1998,
    ISBN: 0-201-30983-1.
    This compilation of frequently asked questions from the comp.lang.c++ newsgroup is useful for quickly
    looking up a specific point about C++. The printed version contains more information than the online ver-
    sion, but the material available online should be sufficient for most professional C++ programmers.
    ? Stephen C. Dewhurst, C++ Gotchas, Addison Wesley, 2003, ISBN: 0-321-12518-5.
    Provides 99 specific tips for C++ programming.
    ? Bruce Eckel and Chuck Allison, Thinking in C++, Volume 2: Practical Programming (Second Edition),
    Prentice Hall, 2003, ISBN: 0-130-35313-2.
    The second volume of Eckel’s book covers more advanced C++ topics. It’s also available at no cost
    online at
    www.bruceeckel.com.
    ? Ray Lischner, C++ in a Nutshell, O’Reilly, 2003, ISBN: 0-596-00298-X.
    AC++ reference, covering everything from the basics to more advanced material.
    ? Scott Meyers, Effective C++ (Second Edition): 50 Specific Ways to Improve Your Programs and
    Designs, Addison Wesley, 1998, ISBN: 0-201-92488-9.
    ? Scott Meyers, More Effective C++: 35 New Ways to Improve Your Programs and Designs, Addison
    Wesley, 1996, ISBN: 0-201-63371-X.
    These two books provide excellent tips-and-tricks on commonly misused and misunderstood features
    of C++.
    ? Stephen Prata, C++ Primer Plus, Sams Publishing, 2001, ISBN: 0-672-32223-4.
    One of the most comprehensive C++ books available.
    ? Bjarne Stroustrup, The C++ Programming Language (Special Third Edition), Addison Wesley, 2000,
    ISBN: 0-201-70073-5.
    The “Bible” of C++ books, written by the designer of C++ himself. Every C++ programmer should own
    a copy of this book, but it can be a bit obscure in places for the C++ novice.
    ? The C++ Standard: Incorporating Technical Corrigendum No. 1, John Wiley & Sons, 2003, ISBN:
    0-470-84674-7.
    This book is almost 800 pages of dense standard-eze. It doesn’t explain how to use C++, only what the for-
    mal rules are. We don’t recommend this book unless you really want to understand every detail of C++.
    ? Newsgroups at
    http://groups.google.com, including comp.lang.c++.moderated and
    comp.std.c++.
    The newsgroups contain a lot of useful information if you’re willing to wade through the flame wars,
    insults, and misinformation that appear as well.
    ? The C++ Resources Network at www.cplusplus.com/.
    This Web page isn’t as useful as it sounds. As of this writing, the C++ reference section is still under con-struction.

    I/O Streams

    ? Cameron Hughes and Tracey Hughes, Mastering the Standard C++ Classes: An Essential Reference,
    Wiley, 1999, ISBN: 0-471-328-936.
    Agood book for learning how to write custom
    istream and ostream classes.
    ? Cameron Hughes and Tracey Hughes, Stream Manipulators and Iterators in C++,
    Professional Technical Reference, Prentice Hall,
    http://phptr.com/articles/
    article.asp?p=171014&seqNum=2
    .
    This well-written article by the authors of Mastering the Standard C++ Classes takes the mystery out of
    defining custom
    stream manipulators in C++.
    ? Philip Romanik and Amy Muntz, Applied C++: Practical Techniques for Building Better Software,
    Addison Wesley, 2003, ISBN: 0-321-10894-9.
    In addition to a unique blend of software development advice and C++ specifics, this book provides one
    of the best explanations we’ve read of locale and Unicode support in C++.
    ? Joel Spolsky, The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About
    Unicode and Character Sets (No Excuses!),
    www.joelonsoftware.com/articles/Unicode.html.
    After reading Joel’s treatise on the importance of internationalization, you’ll want to check out his other
    entries on Joel on Software.
    ? Unicode, Inc., Where is my Character?,
    www.unicode.org/standard/where.
    The best resource for finding Unicode characters, charts, and tables.

    The C++ Standard Library

    ? Nicolai M. Josuttis, The C++ Standard Library: ATutorial and Reference, Addison Wesley, 1999,
    ISBN: 0-201-37926-0.
    This book covers the entire standard library, including I/O
    streams and strings as well as the contain-
    ers and algorithms. It’s an excellent reference.
    ? Scott Meyers, Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library,
    Addison Wesley, 2001, 0-201-74962-9.
    Meyers wrote this book in the same spirit as his “Effective C++” books. It provides targeted tips for
    using the STL, but is not a reference or tutorial.
    ? David R. Musser, Gillmer J. Derge, and Atul Saini, STLTutorial and Reference Guide (Second
    Edition), Addison Wesley, 2001, ISBN: 0-201-37923-6.
    This book is similar to the Josuttis text, but covers only the STLpart of the standard library.

    C++ Templates

    ? Herb Sutter, Sutter’s Mill: Befriending Templates, C/C++ User’s Journal, www.cuj.com/
    documents/s=8244/cujcexp2101sutter/sutter.htm
    .
    The best explanation we could find about making function templates friends of classes.
    ? David Vandevoorde and Nicolai M. Josuttis, C++ Templates: The Complete Guide, Addison Wesley,
    2002, ISBN: 0-201-73484-2.
    Everything you ever wanted to know (or didn’t want to know) about C++ templates. It assumes signifi-
    cant background in general C++.

    C

    ? Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language (second edition), Prentice
    Hall, 1998, ISBN: 0-13-110362-8.
    “K and R,” as this book is known, is an excellent reference on the C language. It’s not as useful for learn-
    ing it the first time.
    ? Peter Prinz, Tony Crawford (Translator), Ulla Kirch-Prinz, C Pocket Reference, O’Reilly, 2002,
    ISBN: 0-596-00436-2.
    Aconcise reference to all things C.
    ? Eric S. Roberts, The Art and Science of C: ALibrary Based Introduction to Computer Science, Addison
    Wesley, 1994, ISBN: 0-201-54322-2.
    ? Eric S. Roberts, Programming Abstractions in C: ASecond Course in Computer Science, Addison
    Wesley, 1997, ISBN: 0-201-54541-1.
    These two books provide a great introduction to programming in C with good style. They are often used
    as textbooks in introductory programming courses.
    ? Peter Van Der Linden, Expert C Programming: Deep C Secrets, Pearson Education, 1994, ISBN:
    0-131-77429-8.
    An enlightening and often hysterical look at the C language, its evolution, and its inner workings.

    Integrating C++ and Other Languages

    ? Ian F. Darwin, Java Cookbook, O’Reilly, 2001, ISBN: 0-596-00170-3.
    This book provides step-by-step instructions for using JNI to integrate Java with other languages,
    including C++.

    Algorithms and Data Structures

    ? Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to
    Algorithms (Second Edition), The MIT Press, 2001, ISBN: 0-262-03293-7.
    This text is one of the most popular introductory algorithms books, covering all the common data struc-
    tures and algorithms. The authors learned algorithms and data structures as an undergraduate from the
    first edition of this book.
    ? Donald E. Knuth, The Art of Computer Programming Volume 1: Fundamental Algorithms (Third
    Edition), Addison Wesley, 1997, ISBN: 0-201-89683-4.
    ? Donald E. Knuth, The Art of Computer Programming Volume 2: Seminumerical Algorithms (Third
    Edition), Addison Wesley, 1997, ISBN: 0-201-89684-2.
    ? Donald E. Knuth, The Art of Computer Programming Volume 3: Sorting and Searching (Third
    Edition), Addison Wesley, 1998, ISBN: 0-201-89685-0.
    For those of you who enjoy mathematical rigor, there is no better algorithms and data structures text
    than Knuth’s three-volume tome. It is probably inaccessible without undergraduate knowledge of math-
    ematics or theoretical computer science.
    ? Kyle Loudon, Mastering Algorithms with C, O’Reilly, 1999, ISBN: 1-565-92453-3.
    An approachable reference to data structures and algorithms.

    Open-Source Software

    ? The Open Source Initiative at www.opensource.org.
    www.gnu.org.
    ? The GNU Operating System — Free Software Foundation at
    These Web pages for the two main open-source movements explain their philosophies and provide
    information about obtaining open-source software and contributing to its development.
    ? sourceforge.net at
    www.sourceforge.net.
    This Web site hosts many open-source projects. It’s a great resource for finding useful open-source
    software.

    Software-Engineering Methodology

    ? Barry W. Boehm, TRW Defense Systems Group, ASpiral Model of Software Development and
    Enhancement, IEEE Computer, 21(5):61-72, 1988.
    This landmark paper described the state of software development at the time and proposed the Spiral
    Model.
    ? Kent Beck, Extreme Programming Explained: Embrace Change, Pearson Education, 1999, ISBN:
    0-201-61641-6.
    One of several books in a series that promote Extreme Programming as a new approach to software
    development.
    ? Robert T. Futrell, Donald F. Shafer, and Linda Isabell Shafer, Quality Software Project Management,
    Pearson Education, 2003, ISBN: 0-130-91297-2.
    Aguidebook for anybody who is responsible for the management of the software development process.
    ? Robert L. Glass, Facts and Fallacies of Software Engineering, Pearson Education, 2002, ISBN:
    0-321-11742-5.
    This book discusses various aspects of the software development process and exposes hidden truisms
    along the way.
    ? Philippe Kruchten, Rational Unified Process: An Introduction (Second Edition), Addison Wesley,
    2000, ISBN: 0-201-70710-1.
    Provides an overview of RUP, including its mission and processes.
    ? Edward Yourdon, Death March (Second Edition), Prentice Hall, 2003, ISBN: 0-131-43635-X.
    Awonderfully enlightening book about the politics and realities of software development.
    ? Rational Unified Process from IBM,
    www3.software.ibm.com/ibmdl/pub/software/
    rational/web/demos/viewlets/rup/runtime/index.html
    The IBM Web site contains a wealth of information about RUP, including the interactive presentation at
    the above URL.

    Programming Style

    ? Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, Refactoring: Improving the
    Design of Existing Code, Addison Wesley, 1999, ISBN: 0-201-48567-2.
    This classic book espouses the practice of recognizing and improving bad code.
    ? James Foxall, Practical Standards for Microsoft Visual Basic .NET, Microsoft Press, 2002, ISBN:
    0-7356-1356-7.
    Exhibits the tenets of Microsoft Windows coding style, using Visual Basic
    ? Diomidis Spinellis, Code Reading: The Open Source Perspective, Addison Wesley, 2003, ISBN:
    0-201-79940-5.
    This unique book turns the issue of programming style upside down by challenging the reader to learn
    to read code properly in order to become a better programmer.
    ? Dimitri van Heesch, Doxygen,
    http://www.stack.nl/~dimitri/doxygen/index.html.
    Ahighly configurable program that generates documentation from source code and comments.

    Computer Architecture

    ? David A. Patterson and John L. Hennessy, Computer Organization & Design: The
    Hardware/Software Interface (Second Edition), Morgan Kaufman, 1997, ISBN: 1-558-60428-6.
    ? John L. Hennessy and David A. Patterson, Computer Architecture: AQuantitative Approach (Third
    Edition), Morgan Kaufman, 2002, ISBN: 1-558-60596-7.
    These two books provide all the information most software engineers ever need to know about com-
    puter architecture.

    Efficiency

    ? Dov Bulka and David Mayhew, Efficient C++: Performance Programming Techniques, Addison
    Wesley, 1999, ISBN: 0-201-37950-3.
    One of the few books to focus exclusively on efficient C++ programming, it covers both language-level
    and design-level efficiency.
    ? GNU gprof,
    www.gnu.org/software/binutils/manual/gprof-2.9.1/gprof.html.
    Information about the gprof profiling tool.
    ? Rational Software from IBM,
    www-306.ibm.com/software/rational.
    Rational Quantify is an excellent (but not free) profiling tool.

    Testing

    ? Elfriede Dustin, Effective Software Testing: 50 Specific Ways to Improve Your Testing, Addison
    Wesley, 2002, ISBN: 0-201-79429-2.
    While this book is aimed at quality assurance professionals, any software engineer will benefit from its
    discussion of the software-testing process.

    Debugging

    ? The Gnu DeBugger (GDB), at www.gnu.org/software/gdb/gdb.html.
    GDB is an excellent symbolic debugger.
    ? Rational Software from IBM,
    www-306.ibm.com/software/rational.
    Rational Purify is an excellent (but not free) memory error–debugging tool.
    ? Valgrind, at
    http://valgrind.kde.org.
    An open-source memory-debugging tool for Linux.

    Distributed Objects

    ? Jim Farley, Java Distributed Computing, O’Reilly, 1998, ISBN: 1-56592-206-9.
    Provides a Java-centric view of distributed computing technologies.
    ? Ron Hipschman, How SETI@home Works,
    http://setiathome.ssl.berkeley.edu/
    about_seti/about_seti_at_home_1.html
    .
    Interesting background on the SETI@home project, which uses distributed computing to analyze data
    from space.
    ? Sassafras Software, General KeyServer Questions,
    http://www.sassafras.com/faq/
    general.html
    Information about KeyServer, an application that uses distributed computing to control software licenses.

    CORBA

    ? The Object Management Group’s CORBAsite at http://www.corba.org
    CORBAis a “product” of the Object Management Group (OMG). This Web site contains basic back-
    ground information and links to the actual standards involved.
    ? Michi Henning and Steve Vinoski, Advanced CORBAProgramming with C++, Addison Wesley,
    1999, ISBN: 0-201-379270-9.
    There are a lot more books out there on CORBAwith Java than with C++. This book focuses on C++,
    and, despite the title, is accessible to a CORBAbeginner.

    XML and SOAP

    ? Ethan Cerami, Web Services Essentials, O’Reilly, 2002, ISBN: 0-596-00224-6.
    This book explains the emerging concept of Web services and the use of SOAPfor distributed comput-
    ing. Examples are provided in Java.
    ? Erik T. Ray, Learning XML(Second Edition), O’Reilly, 2003, ISBN: 0-596-00420-6.
    The de-facto XMLreference. Includes discussions of associated technologies like XMLschema, XPath,
    and XHTML.
    ? James Snell, Doug Tidwell, Pavel Kulchenko, Programming Web Services with SOAP, O’Reilly,
    2001, ISBN: 0-596-00095-2.
    This book discusses SOAPand related technologies, such as UDDI and WSDL. Examples are provided
    in Java, Perl, C#, and Visual Basic.
    ? Eric van der Vlist, XMLSchema, O’Reilly, 2002, ISBN: 0-596-00252-1.
    This book tackles the difficult topic of XMLSchema and discusses the nuances of the language.
    ? Altova Software xmlspy,
    www.xmlspy.com.
    Information about the xmlspy software package from Altova Software.

    Design Patterns

    ? Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied,
    Addison Wesley, 2001, ISBN: 0-201-70431-5.
    Offers an approach to C++ programming employing highly reusable code and patterns.
    ? Cunningham and Cunningham, The Portland Pattern Repository,
    www.c2.com/cgi/
    wiki?WelcomeVisitors
    .
    You could spend all day browsing through this community-edited Web site about design patterns.
    ? Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns: Elements of
    Reusable Object-Oriented Software, Addison Wesley, 1995, ISBN: 0-201-63361-2.
    Called the “Gang of Four” book (because of its four authors), this text is the seminal work in design
    patterns.

    //z 2011-06-25 17:53:49@is2120.CSDN 转载请注明出处

  • 相关阅读:
    web集群和分布式服务以及消息补偿机制几种方案
    什么是幂等性
    Dubbo面试常见问题
    mysql 缓存机制
    mysql面试题
    在IDEA中用Gradle构建项目时使用lombok以依赖出现出错
    jdbcType与javaType的对应关系
    通用Mapper的使用
    Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
    dubbo面试题
  • 原文地址:https://www.cnblogs.com/IS2120/p/6746033.html
Copyright © 2011-2022 走看看