Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Bjarne Stroustrup
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===C++=== [[Image:C++ Standards Committee meeting - March 1996 Santa Cruz - Wednesday general session.jpg|thumb|right|Stroustrup (standing on left) at the March 1996 Santa Cruz meeting of the C++ Standards Committee]] Stroustrup is best known for his work on C++. In 1979, he began developing C++ (initially called "[[C (programming language)|C]] with Classes"). In his own words, he "invented C++, wrote its early definitions, and produced its first implementation [...] chose and formulated the design criteria for C++, designed all its major facilities, and was responsible for the processing of extension proposals in the C++ standards committee." C++ was made generally available in 1985. For non-commercial use, the source code of the compiler and the foundation libraries was the cost of shipping (US$75); this was before Internet access was common. Stroustrup also published a textbook for the language in 1985, ''[[The C++ Programming Language]]''.<ref>{{Cite web|url=http://stroustrup.com/4th.html|title=The C++ Programming Language|last=Stroustrup|first=Bjarne|date=2 January 2020|website=stroustrup.com|access-date=2 January 2020|archive-date=31 December 2019|archive-url=https://web.archive.org/web/20191231123826/http://www.stroustrup.com/4th.html|url-status=live}}</ref> The key language-technical areas of contribution of C++ are: * A static type system with equal support for built-in types and user-defined types (that requires control of the construction, destruction, copying, and movement of objects; and [[operator overloading]]). * Value and reference semantics. * Systematic and general resource management ([[Resource acquisition is initialization|RAII]]): constructors, destructor, and exceptions relying on them. * Support for efficient object-oriented programming: based on the [[Simula]] model with statically checked interfaces, [[multiple inheritance]], and efficient implementation based on [[Virtual method table|virtual function tables]]. * Support for flexible and efficient [[generic programming]]: templates with specialization and concepts. * Support for compile-time programming: [[template metaprogramming]] and compile-time evaluated functions ("constexpr functions"). * Direct use of machine and operating system resources. * Concurrency support through libraries (where necessary, implemented using intrinsics). Stroustrup documented his principles guiding the design of C++ and the evolution of the language in his 1994 book, ''The Design and Evolution of C++'',<ref>{{Cite web|url=http://stroustrup.com/dne.html|title=The Design and Evolution of C++|last=Stroustrup|first=Bjarne|date=2 January 2020|website=stroustrup.com|access-date=2 January 2020|archive-date=31 December 2019|archive-url=https://web.archive.org/web/20191231123827/http://www.stroustrup.com/dne.html|url-status=live}}</ref> and three papers for ACM's History of Programming Languages conferences.<ref name=history>{{Cite journal|url=http://www.stroustrup.com/hopl2.pdf |archive-url=https://web.archive.org/web/20120816114431/http://www.stroustrup.com/hopl2.pdf |archive-date=2012-08-16 |url-status=live|doi=10.1145/155360.155375|title=A History of C++: 1979β 1991|last=Stroustrup|first=Bjarne|date=2 January 2020|website=stroustrup.com}}</ref><ref name=evolving>{{Cite journal|doi=10.1145/1238844.1238848|url=http://www.stroustrup.com/hopl-almost-final.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.stroustrup.com/hopl-almost-final.pdf |archive-date=2022-10-09 |url-status=live|title=Evolving a language in and for the real world: C++ 1991β2006|last=Stroustrup|first=Bjarne|date=2 January 2020|website=stroustrup.com|s2cid=7518369 }}</ref><ref name=thriving>{{Cite journal|title=Thriving in a crowded and changing world: C++ 2006β2020|last=Stroustrup|first=Bjarne|date=June 2020|journal=Proceedings of the ACM on Programming Languages|volume=4|pages=1β168|doi=10.1145/3386320|s2cid=219603741|doi-access=free}}</ref> Stroustrup was a founding member of the C++ standards committee (from 1989, it was an ANSI committee and from 1991 an ISO committee) and has remained an active member ever since. For 24 years he chaired the subgroup chartered to handle proposals for language extensions (Evolution Working Group).
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Bjarne Stroustrup
(section)
Add topic