(r)evolution of c++ · 2020-02-24 · c with classes cfront era standardization time c++ future...
TRANSCRIPT
![Page 1: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/1.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
(R)evolution of C++aka The Hitchhiker’s Guide to C++
Łukasz Ziobron
http://ziobron.net
code::dive, 2016-11-15
![Page 2: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/2.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
About the author
![Page 3: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/3.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
About the author
![Page 4: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/4.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
About the author
![Page 5: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/5.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
(R)evolution of JS
![Page 6: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/6.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
About the author
![Page 7: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/7.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
About the author
![Page 8: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/8.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
About the author
![Page 9: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/9.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
About the author
![Page 10: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/10.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
About the author
![Page 11: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/11.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
About the author
Interests:
Archery
Digital photography
Machine learning
Image processing
High tech
Starcraft
Blogging at ziobron.net
![Page 12: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/12.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Key messages
1 C++ had a clear aim, which made it popular: to
organize code better without the loss of efficiency
2 C++ is even more popular now, because of new
standards: C++11 and C++14
3 In future C++ will be one of the most popular
programming languages so it’s worth learning
![Page 13: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/13.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Key messages
1 C++ had a clear aim, which made it popular: to
organize code better without the loss of efficiency
2 C++ is even more popular now, because of new
standards: C++11 and C++14
3 In future C++ will be one of the most popular
programming languages so it’s worth learning
![Page 14: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/14.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Key messages
1 C++ had a clear aim, which made it popular: to
organize code better without the loss of efficiency
2 C++ is even more popular now, because of new
standards: C++11 and C++14
3 In future C++ will be one of the most popular
programming languages so it’s worth learning
![Page 15: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/15.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Agenda
1 C with Classes
2 Cfront era
3 Standardization time
4 C++ future
5 (R)evolution!
6 Language popularity
7 Summary
![Page 16: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/16.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
![Page 17: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/17.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Roots of C++
![Page 18: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/18.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Roots of C++
Languages that were considered as a base of C++:
Modula2
Ada
Smalltalk
Mesa
Clu
C
![Page 19: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/19.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
Additions to C language:
classes
derived classes
public and private access control
constructors and destructors
call and return functions (removed later)
friend classes
type checking and conversion of function arguments
1979 C with Classes
![Page 20: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/20.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
Additions to C language:
classes
derived classes
public and private access control
constructors and destructors
call and return functions (removed later)
friend classes
type checking and conversion of function arguments
1979 C with Classes
![Page 21: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/21.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
Additions to C language:
classes
derived classes
public and private access control
constructors and destructors
call and return functions (removed later)
friend classes
type checking and conversion of function arguments
1979 C with Classes
![Page 22: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/22.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
Additions to C language:
classes
derived classes
public and private access control
constructors and destructors
call and return functions (removed later)
friend classes
type checking and conversion of function arguments
1979 C with Classes
![Page 23: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/23.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
Additions to C language:
classes
derived classes
public and private access control
constructors and destructors
call and return functions (removed later)
friend classes
type checking and conversion of function arguments
1979 C with Classes
![Page 24: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/24.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
Additions to C language:
classes
derived classes
public and private access control
constructors and destructors
call and return functions (removed later)
friend classes
type checking and conversion of function arguments
1979 C with Classes
![Page 25: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/25.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
Additions to C language:
classes
derived classes
public and private access control
constructors and destructors
call and return functions (removed later)
friend classes
type checking and conversion of function arguments
1979 C with Classes
![Page 26: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/26.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
Additions to C language:
classes
derived classes
public and private access control
constructors and destructors
call and return functions (removed later)
friend classes
type checking and conversion of function arguments
1979 C with Classes
![Page 27: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/27.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C with Classes
1 class stack {2 char s[SIZE]; /* array of characters */3 char * min; /* pointer to bottom of stack */4 char * top; /* pointer to top of stack */5 char * max; /* pointer to top of allocated space */6 void new(); /* initialization function (constructor) */7 public:8 void push(char);9 char pop();
10 };11 char stack.pop() // member functions always defined "elsewhere", not in class definition12 { // dot operator instead of double colon13 if (top <= min) error("stack underflow");14 return *(--top);15 }16 class stack s1, s2; /* two variables of class stack, class was mandatory for declaration */17 class stack * p1 = &s2; /* p1 points to s2 */18 class stack * p2 = new stack; /* p2 points to stack object allocated on free store */19 s1.push(’h’); /* use object directly */20 p1->push(’s’); /* use object through pointer */
![Page 28: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/28.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C with Classes
1 class stack {2 char s[SIZE]; /* array of characters */3 char * min; /* pointer to bottom of stack */4 char * top; /* pointer to top of stack */5 char * max; /* pointer to top of allocated space */6 void new(); /* initialization function (constructor) */7 public:8 void push(char);9 char pop();
10 };11 char stack.pop() // member functions always defined "elsewhere", not in class definition12 { // dot operator instead of double colon13 if (top <= min) error("stack underflow");14 return *(--top);15 }16 class stack s1, s2; /* two variables of class stack, class was mandatory for declaration */17 class stack * p1 = &s2; /* p1 points to s2 */18 class stack * p2 = new stack; /* p2 points to stack object allocated on free store */19 s1.push(’h’); /* use object directly */20 p1->push(’s’); /* use object through pointer */
![Page 29: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/29.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C with Classes
1 class stack {2 char s[SIZE]; /* array of characters */3 char * min; /* pointer to bottom of stack */4 char * top; /* pointer to top of stack */5 char * max; /* pointer to top of allocated space */6 void new(); /* initialization function (constructor) */7 public:8 void push(char);9 char pop();
10 };11 char stack.pop() // member functions always defined "elsewhere", not in class definition12 { // dot operator instead of double colon13 if (top <= min) error("stack underflow");14 return *(--top);15 }16 class stack s1, s2; /* two variables of class stack, class was mandatory for declaration */17 class stack * p1 = &s2; /* p1 points to s2 */18 class stack * p2 = new stack; /* p2 points to stack object allocated on free store */19 s1.push(’h’); /* use object directly */20 p1->push(’s’); /* use object through pointer */
![Page 30: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/30.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C with Classes
1 class stack {2 char s[SIZE]; /* array of characters */3 char * min; /* pointer to bottom of stack */4 char * top; /* pointer to top of stack */5 char * max; /* pointer to top of allocated space */6 void new(); /* initialization function (constructor) */7 public:8 void push(char);9 char pop();
10 };11 char stack.pop() // member functions always defined "elsewhere", not in class definition12 { // dot operator instead of double colon13 if (top <= min) error("stack underflow");14 return *(--top);15 }16 class stack s1, s2; /* two variables of class stack, class was mandatory for declaration */17 class stack * p1 = &s2; /* p1 points to s2 */18 class stack * p2 = new stack; /* p2 points to stack object allocated on free store */19 s1.push(’h’); /* use object directly */20 p1->push(’s’); /* use object through pointer */
![Page 31: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/31.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
New features added in 1981:
inline functions
default arguments
overloading of the assignment operator
1979 C with Classes1981 New features
![Page 32: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/32.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
New features added in 1981:
inline functions
default arguments
overloading of the assignment operator
1979 C with Classes1981 New features
![Page 33: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/33.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes
New features added in 1981:
inline functions
default arguments
overloading of the assignment operator
1979 C with Classes1981 New features
![Page 34: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/34.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
First standard library
First elements in std lib:
complex numbers
string
later: iostreams
1979 C with Classes1981 New features1983 1st std lib
![Page 35: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/35.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
First standard library
First elements in std lib:
complex numbers
string
later: iostreams
1979 C with Classes1981 New features1983 1st std lib
![Page 36: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/36.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
First standard library
First elements in std lib:
complex numbers
string
later: iostreams
1979 C with Classes1981 New features1983 1st std lib
![Page 37: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/37.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes - summary
Years of development: 1979-1983
The idea was great
The aim was clear:
help programmers to organize code with classeswithout the loss of efficiencyand without requiring from users learning something completely new
C with Classes didn’t have many users :(
It wouldn’t pay to support this language in the form it was
C with Classes was a "medium success"
![Page 38: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/38.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes - summary
Years of development: 1979-1983
The idea was great
The aim was clear:
help programmers to organize code with classeswithout the loss of efficiencyand without requiring from users learning something completely new
C with Classes didn’t have many users :(
It wouldn’t pay to support this language in the form it was
C with Classes was a "medium success"
![Page 39: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/39.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes - summary
Years of development: 1979-1983
The idea was great
The aim was clear:
help programmers to organize code with classeswithout the loss of efficiencyand without requiring from users learning something completely new
C with Classes didn’t have many users :(
It wouldn’t pay to support this language in the form it was
C with Classes was a "medium success"
![Page 40: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/40.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes - summary
Years of development: 1979-1983
The idea was great
The aim was clear:
help programmers to organize code with classes
without the loss of efficiencyand without requiring from users learning something completely new
C with Classes didn’t have many users :(
It wouldn’t pay to support this language in the form it was
C with Classes was a "medium success"
![Page 41: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/41.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes - summary
Years of development: 1979-1983
The idea was great
The aim was clear:
help programmers to organize code with classeswithout the loss of efficiency
and without requiring from users learning something completely new
C with Classes didn’t have many users :(
It wouldn’t pay to support this language in the form it was
C with Classes was a "medium success"
![Page 42: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/42.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes - summary
Years of development: 1979-1983
The idea was great
The aim was clear:
help programmers to organize code with classeswithout the loss of efficiencyand without requiring from users learning something completely new
C with Classes didn’t have many users :(
It wouldn’t pay to support this language in the form it was
C with Classes was a "medium success"
![Page 43: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/43.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes - summary
Years of development: 1979-1983
The idea was great
The aim was clear:
help programmers to organize code with classeswithout the loss of efficiencyand without requiring from users learning something completely new
C with Classes didn’t have many users :(
It wouldn’t pay to support this language in the form it was
C with Classes was a "medium success"
![Page 44: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/44.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes - summary
Years of development: 1979-1983
The idea was great
The aim was clear:
help programmers to organize code with classeswithout the loss of efficiencyand without requiring from users learning something completely new
C with Classes didn’t have many users :(
It wouldn’t pay to support this language in the form it was
C with Classes was a "medium success"
![Page 45: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/45.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C with Classes - summary
Years of development: 1979-1983
The idea was great
The aim was clear:
help programmers to organize code with classeswithout the loss of efficiencyand without requiring from users learning something completely new
C with Classes didn’t have many users :(
It wouldn’t pay to support this language in the form it was
C with Classes was a "medium success"
![Page 46: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/46.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront era
![Page 47: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/47.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
The C++ Programming language - 1st edition (1983)
![Page 48: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/48.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
The C++ Programming language - 1st edition (1983)
![Page 49: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/49.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
The C++ Programming language - 1st edition (1983)
![Page 50: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/50.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C84 and Cfront
C with Classes got new name - C84
A few months later C84 got a new name - C++
First C++ compiler - Cfront
Originally written in... C with ClassesTranspiler to C codePortability mattersC++ versions were named after Cfront releases
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++
![Page 51: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/51.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C84 and Cfront
C with Classes got new name - C84
A few months later C84 got a new name - C++
First C++ compiler - Cfront
Originally written in... C with ClassesTranspiler to C codePortability mattersC++ versions were named after Cfront releases
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++
![Page 52: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/52.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C84 and Cfront
C with Classes got new name - C84
A few months later C84 got a new name - C++
First C++ compiler - Cfront
Originally written in... C with ClassesTranspiler to C codePortability mattersC++ versions were named after Cfront releases
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++
![Page 53: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/53.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C84 and Cfront
C with Classes got new name - C84
A few months later C84 got a new name - C++
First C++ compiler - Cfront
Originally written in... C with Classes
Transpiler to C codePortability mattersC++ versions were named after Cfront releases
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++
![Page 54: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/54.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C84 and Cfront
C with Classes got new name - C84
A few months later C84 got a new name - C++
First C++ compiler - Cfront
Originally written in... C with ClassesTranspiler to C code
Portability mattersC++ versions were named after Cfront releases
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++
![Page 55: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/55.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C84 and Cfront
C with Classes got new name - C84
A few months later C84 got a new name - C++
First C++ compiler - Cfront
Originally written in... C with ClassesTranspiler to C codePortability matters
C++ versions were named after Cfront releases
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++
![Page 56: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/56.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C84 and Cfront
C with Classes got new name - C84
A few months later C84 got a new name - C++
First C++ compiler - Cfront
Originally written in... C with ClassesTranspiler to C codePortability mattersC++ versions were named after Cfront releases
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++
![Page 57: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/57.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 1.0
New features:
1 virtual functions
2 function name and operator overloading
3 references
4 constants (const)
5 new and delete operators
6 improved type checking
7 scope resolution operator (::)
8 BCPL-style comment terminated by end-of-line
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.0
![Page 58: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/58.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 1.0
New features:
1 virtual functions
2 function name and operator overloading
3 references
4 constants (const)
5 new and delete operators
6 improved type checking
7 scope resolution operator (::)
8 BCPL-style comment terminated by end-of-line
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.0
![Page 59: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/59.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 1.0
New features:
1 virtual functions
2 function name and operator overloading
3 references
4 constants (const)
5 new and delete operators
6 improved type checking
7 scope resolution operator (::)
8 BCPL-style comment terminated by end-of-line
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.0
![Page 60: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/60.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 1.0
New features:
1 virtual functions
2 function name and operator overloading
3 references
4 constants (const)
5 new and delete operators
6 improved type checking
7 scope resolution operator (::)
8 BCPL-style comment terminated by end-of-line
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.0
![Page 61: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/61.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 1.0
New features:
1 virtual functions
2 function name and operator overloading
3 references
4 constants (const)
5 new and delete operators
6 improved type checking
7 scope resolution operator (::)
8 BCPL-style comment terminated by end-of-line
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.0
![Page 62: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/62.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 1.0
New features:
1 virtual functions
2 function name and operator overloading
3 references
4 constants (const)
5 new and delete operators
6 improved type checking
7 scope resolution operator (::)
8 BCPL-style comment terminated by end-of-line
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.0
![Page 63: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/63.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 1.0
New features:
1 virtual functions
2 function name and operator overloading
3 references
4 constants (const)
5 new and delete operators
6 improved type checking
7 scope resolution operator (::)
8 BCPL-style comment terminated by end-of-line
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.0
![Page 64: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/64.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 1.0
New features:
1 virtual functions
2 function name and operator overloading
3 references
4 constants (const)
5 new and delete operators
6 improved type checking
7 scope resolution operator (::)
8 BCPL-style comment terminated by end-of-line
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.0
![Page 65: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/65.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C++ 1.0
Virtual functions:
1 class shape {2 point center;3 color col;4 public:5 point where() { return center; }6 void move(point to) { center = to; draw(); }7 virtual void draw();8 virtual void rotate(int);9 };
10 class circle : public shape {11 int radius;12 public:13 void draw() { /* ... */ };14 void rotate(int) {} // yes, the null function15 };
![Page 66: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/66.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C++ 1.0
Virtual functions:
1 class shape {2 point center;3 color col;4 public:5 point where() { return center; }6 void move(point to) { center = to; draw(); }7 virtual void draw();8 virtual void rotate(int);9 };
10 class circle : public shape {11 int radius;12 public:13 void draw() { /* ... */ };14 void rotate(int) {} // yes, the null function15 };
![Page 67: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/67.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C++ 1.0
Overloaded functions:
1 overload print ;2 void print (int ) ;3 void print (const char* ) ;
![Page 68: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/68.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C++ 1.0
New and delete operators: Because you want to write that:
1 X* p = new X(2) ;
Instead of that:
1 struct X * p = (struct X *) malloc (sizeof(struct X) ) ;2 if (p == 0) error ("memory exhausted" ) ;3 p−>i n i t (2) ;
![Page 69: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/69.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C++ 1.0
New and delete operators: Because you want to write that:
1 X* p = new X(2) ;
Instead of that:
1 struct X * p = (struct X *) malloc (sizeof(struct X) ) ;2 if (p == 0) error ("memory exhausted" ) ;3 p−>i n i t (2) ;
![Page 70: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/70.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Example code in C++ 1.0
Improved type checking:
1 int pr int f (const char* . . . ) ; // accept any argument after2 // the initial character string3 pr int f ("date: %s %d 19%d\n" , month, day, year ) ; // maybe right
![Page 71: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/71.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 1.1 (1986) & Cfront 1.2 (1987)
New features:
1 pointers to members
2 protected members
+ bug fixes
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.0
![Page 72: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/72.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 2.0
New features:
1 multiple inheritance
2 type-safe linkage (name mangling)
3 recursive definition of assignment and initialization
4 abstract classes
5 static member functions
6 const member functions
7 overloading of operator ->
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.0
![Page 73: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/73.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 2.0
New features:
1 multiple inheritance
2 type-safe linkage (name mangling)
3 recursive definition of assignment and initialization
4 abstract classes
5 static member functions
6 const member functions
7 overloading of operator ->
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.0
![Page 74: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/74.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 3.0
New features:
1 namespaces
2 templates
3 nested classes
4 exceptions ("code approach")
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.0
![Page 75: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/75.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 3.0
New features:
1 namespaces
2 templates
3 nested classes
4 exceptions ("code approach")
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.0
![Page 76: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/76.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - code approach
root of "bad exceptions" myth
runtime overhead
memory overhead
legends about resource consumption
see: Bartosz ’BaSz’ Szurgot - HelloHuston 1
1http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 77: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/77.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - code approach
root of "bad exceptions" myth
runtime overhead
memory overhead
legends about resource consumption
see: Bartosz ’BaSz’ Szurgot - HelloHuston 1
1http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 78: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/78.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - code approach
root of "bad exceptions" myth
runtime overhead
memory overhead
legends about resource consumption
see: Bartosz ’BaSz’ Szurgot - HelloHuston 1
1http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 79: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/79.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - code approach
root of "bad exceptions" myth
runtime overhead
memory overhead
legends about resource consumption
see: Bartosz ’BaSz’ Szurgot - HelloHuston 1
1http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 80: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/80.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - code approach
root of "bad exceptions" myth
runtime overhead
memory overhead
legends about resource consumption
see: Bartosz ’BaSz’ Szurgot - HelloHuston 1
1http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 81: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/81.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - table approach
no runtime overhead (if no exception)
no memory overhead
increased binary size
unknown exception handling time
the fastest solution (if no exception)
impossible without compiler support
exceptions vs Cfront
see: Bartosz ’BaSz’ Szurgot - HelloHuston 2
2http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 82: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/82.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - table approach
no runtime overhead (if no exception)
no memory overhead
increased binary size
unknown exception handling time
the fastest solution (if no exception)
impossible without compiler support
exceptions vs Cfront
see: Bartosz ’BaSz’ Szurgot - HelloHuston 2
2http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 83: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/83.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - table approach
no runtime overhead (if no exception)
no memory overhead
increased binary size
unknown exception handling time
the fastest solution (if no exception)
impossible without compiler support
exceptions vs Cfront
see: Bartosz ’BaSz’ Szurgot - HelloHuston 2
2http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 84: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/84.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - table approach
no runtime overhead (if no exception)
no memory overhead
increased binary size
unknown exception handling time
the fastest solution (if no exception)
impossible without compiler support
exceptions vs Cfront
see: Bartosz ’BaSz’ Szurgot - HelloHuston 2
2http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 85: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/85.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - table approach
no runtime overhead (if no exception)
no memory overhead
increased binary size
unknown exception handling time
the fastest solution (if no exception)
impossible without compiler support
exceptions vs Cfront
see: Bartosz ’BaSz’ Szurgot - HelloHuston 2
2http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 86: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/86.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - table approach
no runtime overhead (if no exception)
no memory overhead
increased binary size
unknown exception handling time
the fastest solution (if no exception)
impossible without compiler support
exceptions vs Cfront
see: Bartosz ’BaSz’ Szurgot - HelloHuston 2
2http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 87: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/87.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - table approach
no runtime overhead (if no exception)
no memory overhead
increased binary size
unknown exception handling time
the fastest solution (if no exception)
impossible without compiler support
exceptions vs Cfront
see: Bartosz ’BaSz’ Szurgot - HelloHuston 2
2http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 88: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/88.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Exceptions - table approach
no runtime overhead (if no exception)
no memory overhead
increased binary size
unknown exception handling time
the fastest solution (if no exception)
impossible without compiler support
exceptions vs Cfront
see: Bartosz ’BaSz’ Szurgot - HelloHuston 2
2http://www.baszerr.eu/lib/exe/fetch.php/docs/hello_houston.pdf
![Page 89: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/89.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront 4.0
New features:
1 exceptions ("table approach")
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
![Page 90: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/90.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront RIP
![Page 91: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/91.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985from 500 users in 1985...to over 1 500 000 users in 1993!exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 92: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/92.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985from 500 users in 1985...to over 1 500 000 users in 1993!exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 93: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/93.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985from 500 users in 1985...to over 1 500 000 users in 1993!exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 94: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/94.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985from 500 users in 1985...to over 1 500 000 users in 1993!exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 95: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/95.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985
from 500 users in 1985...to over 1 500 000 users in 1993!exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 96: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/96.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985from 500 users in 1985...
to over 1 500 000 users in 1993!exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 97: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/97.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985from 500 users in 1985...to over 1 500 000 users in 1993!
exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 98: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/98.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985from 500 users in 1985...to over 1 500 000 users in 1993!exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 99: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/99.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985from 500 users in 1985...to over 1 500 000 users in 1993!exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 100: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/100.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Cfront - summary
Years of development: 1985-1993
Compiler’s frontend
Translated C++ to C (free portability)
Explosion of interest:
commercial release in 1985from 500 users in 1985...to over 1 500 000 users in 1993!exponential growth!
Many new features added
New approach to exceptions was impossible to add
![Page 101: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/101.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization time
![Page 102: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/102.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
1998 - First ISO C++ standard
Features:
RTTI (dynamic_cast, typeid)
cast operators
mutable
bool
declarations in conditions
member functions templates
export
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
![Page 103: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/103.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
1998 - First ISO C++ standard
Features:
RTTI (dynamic_cast, typeid)
cast operators
mutable
bool
declarations in conditions
member functions templates
export
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
![Page 104: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/104.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
1998 - First ISO C++ standard
Library additions:
containers
algorithms
iterators
bitset
valarray
auto_ptr
templatized string
iostream
complex
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
![Page 105: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/105.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
1998 - First ISO C++ standard
Library additions:
containers
algorithms
iterators
bitset
valarray
auto_ptr
templatized string
iostream
complex
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
![Page 106: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/106.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++03 - Bugfix release
Fixes:
125 defects fixed
defect 69: incontiguous std::vector
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
2003 C++03
![Page 107: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/107.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++0x
“C++11 feels like a new language”
— Bjarne Stroustrup
C++0x == C++11 (for x = 0xB)
![Page 108: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/108.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++0x
“C++11 feels like a new language”
— Bjarne Stroustrup
C++0x == C++11
(for x = 0xB)
![Page 109: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/109.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++0x
“C++11 feels like a new language”
— Bjarne Stroustrup
C++0x == C++11 (for x = 0xB)
![Page 110: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/110.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++11
New language features:
auto and decltype
default, delete, final, override keywords
rvalue references
move constructors / move assignment
scoped enums
constexpr
list initialization, brace initializers
delegating constructors
nullptr
type aliases
smart pointers
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
2003 C++03
2011 C++11
![Page 111: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/111.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++11
New language features:
auto and decltype
default, delete, final, override keywords
rvalue references
move constructors / move assignment
scoped enums
constexpr
list initialization, brace initializers
delegating constructors
nullptr
type aliases
smart pointers
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
2003 C++03
2011 C++11
![Page 112: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/112.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++11
New language features:
variadic templates
user-defined literals
attributes
lambda expressions
noexcept
alignof and alignas
multithreaded memory model
thread-local storage
range based for loop
static assertions
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
2003 C++03
2011 C++11
![Page 113: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/113.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++14
New language features:
generic lambdas
lambda captures expressions
function return type deduction
alternate type deduction on declaration
relaxed restrictions on constexpr functions
variable templates
binary literals
digit separators
deprecated attribute
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
2003 C++03
2011 C++11
2014 C++14
![Page 114: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/114.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++14
New language features:
generic lambdas
lambda captures expressions
function return type deduction
alternate type deduction on declaration
relaxed restrictions on constexpr functions
variable templates
binary literals
digit separators
deprecated attribute
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
2003 C++03
2011 C++11
2014 C++14
![Page 115: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/115.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gccclangMSVCfull list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 116: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/116.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gccclangMSVCfull list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 117: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/117.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gccclangMSVCfull list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 118: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/118.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gccclangMSVCfull list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 119: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/119.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gccclangMSVCfull list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 120: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/120.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gcc
clangMSVCfull list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 121: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/121.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gccclang
MSVCfull list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 122: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/122.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gccclangMSVC
full list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 123: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/123.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gccclangMSVCfull list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 124: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/124.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Standardization - summary
C++ standardization started in 1989
First ISO C++ standard: C++98
Next standards: C++03, C++11, C++14
Every bigger company had its own compiler
Only 3 compilers fully support C++14:
gccclangMSVCfull list: http://en.cppreference.com/w/cpp/compiler_support
Number of users: about 3 000 000
![Page 125: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/125.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ future
![Page 126: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/126.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++17
New features:
Filesystem TS (Tech Spec)
Paralelism TS
Library fundamentals TS
if constexpr(expression)
auto in templates
structured bindings
if and switch with initializer
many, many more...
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
2003 C++03
2011 C++112014 C++14
2017 C++17
![Page 127: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/127.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++17
New features:
Filesystem TS (Tech Spec)
Paralelism TS
Library fundamentals TS
if constexpr(expression)
auto in templates
structured bindings
if and switch with initializer
many, many more...
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
2003 C++03
2011 C++112014 C++14
2017 C++17
![Page 128: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/128.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++17
Michael Wong - C++17, Will It Be Great Or Just OK
Many planned features are out of scope
Backward compatibility hamper the standardization of new features
Stackoverflow list of C++17 features 3
3http://stackoverflow.com/questions/38060436/what-are-the-new-features-in-c17
![Page 129: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/129.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++20
1979 C with Classes1981 New features1983 1st std lib1984 C84/C++1985 Cfront 1.01989 Cfront 2.01991 Cfront 3.01993 Cfront 4.0
1998 C++98
2003 C++03
2011 C++112014 C++142017 C++17
2020 C++20
![Page 130: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/130.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ future - summary
C++17 is almost ready
Future versions are planned to be released every 3 years
Next planned version: C++20 (minor)
Backward compatibility hamper the standardization of new features
gcc and clang already support many of C++17 features
MSVC is behind them
![Page 131: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/131.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ future - summary
C++17 is almost ready
Future versions are planned to be released every 3 years
Next planned version: C++20 (minor)
Backward compatibility hamper the standardization of new features
gcc and clang already support many of C++17 features
MSVC is behind them
![Page 132: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/132.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ future - summary
C++17 is almost ready
Future versions are planned to be released every 3 years
Next planned version: C++20 (minor)
Backward compatibility hamper the standardization of new features
gcc and clang already support many of C++17 features
MSVC is behind them
![Page 133: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/133.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ future - summary
C++17 is almost ready
Future versions are planned to be released every 3 years
Next planned version: C++20 (minor)
Backward compatibility hamper the standardization of new features
gcc and clang already support many of C++17 features
MSVC is behind them
![Page 134: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/134.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ future - summary
C++17 is almost ready
Future versions are planned to be released every 3 years
Next planned version: C++20 (minor)
Backward compatibility hamper the standardization of new features
gcc and clang already support many of C++17 features
MSVC is behind them
![Page 135: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/135.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ future - summary
C++17 is almost ready
Future versions are planned to be released every 3 years
Next planned version: C++20 (minor)
Backward compatibility hamper the standardization of new features
gcc and clang already support many of C++17 features
MSVC is behind them
![Page 136: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/136.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
(R)evolution!
Evolution of C++ vs Revolution of C++
![Page 137: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/137.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
(R)evolution!
![Page 138: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/138.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
(R)evolution!
![Page 139: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/139.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ is becoming more and more complicated...
![Page 140: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/140.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
stdlib is poor
Some people saythat C++ standardlibrary is small...
In comparison toother languages
Examples frompresentation "OneC++" by HerbSutter
But it will grow innext standards
![Page 141: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/141.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
stdlib is poor
Some people saythat C++ standardlibrary is small...
In comparison toother languages
Examples frompresentation "OneC++" by HerbSutter
But it will grow innext standards
![Page 142: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/142.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
stdlib is poor
Some people saythat C++ standardlibrary is small...
In comparison toother languages
Examples frompresentation "OneC++" by HerbSutter
But it will grow innext standards
![Page 143: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/143.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
stdlib is poor
Some people saythat C++ standardlibrary is small...
In comparison toother languages
Examples frompresentation "OneC++" by HerbSutter
But it will grow innext standards
![Page 144: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/144.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ standard implementation delays
Version Standard First implementation
C84 "the ARM" - 1989 -
C++98 IX 1998 2003 (EDG + Dinkumware)
C++03 X 2003 ?
C++11 IX 2011 IV 2013 (clang3.3)
C++14 III 2014 XI 2013 (clang 3.4)
C++17 ? ?
![Page 145: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/145.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Free lunch is over
Moore’s law is no applicable anymore
Processor speed doesn’t rise
We must go into concurrency
We must write multithreaded apps
We must write efficient and effectivecode
Modern C++ facilitate above needs
VM languages will not be faster than C++
More and more mobile apps are writtenin C++
Can C perform better?
http://www.gotw.ca/publications/concurrency-ddj.htm
![Page 146: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/146.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Free lunch is over
Moore’s law is no applicable anymore
Processor speed doesn’t rise
We must go into concurrency
We must write multithreaded apps
We must write efficient and effectivecode
Modern C++ facilitate above needs
VM languages will not be faster than C++
More and more mobile apps are writtenin C++
Can C perform better?
http://www.gotw.ca/publications/concurrency-ddj.htm
![Page 147: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/147.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Free lunch is over
Moore’s law is no applicable anymore
Processor speed doesn’t rise
We must go into concurrency
We must write multithreaded apps
We must write efficient and effectivecode
Modern C++ facilitate above needs
VM languages will not be faster than C++
More and more mobile apps are writtenin C++
Can C perform better?
http://www.gotw.ca/publications/concurrency-ddj.htm
![Page 148: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/148.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Free lunch is over
Moore’s law is no applicable anymore
Processor speed doesn’t rise
We must go into concurrency
We must write multithreaded apps
We must write efficient and effectivecode
Modern C++ facilitate above needs
VM languages will not be faster than C++
More and more mobile apps are writtenin C++
Can C perform better?
http://www.gotw.ca/publications/concurrency-ddj.htm
![Page 149: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/149.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Free lunch is over
Moore’s law is no applicable anymore
Processor speed doesn’t rise
We must go into concurrency
We must write multithreaded apps
We must write efficient and effectivecode
Modern C++ facilitate above needs
VM languages will not be faster than C++
More and more mobile apps are writtenin C++
Can C perform better?
http://www.gotw.ca/publications/concurrency-ddj.htm
![Page 150: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/150.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Free lunch is over
Moore’s law is no applicable anymore
Processor speed doesn’t rise
We must go into concurrency
We must write multithreaded apps
We must write efficient and effectivecode
Modern C++ facilitate above needs
VM languages will not be faster than C++
More and more mobile apps are writtenin C++
Can C perform better?
(This book cover is real)
![Page 151: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/151.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Free lunch is over
Moore’s law is no applicable anymore
Processor speed doesn’t rise
We must go into concurrency
We must write multithreaded apps
We must write efficient and effectivecode
Modern C++ facilitate above needs
VM languages will not be faster than C++
More and more mobile apps are writtenin C++
Can C perform better?
(This book cover is real)
![Page 152: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/152.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Free lunch is over
Moore’s law is no applicable anymore
Processor speed doesn’t rise
We must go into concurrency
We must write multithreaded apps
We must write efficient and effectivecode
Modern C++ facilitate above needs
VM languages will not be faster than C++
More and more mobile apps are writtenin C++
Can C perform better?
(This book cover is real)
![Page 153: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/153.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Free lunch is over
Moore’s law is no applicable anymore
Processor speed doesn’t rise
We must go into concurrency
We must write multithreaded apps
We must write efficient and effectivecode
Modern C++ facilitate above needs
VM languages will not be faster than C++
More and more mobile apps are writtenin C++
Can C perform better?
Bartosz ’BaSz’ SzurgotC++ vs. C: The embedded perspective
code::dive 2015
![Page 154: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/154.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Language popularity
![Page 155: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/155.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
What is the most popular programming language?
![Page 156: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/156.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
What is the most popular programming language?
![Page 157: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/157.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ users
Date Estimated users
1979 11980 161981 381982 851983 ??+21984 ??+501985 5001986 2 0001987 4 0001988 15 0001989 50 0001990 150 0001991 400 000
Main users:
Bjarne,
Bjarne’s colleagues from AT&T BellLabs,
universities,
HP, IBM, AT&T, DEC,
Borland,
Later: Microsoft, Apple,
Now: Google, Facebook
![Page 158: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/158.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ users
Date Estimated users
1979 11980 161981 381982 851983 ??+21984 ??+501985 5001986 2 0001987 4 0001988 15 0001989 50 0001990 150 0001991 400 000
Main users:
Bjarne,
Bjarne’s colleagues from AT&T BellLabs,
universities,
HP, IBM, AT&T, DEC,
Borland,
Later: Microsoft, Apple,
Now: Google, Facebook
![Page 159: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/159.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ users
Date Estimated users
1979 11980 161981 381982 851983 ??+21984 ??+501985 5001986 2 0001987 4 0001988 15 0001989 50 0001990 150 0001991 400 000
Main users:
Bjarne,
Bjarne’s colleagues from AT&T BellLabs,
universities,
HP, IBM, AT&T, DEC,
Borland,
Later: Microsoft, Apple,
Now: Google, Facebook
![Page 160: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/160.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ users
Date Estimated users
1979 11980 161981 381982 851983 ??+21984 ??+501985 5001986 2 0001987 4 0001988 15 0001989 50 0001990 150 0001991 400 000
Main users:
Bjarne,
Bjarne’s colleagues from AT&T BellLabs,
universities,
HP, IBM, AT&T, DEC,
Borland,
Later: Microsoft, Apple,
Now: Google, Facebook
![Page 161: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/161.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ users
Date Estimated users
1979 11980 161981 381982 851983 ??+21984 ??+501985 5001986 2 0001987 4 0001988 15 0001989 50 0001990 150 0001991 400 000
Main users:
Bjarne,
Bjarne’s colleagues from AT&T BellLabs,
universities,
HP, IBM, AT&T, DEC,
Borland,
Later: Microsoft, Apple,
Now: Google, Facebook
![Page 162: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/162.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ users
Date Estimated users
1979 11980 161981 381982 851983 ??+21984 ??+501985 5001986 2 0001987 4 0001988 15 0001989 50 0001990 150 0001991 400 000
Main users:
Bjarne,
Bjarne’s colleagues from AT&T BellLabs,
universities,
HP, IBM, AT&T, DEC,
Borland,
Later: Microsoft, Apple,
Now: Google, Facebook
![Page 163: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/163.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ users
Date Estimated users
1979 11980 161981 381982 851983 ??+21984 ??+501985 5001986 2 0001987 4 0001988 15 0001989 50 0001990 150 0001991 400 000
Main users:
Bjarne,
Bjarne’s colleagues from AT&T BellLabs,
universities,
HP, IBM, AT&T, DEC,
Borland,
Later: Microsoft, Apple,
Now: Google, Facebook
![Page 164: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/164.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ users
Date Estimated users
1979 11980 161981 381982 851983 ??+21984 ??+501985 5001986 2 0001987 4 0001988 15 0001989 50 0001990 150 0001991 400 000
Main users:
Bjarne,
Bjarne’s colleagues from AT&T BellLabs,
universities,
HP, IBM, AT&T, DEC,
Borland,
Later: Microsoft, Apple,
Now: Google, Facebook
![Page 165: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/165.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ users
3Bjarne Stroustrup - The Evolution of C++ - https://www.youtube.com/watch?v=_wzc7a3McOs
![Page 166: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/166.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
TIOBE - market share
TIOBE index
The TIOBE Programming Community index is an indicator of the popularityof programming languages. The index is updated once a month. Popular searchengines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube andBaidu are used to calculate the ratings. Search phrase is "languageprogramming"Webpage: http://www.tiobe.com/tiobe-index//
![Page 167: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/167.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
TIOBE - market share
![Page 168: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/168.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
TIOBE - market share
![Page 169: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/169.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
TIOBE - market share
![Page 170: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/170.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
PYPL
PYPL index
The PYPL PopularitY of Programming Language Index is created byanalyzing how often language tutorials are searched on Google: the more alanguage tutorial is searched, the more popular the language is assumed to be.It is a leading indicator. The raw data comes from Google Trends.Webpage: http://pypl.github.io/PYPL.html
![Page 171: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/171.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
PYPL
![Page 172: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/172.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
PYPL
![Page 173: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/173.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
PYPL
![Page 174: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/174.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
codeeval
codeeval MPCL
"Most Popular Coding Languages" is based on hundreds of thousands ofdata points we’ve collected by processing over 1,200,000+ challengesubmissions on codeeval.com in (now) 26 different programming languages.Webpage: http://blog.codeeval.com/
![Page 175: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/175.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
codeeval
![Page 176: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/176.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
codeeval
![Page 177: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/177.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
langpop.corger.nl
Webpage: http://langpop.corger.nl/
![Page 178: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/178.jpg)
![Page 179: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/179.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Stackoverflow issues
good programmer == lazy programmer
lazy programmer != good programmer
good programmers do not reinvent thewheel
do job once and never come back here
![Page 180: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/180.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Stackoverflow issues
good programmer == lazy programmer
lazy programmer != good programmer
good programmers do not reinvent thewheel
do job once and never come back here
![Page 181: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/181.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Stackoverflow issues
good programmer == lazy programmer
lazy programmer != good programmer
good programmers do not reinvent thewheel
do job once and never come back here
![Page 182: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/182.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Stackoverflow issues
good programmer == lazy programmer
lazy programmer != good programmer
good programmers do not reinvent thewheel
do job once and never come back here
![Page 183: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/183.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ is not dead!
In the worst case C++ is on 7th place
In the best case C++ is on 3rd place
C++ is one of the most popular languages!
Next versions of C++ will be available soon
![Page 184: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/184.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ is not dead!
Future C++:
Type and resource safe
Significantly simpler and clearer code
As fast or faster than anything else
Good at using "modern hardware" (morepipelines, more concurrency)
Significantly faster compilation catchingmany more errors
3Bjarne Stroustrup - The Evolution of C++ - https://www.youtube.com/watch?v=_wzc7a3McOs
![Page 185: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/185.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ is not dead!
Future C++:
Type and resource safe
Significantly simpler and clearer code
As fast or faster than anything else
Good at using "modern hardware" (morepipelines, more concurrency)
Significantly faster compilation catchingmany more errors
3Bjarne Stroustrup - The Evolution of C++ - https://www.youtube.com/watch?v=_wzc7a3McOs
![Page 186: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/186.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ is not dead!
Future C++:
Type and resource safe
Significantly simpler and clearer code
As fast or faster than anything else
Good at using "modern hardware" (morepipelines, more concurrency)
Significantly faster compilation catchingmany more errors
3Bjarne Stroustrup - The Evolution of C++ - https://www.youtube.com/watch?v=_wzc7a3McOs
![Page 187: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/187.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ is not dead!
Future C++:
Type and resource safe
Significantly simpler and clearer code
As fast or faster than anything else
Good at using "modern hardware" (morepipelines, more concurrency)
Significantly faster compilation catchingmany more errors
3Bjarne Stroustrup - The Evolution of C++ - https://www.youtube.com/watch?v=_wzc7a3McOs
![Page 188: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/188.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
C++ is not dead!
Future C++:
Type and resource safe
Significantly simpler and clearer code
As fast or faster than anything else
Good at using "modern hardware" (morepipelines, more concurrency)
Significantly faster compilation catchingmany more errors
3Bjarne Stroustrup - The Evolution of C++ - https://www.youtube.com/watch?v=_wzc7a3McOs
![Page 189: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/189.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Summary
![Page 190: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/190.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Key messages
1 C++ had a clear aim, which made it popular: to
organize code better without the loss of efficiency
2 C++ is even more popular now, because of new
standards: C++11 and C++14
3 In future C++ will be one of the most popular
programming languages so it’s worth learning
![Page 191: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/191.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Key messages
1 C++ had a clear aim, which made it popular: to
organize code better without the loss of efficiency
2 C++ is even more popular now, because of new
standards: C++11 and C++14
3 In future C++ will be one of the most popular
programming languages so it’s worth learning
![Page 192: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/192.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Key messages
1 C++ had a clear aim, which made it popular: to
organize code better without the loss of efficiency
2 C++ is even more popular now, because of new
standards: C++11 and C++14
3 In future C++ will be one of the most popular
programming languages so it’s worth learning
![Page 193: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/193.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Worth reading / watching
Bjarne Stroustrup – The Evolution of C++ - Past, Present, and FutureCppCon 2016
https://www.youtube.com/watch?v=_wzc7a3McOs
Herb Sutter – One C++Going Native 2013
https://channel9.msdn.com/Events/GoingNative/2013/Keynote-Herb-Sutter-One-Cpp
Kate Gregory – Stop teaching CCppCon 2015
https://www.youtube.com/watch?v=YnWhqhNdYyk
Bjarne Stroustrup – A History of C++: 1979-1991http://www.stroustrup.com/hopl2.pdf
Scott Meyers – Effective Modern C++
![Page 194: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/194.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
How many book covers are in my presentation?
![Page 195: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/195.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
How many book covers are in my presentation?
![Page 196: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/196.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
What now?
What now?
Look forward to C++17 and learn it
Watch a lot of videos from C++ conferences
Visit isocpp.org
![Page 197: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/197.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
What now?
What now?
Look forward to C++17 and learn it
Watch a lot of videos from C++ conferences
Visit isocpp.org
![Page 198: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/198.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
What now?
What now?
Look forward to C++17 and learn it
Watch a lot of videos from C++ conferences
Visit isocpp.org
![Page 199: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/199.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Famous quotation
“Learn C++. It’s an investment.”
— Łukasz Ziobron
![Page 200: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/200.jpg)
C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary
Famous quotation
“Learn C++. It’s an investment.”
— Łukasz Ziobron
![Page 201: (R)evolution of C++ · 2020-02-24 · C with Classes Cfront era Standardization time C++ future (R)evolution! Language popularity Summary Key messages 1 C++ had a clear aim, which](https://reader034.vdocuments.us/reader034/viewer/2022042815/5f42a8e113f65a3a3a49afa0/html5/thumbnails/201.jpg)