Beruflich Dokumente
Kultur Dokumente
2015 - 2016
Corina Forscu
corinfor@info.uaic.ro
http://profs.info.uaic.ro/~introp/
Course 2: agenda
C++ - an overview
Programming languages
Characteristics and pluses for C++
C++: history
1979: Bjarne Stroustrup Simula, C with classes ->
1983: C++ (compared to C ) classes
basic inheritance
inlining (inline keywords and Class Member Functions)
default function arguments
strong type checking
virtual functions
function overloading
references with the & symbol
const keyword
1998: STL, C++98 - 1st C++ standards
2003, 2005, 2011, 2014 - C++03, C++0x, C++11, C++14
2017 6th review scheduled
1957-1959
Terminators
vision has
samples of
COBOL source
code
Niklaus
Wirth
1972
(FORmulaTRANslation
(List Processor)
(Common Businessoriented language)
Oldest languages still in use
High-level
1970
(Turing 84))
Dennis
Ritchie
(Turing 83,
K.Thomson)
Supercomputing
appl., AI devel.,
business software
ATMs,
Credit cards
Teaching
programming
Cross-platform
programming,
System prog., Unix
prog, computer
game devel.
early www
servers &
clients
1983
(OO extension of C)
High-level, general purpose, OO,
expands C with messages based
on Smalltalk
1987
1979-1983-
Bjarne
Commercial appl.
Stroustrup devel., embedded
software, server/client
applic., video games
Text processing,
graphics programming,
system administration,
network programming,
finance, bioinformatics
Priceline,
Ticketmaster
1995
1993
1989-1991
(a collabs birthstone)
High-level, general purpose, OO.
Designed (Ada, C++, Perl, Lisp
Python) for productive &
enjoyable programming
(for the coffee consumed)
High-level, general-purpose,
cross-platform, multi-paradigm
language
Guido van
WAD, software devel.,
Rossum
information security,
biologists,
bioinformatics
Yukihiro
Matsumoto
James Gosling
(Sun Microsystems)
network programming,
WAD, GUI devel.,
software devel.
1995
1995
Rasmus
Lerdorf
(after Mocha)
High-level, scripting, OO,
imperative, functional. Designed
(C, Java, Python, Scheme) for
web programming (esp. client
side
Brendan
Eich
Building / maintaining
dynamic web pages,
server side devel.
Dynamic web
development, PDF
docs, web browsers,
widgets,
OOP
Faster (no
translation
needed)
Compilation
in C++:
generic
Debugging
Bug programming error
Compilation errors: problems catched and raised
by the compiler, generally resulting from
violations of the syntax rules or misuse of types;
usually caused by typos and the like.
Runtime errors: problems that can only be
spotted when the program is run: the program
doesnt do what it was expected to; these are
usually more tricky to catch, since the compiler
wont tell you about them.
Oct
Change Programming Language
2013
oct.14
Change
Programming Language
Java
C++
Java
C#
Objective-C
Python
C++
PHP
C#
13
Basic
PHP
12
JavaScript
Python
Perl
12
Perl
10
16
Ruby
10
Transact-SQL
11
11
Delphi/Object Pascal
11
17
Delphi/Object Pascal
12
31
Assembly language
12
10
JavaScript
13
14
Visual Basic
13
11
14
Objective-C
14
Visual Basic
15
19
Swift
15
21
16
13
Ruby
16
20
Pascal
17
81
Dart
17
27
MATLAB
18
24
F#
18
23
PL/SQL
19
Swift
19
29
OpenEdge ABL
20
14
Pascal
20
15
2014
2009
2004
1999
1994
1989
Java
Objective-C
27
36
C++
C#
18
PHP
Python
23
21
JavaScript
15
Transact-SQL
10
28
Pascal
15
14
84
21
Lisp
17
17
13
14
Glossary
C++ is the new C twice the power, twice the size, works
in hostile environments, and if you try to use it without care
and special training you will probably crash.
References
www.cplusplus.com
www.tiobe.com/
en.cppreference.com/
www.greenteapress.com/thinkcpp/index.html
ocw.mit.edu/courses/electrical-engineering-and-computerscience/6-096-introduction-to-c-january-iap-2011/
kickassinfographics.com/history/the-evolution-of-computerlanguages-infographic/
crashworks.org/if_programming_languages_were_vehicles/