No edit summary
|
refs
|
||
Line 51: | Line 51: | ||
== Early life and education == |
== Early life and education == |
||
Stroustrup was born in [[Aarhus, Denmark]]. His family was [[working class]], and he |
Stroustrup was born in [[Aarhus, Denmark]]. His family was [[working class]], and he attended local schools.<ref>{{Cite web|url=http://www.stroustrup.com/draper_acceptance_speech.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.stroustrup.com/draper_acceptance_speech.pdf |archive-date=2022-10-09 |url-status=live|title=NAE Honors 2018 Draper Prize Winner|date=2 January 2020|website=stroustrup.com}}</ref> |
||
He attended [[Aarhus University]] from 1969 to 1975 and graduated with a [[Cand.scient.|Candidatus Scientiarum]] in [[mathematics]] with [[computer science]].<ref>{{Cite web |title=Bjarne Stroustrup |url=https://engineering.columbia.edu/files/seas/content/stroustrup_cv_2019.pdf |access-date=2023-03-25 |website=Columbia University Fu Foundation School of Engineering and Applied Science |archive-date=6 January 2023 |archive-url=https://web.archive.org/web/20230106014437/https://engineering.columbia.edu/files/seas/content/stroustrup_cv_2019.pdf |url-status=live }}</ref> His interests focused on microprogramming and machine architecture. He learned the fundamentals of object-oriented programming from its inventor, [[Kristen Nygaard]], who frequently visited [[Aarhus]]. |
He attended [[Aarhus University]] from 1969 to 1975 and graduated with a [[Cand.scient.|Candidatus Scientiarum]] in [[mathematics]] with [[computer science]].<ref>{{Cite web |title=Bjarne Stroustrup |url=https://engineering.columbia.edu/files/seas/content/stroustrup_cv_2019.pdf |access-date=2023-03-25 |website=Columbia University Fu Foundation School of Engineering and Applied Science |archive-date=6 January 2023 |archive-url=https://web.archive.org/web/20230106014437/https://engineering.columbia.edu/files/seas/content/stroustrup_cv_2019.pdf |url-status=live }}</ref> His interests focused on microprogramming and machine architecture. He learned the fundamentals of object-oriented programming from its inventor, [[Kristen Nygaard]], who frequently visited [[Aarhus]]. |
||
Line 57: | Line 57: | ||
In 1979, he received a [[Doctor of Philosophy]] in computer science from the [[University of Cambridge]],<ref name="wong">{{cite news|url=http://electronicdesign.com/dev-tools/bjarne-stroustrup-c-creator-keeps-developing|title=Bjarne Stroustrup: C++ Creator Keeps RUNE Developing|last=Wong|first=William|date=26 November 2013|work=Electronic Design|access-date=29 January 2014|archive-date=2 February 2014|archive-url=https://web.archive.org/web/20140202182835/http://electronicdesign.com/dev-tools/bjarne-stroustrup-c-creator-keeps-developing|url-status=live}}</ref> where he was supervised by [[David Wheeler (computer scientist)|David Wheeler]].<ref name="mathgene" /><ref name="stroustrupphd">{{cite thesis |degree=PhD |first=Bjarne |last=Stroustrup |title=Communication and control in distributed computer systems |publisher=University of Cambridge |date=1979 |id={{EThOS|uk.bl.ethos.474113}} |url=https://copac.jisc.ac.uk/id/5546543?style=html |author-link=Bjarne Stroustrup |website=jisc.ac.uk |oclc=219769715 |access-date=15 November 2018 |archive-url=https://web.archive.org/web/20181116001244/https://copac.jisc.ac.uk/id/5546543?style=html |archive-date=16 November 2018 |url-status=dead }}</ref> His thesis concerned communication in distributed computer systems.<ref>{{Cite thesis|url=https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.474113|title=Communication and control in distributed computer systems.|last=Stroustrup|first=Bjarne|date=2 January 2020|website=British Library|type=Ph.D|access-date=15 November 2018|archive-date=13 August 2019|archive-url=https://web.archive.org/web/20190813121102/https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.474113|url-status=live}}</ref> |
In 1979, he received a [[Doctor of Philosophy]] in computer science from the [[University of Cambridge]],<ref name="wong">{{cite news|url=http://electronicdesign.com/dev-tools/bjarne-stroustrup-c-creator-keeps-developing|title=Bjarne Stroustrup: C++ Creator Keeps RUNE Developing|last=Wong|first=William|date=26 November 2013|work=Electronic Design|access-date=29 January 2014|archive-date=2 February 2014|archive-url=https://web.archive.org/web/20140202182835/http://electronicdesign.com/dev-tools/bjarne-stroustrup-c-creator-keeps-developing|url-status=live}}</ref> where he was supervised by [[David Wheeler (computer scientist)|David Wheeler]].<ref name="mathgene" /><ref name="stroustrupphd">{{cite thesis |degree=PhD |first=Bjarne |last=Stroustrup |title=Communication and control in distributed computer systems |publisher=University of Cambridge |date=1979 |id={{EThOS|uk.bl.ethos.474113}} |url=https://copac.jisc.ac.uk/id/5546543?style=html |author-link=Bjarne Stroustrup |website=jisc.ac.uk |oclc=219769715 |access-date=15 November 2018 |archive-url=https://web.archive.org/web/20181116001244/https://copac.jisc.ac.uk/id/5546543?style=html |archive-date=16 November 2018 |url-status=dead }}</ref> His thesis concerned communication in distributed computer systems.<ref>{{Cite thesis|url=https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.474113|title=Communication and control in distributed computer systems.|last=Stroustrup|first=Bjarne|date=2 January 2020|website=British Library|type=Ph.D|access-date=15 November 2018|archive-date=13 August 2019|archive-url=https://web.archive.org/web/20190813121102/https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.474113|url-status=live}}</ref> |
||
==Career== |
==Career and research== |
||
In 1979, Stroustrup began his career as a member of technical staff in the Computer Science Research Center of Bell Labs in Murray Hill, New Jersey, USA. There, he began his work on C++ and programming techniques. Stroustrup was the head of [[Bell Labs|AT&T Bell Labs']] Large-scale Programming Research department, from its creation until late 2002. In 1993, he was made a Bell Labs fellow and in 1996, an AT&T Fellow. |
In 1979, Stroustrup began his career as a member of technical staff in the Computer Science Research Center of Bell Labs in Murray Hill, New Jersey, USA. There, he began his work on C++ and programming techniques. Stroustrup was the head of [[Bell Labs|AT&T Bell Labs']] Large-scale Programming Research department, from its creation until late 2002. In 1993, he was made a Bell Labs fellow and in 1996, an AT&T Fellow. |
||
Line 66: | Line 66: | ||
As of July 2022, Stroustrup is a professor of Computer Science at Columbia University.<ref name="columbia">{{cite web |date=August 2022 |title=Bjarne Stroustrup ADJUNCT PROFESSOR OF COMPUTER SCIENCE |url=https://www.engineering.columbia.edu/faculty/bjarne-stroustrup |website=columbia.edu |access-date=30 January 2021 |archive-date=13 October 2020 |archive-url=https://web.archive.org/web/20201013104737/https://www.engineering.columbia.edu/faculty/bjarne-stroustrup |url-status=live }}</ref> |
As of July 2022, Stroustrup is a professor of Computer Science at Columbia University.<ref name="columbia">{{cite web |date=August 2022 |title=Bjarne Stroustrup ADJUNCT PROFESSOR OF COMPUTER SCIENCE |url=https://www.engineering.columbia.edu/faculty/bjarne-stroustrup |website=columbia.edu |access-date=30 January 2021 |archive-date=13 October 2020 |archive-url=https://web.archive.org/web/20201013104737/https://www.engineering.columbia.edu/faculty/bjarne-stroustrup |url-status=live }}</ref> |
||
==C++== |
===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]] |
[[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]] |
||
Line 82: | Line 82: | ||
* Concurrency support through libraries (where necessary, implemented using intrinsics). |
* 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>{{Cite web|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| |
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 web|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.155375title=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}}</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). |
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). |
||
Line 123: | Line 123: | ||
More than 100 academic articles, including: |
More than 100 academic articles, including: |
||
* |
*''Thriving in a crowded and changing world''<ref name=thriving/> |
||
* |
* ''Evolving a language in and for the real world''<ref name=evolving/> |
||
* B Stroustrup: What should we teach software developers? Why? CACM. January 2010. |
* B Stroustrup: What should we teach software developers? Why? CACM. January 2010. {{doi|10.1145/1629175.1629192}} |
||
* Gabriel Dos Reis and Bjarne Stroustrup: A Principled, Complete, and Efficient Representation of C++. Journal of Mathematics in Computer Science Volume 5, Issue 3 (2011), Page 335–356 {{doi|10.1007/s11786-011-0094-1}}. Special issue on Polynomial System Solving, System and Control, and Software Science. |
* Gabriel Dos Reis and Bjarne Stroustrup: A Principled, Complete, and Efficient Representation of C++. Journal of Mathematics in Computer Science Volume 5, Issue 3 (2011), Page 335–356 {{doi|10.1007/s11786-011-0094-1}}. Special issue on Polynomial System Solving, System and Control, and Software Science. |
||
* Gabriel Dos Reis and Bjarne Stroustrup: General Constant Expressions for System Programming Languages. SAC-2010. The 25th ACM Symposium on Applied Computing. March 2010. |
* Gabriel Dos Reis and Bjarne Stroustrup: General Constant Expressions for System Programming Languages. SAC-2010. The 25th ACM Symposium on Applied Computing. March 2010. {{doi|10.1145/1774088.1774537}} |
||
* Y. Solodkyy, G. Dos Reis, and B. Stroustrup: Open and Efficient Type Switch for C++. Proc. OOPSLA'12. |
* Y. Solodkyy, G. Dos Reis, and B. Stroustrup: Open and Efficient Type Switch for C++. Proc. OOPSLA'12. {{doi|10.1145/2398857.2384686}} |
||
* Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup: Design and Evaluation of C++ Open Multi-Methods. In Science of Computer Programming (2009). Elsevier Journal. June 2009. {{doi|10.1016/j.scico.2009.06.002}}. |
* Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup: Design and Evaluation of C++ Open Multi-Methods. In Science of Computer Programming (2009). Elsevier Journal. June 2009. {{doi|10.1016/j.scico.2009.06.002}}. |
||
* Gabriel Dos Reis and Bjarne Stroustrup: Specifying C++ Concepts. POPL06. January 2006. |
* Gabriel Dos Reis and Bjarne Stroustrup: Specifying C++ Concepts. POPL06. January 2006. {{doi|10.1145/1111037.1111064}} |
||
* B. Stroustrup: Exception Safety: Concepts and Techniques. In Springer Verlag Lecture Notes in Computer Science, LNCS-2022. ISSN 0302-9743. {{ISBN|3-540-41952-7}}. April 2001. |
* B. Stroustrup: Exception Safety: Concepts and Techniques. In Springer Verlag Lecture Notes in Computer Science, LNCS-2022. ISSN 0302-9743. {{ISBN|3-540-41952-7}}. April 2001. |
||
* B Stroustrup: Generalizing Overloading for C++2000. Overload, Issue 25. 1 April 1998. |
* B Stroustrup: Generalizing Overloading for C++2000. Overload, Issue 25. 1 April 1998. |
||
* B. Stroustrup: Why C++ isn't just an Object-Oriented Programming Language. Addendum to OOPSLA'95 Proceedings. OOPS Messenger, vol 6 no 4, pp 1–13. October 1995. |
* B. Stroustrup: Why C++ isn't just an Object-Oriented Programming Language. Addendum to OOPSLA'95 Proceedings. OOPS Messenger, vol 6 no 4, pp 1–13. October 1995. {{doi|10.1145/260094.260207}} |
||
* B. Stroustrup: A History of C++: 1979–1991 |
* B. Stroustrup: A History of C++: 1979–1991<ref name=history/> Notices. Vol 28 No 3, pp 271–298. March 1993. Also, History of Programming languages (editors T.J. Begin and R.G. Gibson) Addison-Wesley, 1996. |
||
* B. Stroustrup: What is Object-Oriented Programming? (1991 revised version). Proc. 1st European Software Festival. February 1991. |
* B. Stroustrup: What is Object-Oriented Programming? (1991 revised version). Proc. 1st European Software Festival. February 1991. |
||
* B. Stroustrup: Data Abstraction in C. Bell Labs Technical Journal. vol 63. no 8 (Part 2), pp 1701–1732. October 1984. |
* B. Stroustrup: Data Abstraction in C. Bell Labs Technical Journal. vol 63. no 8 (Part 2), pp 1701–1732. October 1984. {{doi|10.1002/j.1538-7305.1984.tb00061.x}} |
||
* B. Stroustrup: Classes: An Abstract Data Type Facility for the C Language. Sigplan Notices, January 1982. |
* B. Stroustrup: Classes: An Abstract Data Type Facility for the C Language. Sigplan Notices, January 1982. {{doi|10.1145/947886.947893}} |
||
More than a hundred technical reports for the C++ standards committee (WG21)<ref>{{Cite web|url=http://www.stroustrup.com/WG21.html|title=My C++ Standards committee papers|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/WG21.html|url-status=live}}</ref> |
More than a hundred technical reports for the C++ standards committee (WG21)<ref>{{Cite web|url=http://www.stroustrup.com/WG21.html|title=My C++ Standards committee papers|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/WG21.html|url-status=live}}</ref> |
||
Line 144: | Line 144: | ||
Stroustrup maintains a list of his quotes: |
Stroustrup maintains a list of his quotes: |
||
* “C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off”.<ref name=quotes>{{cite web|url=https://www.stroustrup.com/quotes.html|title=Bjarne Stroustrup Quotes|website=stroustrup.com}}</ref> |
* “C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off”.<ref name=quotes>{{cite web|url=https://www.stroustrup.com/quotes.html|title=Bjarne Stroustrup Quotes|website=stroustrup.com|first=Bjarne|last=Stroustrup|year=2020|archiveurl=https://web.archive.org/web/20201128151900/https://www.stroustrup.com/quotes.html|archivedate=2020-11-28}}</ref> |
||
* “There are only two kinds of languages: the ones people complain about and the ones nobody uses”<ref name=quotes/> |
* “There are only two kinds of languages: the ones people complain about and the ones nobody uses”<ref name=quotes/> |
||
* |
* “I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone”<ref name=quotes/> |
||
⚫ | |||
==References== |
==References== |
||
{{Reflist}} |
{{Reflist}} |
||
{{Commons-inline}} |
{{Commons-inline}} |
||
⚫ | |||
{{Hopper winners}} |
{{Hopper winners}} |
Bjarne Stroustrup
| |
---|---|
![]()
Stroustrup in 2010
| |
Born | (1950-12-30) 30 December 1950 (age 73) |
Nationality | Danish |
Alma mater |
|
Known for | C++ |
Spouse |
Marian Tinson (m. 1975) |
Children | 2 |
Awards |
|
Scientific career | |
Institutions |
|
Thesis | Communication and control in distributed computer systems (1979) |
Doctoral advisor | David Wheeler[1] |
Website | stroustrup.com |
Bjarne Stroustrup (/ˈbjɑːrnə ˈstrɒvstrʊp/; Danish: [ˈpjɑːnə ˈstʁʌwˀstʁɔp];[2][3] born 30 December 1950) is a Danish computer scientist, most notable for the invention and development of the C++ programming language.[4] Stroustrup has served as an adjunct professor of computer science at Columbia University in the City of New York since 2014.[5]
Stroustrup was born in Aarhus, Denmark. His family was working class, and he attended local schools.[6]
He attended Aarhus University from 1969 to 1975 and graduated with a Candidatus Scientiaruminmathematics with computer science.[7] His interests focused on microprogramming and machine architecture. He learned the fundamentals of object-oriented programming from its inventor, Kristen Nygaard, who frequently visited Aarhus.
In 1979, he received a Doctor of Philosophy in computer science from the University of Cambridge,[8] where he was supervised by David Wheeler.[1][9] His thesis concerned communication in distributed computer systems.[10]
In 1979, Stroustrup began his career as a member of technical staff in the Computer Science Research Center of Bell Labs in Murray Hill, New Jersey, USA. There, he began his work on C++ and programming techniques. Stroustrup was the head of AT&T Bell Labs' Large-scale Programming Research department, from its creation until late 2002. In 1993, he was made a Bell Labs fellow and in 1996, an AT&T Fellow.
From 2002 to 2014, Stroustrup was the College of Engineering Chair Professor in Computer ScienceatTexas A&M University.[11][12] From 2011, he was made a University Distinguished Professor.
From January 2014 to April 2022, Stroustrup was a technical fellow and managing director in the technology division of Morgan Stanley in New York City and a visiting professor in computer science at Columbia University.[13]
As of July 2022, Stroustrup is a professor of Computer Science at Columbia University.[14]
Stroustrup is best known for his work on C++. In 1979, he began developing C++ (initially called "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.[15]
The key language-technical areas of contribution of C++ are:
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++,[16] and three papers for ACM's History of Programming Languages conferences.[17][18][19]
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).
Selected honors[13]
Fellowships
Honorary doctorates and professorships
Stroustrup has written or co-written a number of publications,[22][23] including the books:
In all, these books have been translated into 21 languages.[29]
More than 100 academic articles, including:
More than a hundred technical reports for the C++ standards committee (WG21)[30]
Stroustrup maintains a list of his quotes:
Quotations related to Bjarne Stroustrup at Wikiquote
{{cite web}}
: Check |doi=
value (help); Missing or empty |title=
(help)
Media related to Bjarne Stroustrup at Wikimedia Commons
Grace Murray Hopper Award recipients
| |
---|---|
1970s |
|
1980s |
|
1990s |
|
2000s |
|
2010s |
|
2020s |
|
International |
|
---|---|
National |
|
Academics |
|
Other |
|