Download presentation
Presentation is loading. Please wait.
Published byRandall Chambers Modified over 6 years ago
1
Jim Fawcett CSE687 – Object Oriented Design Spring 2005
Where Do We Go From Here? Jim Fawcett CSE687 – Object Oriented Design Spring 2005
2
C++ in Depth The C++ Programming Language, 3rd Edition, Bjarne Stroustrup, Addison-Wesley, 1997 Complete and accurate The C++ Standard Library, Nicolai Josuttis, Addison-Wesley,1999 Very readable, and fairly complete. Some of the examples are over-simplified. C++ Coding Standards, Alexandrescu and Sutter, Addison-Wesley, 2005 Excellent review of what we covered in this class. Recommended study for interviews. C++ Common Knowledge, Stephen Dewhurst, Addison-Wesley, 2005 Clear, consise intermediate level discussion of C++ design issues and idoms. Modern C++ Design, Andrei Alexandrescu, Addison-Wesley, 2001 Most sophisticated book on templates I’ve seen. C++ Gotchas, Stephen Dewhurst, Addison-Wesley, 2003 99 items that describe common errors and correct methods Effective STL, Scott Meyers, Addison-Wesley, 2001 50 items that describe common errors and correct methods Exceptional C++, Herb Sutter, Addison-Wesley, 2000 47 items that describe common errors and correct methods.
3
Gentler C++ Accelerated C++, Andrew Koenig and Barbara Moo, Addison-Wesley, 2000 Starts with the STL and procedural programming. Builds up to classes, class relationships, and polymorphism. C++ Primer Plus, Third Edition, Stephen Prata, Waite Group, 1998 Large, thorough coverage of the C++ Language with lots of small examples.
4
Object Oriented Design
Design Patterns, Erich Gamma, et. al., Addison-Wesley, 1995 This wonderful book is the text we use in the summer course of that name. You have to write software using the patterns to understand in detail what the book is saying, but well worth reading even if you don’t follow my advice. CSE776 - Design Patterns Course Presentations and discussions of 23 patterns from the book and half a dozen from other places. A relaxed, reflective look at OOD, with an orientation toward C++ Excellent practice making technical presentations, much like those you will be required to give when working professionally. But this is a much more forgiving atmosphere – a chance to learn these skills with help from the instructor and your classmates.
5
Is it Worthwhile to Study C++ Further?
C++ is the system programming language for the foreseeable future. Standards work, focused on the library, may provide more platform tools like threading, directory support, and smart pointers. Only language that works in both managed and unmanaged code. C# and the .Net Framework are the best language/library/runtime combination available for the Windows platform. Usability is excellent for beginners as well as experts Intellisense and object browser are terrific tools Best integrated over the desktop and server platforms Becoming available on non-Wintel platforms Mono, GNUdotNet Java and J2EE have a large installed base but … My personal opinion is that Sun no longer has the financial muscle to vigorously support the Java infrastructure. They have continually refused to surrender any control over the language and packages to a standards body.
6
My Favorite Language C++ is my favorite programming language. Why?
Deep copy model is by far the best model for scientific computing. You need real object identity to implement algorithms effectively, not just “assignment makes another reference”. I believe it’s easier to elegantly structure programs using C++: Templates Rich memory model Exceptional control over program execution. Global functions as well as classes. The STL provides a very powerful collection of containers and algorithms. It’s easier to build complex data structures with the STL than anything else I’ve used.
7
Open Libraries Loki library Boost library
Exploits template policy and template metaprogramming to provide flexible tools for implementing C++ programs: Smart pointers Generalized functors Object factories Boost library An open-source set of libraries started by members of the C++ standardization committee. Many useful capabilities for C++ Graphs Math testing
8
Other Links Association of C/C++ Users UML Tutorial:
Book reviews and links UML Tutorial: bdn.borland.com/article/0,1410,31863,00.html Stroustrup's Home Page Code Project Chris Sells Guru of the Week C/C++ User's Journal Dr. Dobb's Journal techNetCast
9
End of Presentation
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.