COMS W4115
Programming Languages and Translators
Lecture 3: January 29, 2014
The Essence of C++
Guest Lecture by Professor Bjarne Stroustrup
The Essence of C++ with Examples in C++84, C++98, C++11, and C++14
Abstract
- C++11 is being deployed and the shape of C++14 is becoming clear.
This talk very briefly examines the foundations of C++.
What is essential?
What sets C++ apart from other languages?
How do new and old features support (or distract from) design and programming
relying on this essence?
- I will focus on the abstraction mechanisms (as opposed to the mapping
to the machine): classes and templates.
Fundamentally, if you understand C++ vectors, you understand C++.
- Type safety and resource safety are key design aims for a program.
These aims must be met without limiting the range of applications and
without imposing significant run-time or space overheads.
- My aim is not so much to present novel features and techniques, but
to explore how C++'s feature set supports a new and more effective design
and programming style.
Bio
Bjarne Stroustrup is a Managing Director in the technology division
of Morgan Stanley in New York City, a Visiting Professor in Computer Science
at Columbia University, and a Research Distinguished Professor at Texas A&M
University.
Bjarne is the creator and implementor of
the C++ programming language.
To make C++ a stable and up-to-date base for real-world software development,
he has been a leading figure with the ISO C++ standards effort for more than 20 years.
See Bjarne Stroustrup's homepage for Bjarne's
many books and articles about C++ and how to program in it effectively.
Bjarne has received numerous awards and honors including the
ACM Grace Murray Hopper award, Dr. Dobb's Excellence in Programming Award,
and the IEEE Computer Society's Computer Entrepreneur Award.
He is a member of National Academy of Engineering and the Texas
Academy of Medicine, Engineering, and Science. He is a fellow of the
ACM, AT&T, Bell Labs, and IEEE.
aho@cs.columbia.edu