12th European Conference on Object-Oriented Programming |
|
Tutorial T13 |
Organizers: |
James O. Coplien
Bell Laboratories |
Day: | Tuesday morning & afternoon (full day) |
Level: | Intermediate/advanced |
Room: | C304 (4th floor) |
Is C++ a high-level or low-level language? It depends how you use it! This seminar will introduce programming techniques that raise the level of C++ programming, both by freeing the programmer from common administrative details, and by modeling some of the powerful semantics of high-end object-oriented programming languages.
The seminar goes beyond the limits of most C++ texts and introductory courses to present programming styles that increase the leverage of the accomplished C++ programmer who is looking to expand their horizons. Drawing from the book ``Advanced C++ Programming Styles and Idioms,'' and taught by the book's author, the seminar tackles difficult but common problems faced by developers of C++ systems, both large and small. The seminar starts by showing the pitfalls of a simple class design and how overloaded assignment and copy constructors alleviate some common problems. Building on that base, the course explores assorted programming styles useful for resolving other common, though more subtle, programming problems:
This course is for the C++ programmer with at least a year of experience in C++ or another object-oriented programming language.
Jim Coplien (cope@bell-labs.com) is a Distinguished Member of Technical Staff at Bell Laboratories in Naperville, Illinois, USA. He is the author of Advanced C++ Programming Styles and Idioms, of the Software Patterns white paper, and of dozens of columns and articles on C++, software patterns, software development organization and process, and software design. He is a Member Emeritus of the Hillside Group, and was program chair of ACM OOPSLA '96. His current research interests include multi-paradigm design, the role of geometric beauty and coding aesthetics in design, and sociological patterns of professional development organizations.