C++ SHORT HISTORY * recent history of computers has changed rapidly * 1970's: Pascal ushered in procedural languages * C produces compact, fast programs * These factors led to widespread use across platforms * The C Language Dennis Ritchie of Bell Labs developes C Developed alongside UNIX Both low-and high-level features Portability important * C Programming philosophy Emphasizes alogrithim side of programming Separate from data Structed programming facilitates larger projects Top down design: break big job into manageable tasks * Object-oriented programming Shifts facts to data Fit language to program Features: class, object Class contains both data and algorithims Reusable code Information hiding Polymorphism Inheritance Bottom-up approach * C++ Bjarne Stroustrup at Bell Labs Focus on usefulness rather than adherance to theory OOP roots in Simula67 C++ is superset of C Name comes from increment operator First implemented as a C++ to C translator PORTABILITY AND STANDARDS * Ability to simply recompile program for different hardware * Obstacles Hardware features Language divergance * A published standard aids portability ANSO X3J16 committee ISO joined with ANSI Based on Stroustrup's ARM and ANSI C Standard C and C++ libraries CREATING A C++ PROGRAM * Steps vary with different platforms Text editor to write and save program Compile to object code Link to executable code * Programs in book are generic standard C++ * Can(and should) split programs into multiple files Source files Header files Library files