Bjarne Stroustrup ( / ˈ b j ɑːr n ə ˈ s t r ɒ v s t r ʊ p / (dänisch:[ˈbjɑːnəˈstʁʌwˀstʁɔp]; * 30. Dezember 1950 ) ist ein dänischer Informatiker ,bekannt für die Entwicklung derProgrammierspracheC++ . [ 5] Er leitete die Abteilung für Großprogrammierungsforschung beiden Bell Labs, war Professor für Informatik an derTexas A&M Universityund arbeitete über zehn Jahre beiMorgan Stanley , während er gleichzeitigGastprofessorander Columbia University. Seit 2022 ist erordentlicher Professoran der Columbia University. [ 6 ]

Frühes Leben und Bildung

Stroustrup wurde in Aarhus, Dänemark, geboren . Seine Familie gehörte der Arbeiterklasse an , und er besuchte die örtlichen Schulen. [ 7 ]

Er besuchte von 1969 bis 1975 die Universität Aarhus und schloss sein Studium mit dem Titel Candidatus Scientiarum in Mathematik mit Schwerpunkt Informatik ab . [ 8 ] Seine Interessen konzentrierten sich auf Mikroprogrammierung und Rechnerarchitektur. Die Grundlagen der objektorientierten Programmierung lernte er von deren Erfinderin Kristen Nygaard , die häufig in Aarhus zu Gast war .

1979 promovierte er an der Universität Cambridge in Informatik [ 9 ] [ 10 ] , wo seine Forschung über verteiltes Rechnen von David Wheeler betreut wurde . [ 2 ] [ 9 ]

Karriere und Forschung

1979 begann Stroustrup seine Karriere als technischer Mitarbeiter im Computer Science Research Center der Bell Labs in Murray Hill, New Jersey . Dort begann er seine Arbeit mit C++ und Programmiertechniken. Von der Gründung bis Ende 2002 leitete Stroustrup die Abteilung für Großprogrammierungsforschung der AT&T Bell Labs. 1993 wurde er zum Bell Labs Fellow und 1996 zum AT&T Fellow ernannt.

Von 2002 bis 2014 war Stroustrup Lehrstuhlinhaber für Informatik am College of Engineering der Texas A&M University . [ 11 ] [ 12 ] Seit 2011 ist er Universitätsprofessor mit besonderem Rang.

Von Januar 2014 bis April 2022 war Stroustrup als Technical Fellow und Managing Director in der Technologieabteilung von Morgan Stanley in New York City sowie als Gastprofessor für Informatik an der Columbia University tätig. [ 13 ]

Seit 2021 ist Bjarne Stroustrup technischer Berater von Metaspex, einem Unternehmen, das einen neuen C++-Programmieransatz für Geschäftsanwendungen entwickelt. [ 14 ]

Seit Juli 2022 ist Stroustrup ordentlicher Professor für Informatik an der Columbia University. [ 15 ]

C++

Stroustrup (links stehend) beim Treffen des C++-Standardisierungskomitees in Santa Cruz im März 1996.

Stroustrup ist vor allem für seine Arbeit an C++ bekannt. 1979 begann er mit der Entwicklung von C++ (anfangs „ C mit Klassen“ genannt). Er selbst sagte: „Ich habe C++ erfunden, die ersten Definitionen verfasst und die erste Implementierung erstellt. […] Ich habe die Designkriterien für C++ ausgewählt und formuliert, alle wichtigen Funktionen entworfen und war für die Bearbeitung von Erweiterungsvorschlägen im C++-Standardisierungskomitee verantwortlich.“ C++ wurde 1985 allgemein verfügbar. Für den nichtkommerziellen Gebrauch kostete der Quellcode des Compilers und der Basisbibliotheken lediglich die Versandkosten (75 US-Dollar); dies war vor der weitverbreiteten Internetnutzung. Stroustrup veröffentlichte 1985 auch ein Lehrbuch für die Sprache: „ The C++ Programming Language“ . [ 16 ]

Die wichtigsten sprachtechnischen Beitragsbereiche von C++ sind:

  • Ein statisches Typsystem mit gleicher Unterstützung für eingebaute Typen und benutzerdefinierte Typen (das die Kontrolle über Konstruktion, Zerstörung, Kopieren und Verschieben von Objekten sowie die Überladung von Operatoren erfordert ).
  • Wert- und Referenzsemantik.
  • Systematisches und allgemeines Ressourcenmanagement ( RAII ): Konstruktoren, Destruktoren und darauf basierende Ausnahmen.
  • Unterstützung für effiziente objektorientierte Programmierung: basierend auf dem Simula- Modell mit statisch geprüften Schnittstellen, Mehrfachvererbung und effizienter Implementierung auf Basis virtueller Funktionstabellen .
  • Unterstützung für flexible und effiziente generische Programmierung : Vorlagen mit Spezialisierung und Konzepten.
  • Unterstützung für die Programmierung zur Kompilierzeit: Template-Metaprogrammierung und zur Kompilierzeit ausgewertete Funktionen ("constexpr functions").
  • Direkte Nutzung von Maschinen- und Betriebssystemressourcen.
  • Unterstützung für Parallelverarbeitung durch Bibliotheken (wo nötig, implementiert mittels intrinsischer Funktionen).

Stroustrup dokumentierte seine Prinzipien, die den Entwurf von C++ und die Entwicklung der Sprache leiteten, in seinem 1994 erschienenen Buch „ The Design and Evolution of C++“ [ 17 ] sowie in drei Beiträgen für die ACM-Konferenzen zur Geschichte der Programmiersprachen. [ 18 ] [ 19 ] [ 20 ]

Stroustrup war Gründungsmitglied des C++-Standardisierungskomitees (ab 1989 ein ANSI-Komitee, ab 1991 ein ISO-Komitee) und ist seither ein aktives Mitglied geblieben. 24 Jahre lang leitete er die Untergruppe, die für Vorschläge zur Spracherweiterung zuständig war (Evolution Working Group).

Auszeichnungen und Ehrungen

Ausgewählte Auszeichnungen: [ 13 ]

  • 2018: Der Charles Stark Draper Preis der US National Academy of Engineering für die Konzeption und Entwicklung der Programmiersprache C++.
  • 2018: Der Computer Pioneer Award der IEEE Computer Society für die Verbreitung der objektorientierten und generischen Programmierung durch seinen Entwurf und seine Implementierung der Programmiersprache C++.
  • 2017: Die Faraday-Medaille des IET (Institute of Engineering Technology) für bedeutende Beiträge zur Geschichte des Rechnens, insbesondere für die Pionierarbeit bei der Entwicklung der Programmiersprache C++.
  • 2010: Rigmor og Carl Holst-Knudsens Videnskabspris der Universität Aarhus.
  • 2005: Der William-Procter-Preis für wissenschaftliche Leistungen von Sigma Xi (der wissenschaftlichen Forschungsgesellschaft) als erster Informatiker überhaupt.
  • 1993: Der ACM Grace Murray Hopper Award für seine Pionierarbeit, die die Grundlagen für die Programmiersprache C++ schuf. Auf diesen Grundlagen und Dr. Stroustrups kontinuierlichem Engagement entwickelte sich C++ zu einer der einflussreichsten Programmiersprachen in der Geschichte der Informatik.

Stipendien

Ehrendoktorwürden und Ehrenprofessuren

  • Ihm wurde 2019 von der Universität Carlos III in Spanien die Ehrendoktorwürde verliehen. [ 21 ]
  • Stroustrup ist seit 2013 als Ehrendoktor an der ITMO-Universität tätig. [ 22 ]
  • Honorarprofessor für objektorientierte Programmiersprachen, Fachbereich Informatik, Universität Aarhus. 2010.

Veröffentlichungen

Stroustrup hat eine Reihe von Publikationen verfasst bzw. mitverfasst, [ 23 ] [ 24 ] darunter die Bücher:

Insgesamt wurden diese Bücher in 21 Sprachen übersetzt. [ 30 ]

Mehr als 100 wissenschaftliche Artikel, darunter:

  • Erfolgreich in einer überfüllten und sich ständig verändernden Welt [ 20 ]
  • Die Entwicklung einer Sprache in und für die reale Welt [ 19 ]
  • B. Stroustrup: Was sollten wir Softwareentwicklern beibringen? Warum? CACM. Januar 2010. doi : 10.1145/1629175.1629192
  • Gabriel Dos Reis und Bjarne Stroustrup: Eine prinzipiengeleitete, vollständige und effiziente Darstellung von C++. Journal of Mathematics in Computer Science, Band 5, Heft 3 (2011), Seiten 335–356, doi : 10.1007/s11786-011-0094-1 . Sonderausgabe zu Polynomgleichungssystemen, System- und Regelungstechnik sowie Softwarewissenschaft.
  • Gabriel Dos Reis und Bjarne Stroustrup: Allgemeine Konstantenausdrücke für Systemprogrammiersprachen. SAC-2010. 25. ACM Symposium on Applied Computing. März 2010. doi : 10.1145/1774088.1774537
  • Y. Solodkyy, G. Dos Reis und B. Stroustrup: Offener und effizienter Typwechsel für C++. Proc. OOPSLA'12. doi : 10.1145/2398857.2384686
  • Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup: Entwurf und Evaluierung offener Multimethoden in C++. In: Science of Computer Programming (2009). Elsevier Journal. Juni 2009. doi : 10.1016/j.scico.2009.06.002 .
  • Gabriel Dos Reis und Bjarne Stroustrup: Spezifizierung von C++-Konzepten. POPL06. Januar 2006. doi : 10.1145/1111037.1111064
  • B. Stroustrup: Ausnahmebehandlung: Konzepte und Techniken. In: Springer Verlag Lecture Notes in Computer Science, LNCS-2022. ISSN 0302-9743. ISBN 3-540-41952-7April 2001.
  • B Stroustrup: Generalisierung des Überladens für C++2000. Overload, Ausgabe 25. 1. April 1998.
  • B. Stroustrup: Warum C++ nicht nur eine objektorientierte Programmiersprache ist. Nachtrag zu den OOPSLA’95 Proceedings. OOPS Messenger, Band 6, Nr. 4, S. 1–13. Oktober 1995. doi : 10.1145/260094.260207
  • B. Stroustrup: Eine Geschichte von C++: 1979–1991 [ 18 ] Notices. Band 28 Nr. 3, S. 271–298. März 1993. Siehe auch: Geschichte der Programmiersprachen (Hrsg. TJ Begin und RG Gibson) Addison-Wesley, 1996.
  • B. Stroustrup: Was ist objektorientierte Programmierung? (Überarbeitete Fassung von 1991). Tagungsband des 1. Europäischen Softwarefestivals. Februar 1991.
  • B. Stroustrup: Datenabstraktion in C. Bell Labs Technical Journal. Band 63, Nr. 8 (Teil 2), S. 1701–1732. Oktober 1984. doi : 10.1002/j.1538-7305.1984.tb00061.x
  • B. Stroustrup: Klassen: Eine abstrakte Datentyp-Einrichtung für die Programmiersprache C. Sigplan Notices, Januar 1982. doi : 10.1145/947886.947893

Mehr als hundert technische Berichte für das C++-Standardisierungskomitee (WG21) [ 31 ]

Siehe auch

Referenzen

  1. ^ „Wahl in die National Academy of Engineering, USA 2004“ .
  2. ^ a b Bjarne Stroustrup beim Mathematics Genealogy Project
  3. ^ Stroustrup, Bjarne. „Wie spricht man „Bjarne Stroustrup“ aus?“" . Bjarne Stroustrups Homepage . Archiviert vom Original am 20. Juli 2012 . Abgerufen am 18. November 2014 ."
  4. ^ Stroustrup, Bjarne. „Bjarne spricht seinen eigenen Namen aus“ . Homepage von Bjarne Stroustrup . Archiviert vom Original am 20. September 2012. Abgerufen am 18. November 2014 .
  5. ^ Wong, William (29. Oktober 2013). „Interview: Bjarne Stroustrup spricht über C++“ . Electronic Design . Archiviert vom Original am 22. November 2018. Abgerufen am 29. Januar 2014 .
  6. ^ „Bjarne Stroustrup“ . Columbia Engineering . 1. Juli 2020. Archiviert vom Original am 13. Oktober 2020. Abgerufen am 25. März 2023 .
  7. ^ „NAE ehrt den Gewinner des Draper-Preises 2018“ (PDF) . stroustrup.com . 2. Januar 2020. Archiviert (PDF) vom Original am 9. Oktober 2022.
  8. ^ „Bjarne Stroustrup“ (PDF) . Columbia University Fu Foundation School of Engineering and Applied Science . Archiviert (PDF) vom Original am 6. Januar 2023. Abgerufen am 25. März 2023 .
  9. ^ a b Stroustrup, Bjarne (1979). Kommunikation und Steuerung in verteilten Computersystemen . cam.ac.uk (Dissertation). Universität Cambridge . OCLC 219769715. EThOS uk.bl.ethos.474113 .  
  10. ^ Wong, William (26. November 2013). „Bjarne Stroustrup: C++-Erfinder entwickelt RUNE weiter“ . Electronic Design . Archiviert vom Original am 2. Februar 2014. Abgerufen am 29. Januar 2014 .
  11. ^ „Einige Informationen über Bjarne Stroustrup“ . Archiviert vom Original am 1. Juli 2007. Abgerufen am 27. Juni 2007 .
  12. ^ Kommunikation, Texas A&M Engineering (8. September 2015). „Fakultät – Personen – Informatik & Ingenieurwesen – Fakultät für Ingenieurwissenschaften“ . Cse.tamu.edu . Archiviert vom Original am 12. Februar 2014. Abgerufen am 9. Juni 2016 .
  13. ^ a b Stroustrup, Bjarne (15. August 2022). „Einige Informationen über Bjarne Stroustrup“ . stroustrup.com . Archiviert vom Original am 2. Januar 2020. Abgerufen am 2. Januar 2020 .
  14. ^ Stroustrup, Bjarne. „Bjarne Stroustrup“ . LinkedIn . Abgerufen am 25. September 2025 .
  15. ^ „Bjarne Stroustrup, außerordentlicher Professor für Informatik“ . columbia.edu . August 2022. Archiviert vom Original am 13. Oktober 2020. Abgerufen am 30. Januar 2021 .
  16. ^ Stroustrup, Bjarne (2. Januar 2020). „Die Programmiersprache C++“ . stroustrup.com . Archiviert vom Original am 31. Dezember 2019. Abgerufen am 2. Januar 2020 .
  17. ^ Stroustrup, Bjarne (2. Januar 2020). „The Design and Evolution of C++“ . stroustrup.com . Archiviert vom Original am 31. Dezember 2019. Abgerufen am 2. Januar 2020 .
  18. ^ a b Stroustrup, Bjarne (2. Januar 2020). „A History of C++: 1979–1991“ (PDF) . stroustrup.com . doi : 10.1145/155360.155375 . Archiviert (PDF) vom Original am 16. August 2012.
  19. ^ a b Stroustrup, Bjarne (2. Januar 2020). „Evolving a language in and for the real world: C++ 1991–2006“ ( PDF) . stroustrup.com . doi : 10.1145/1238844.1238848 . S2CID 7518369. Archiviert (PDF) vom Original am 9. Oktober 2022. 
  20. ^ abStroustrup, Bjarne (June 2020). "Thriving in a crowded and changing world: C++ 2006–2020". Proceedings of the ACM on Programming Languages. 4: 1–168. doi:10.1145/3386320. S2CID 219603741.
  21. ^"Honoris Causa | UC3M". www.uc3m.es. Archived from the original on 12 April 2020. Retrieved 12 April 2020.
  22. ^"Ученый Совет НИУ ИТМО на заседании 25.06.2013 г. избрал Бьѐрна Страуструпа почетным доктором нашего университета"(PDF). Is.ifmo.ru. Archived(PDF) from the original on 9 October 2022. Retrieved 7 December 2017.
  23. ^Bjarne Stroustrup at DBLP Bibliography Server
  24. ^Bjarne Stroustrup publications indexed by the Scopus bibliographic database. (subscription required)
  25. ^Stroustrup, Bjarne (2013). A Tour of C++. Addison-Wesley Professional. ISBN 978-0-321-95831-0.
  26. ^Stroustrup, Bjarne (29 December 2008). Programming: Principles and Practice Using C++ (1st ed.). Addison-Wesley Professional. ISBN 978-0-321-54372-1.
  27. ^Stroustrup, Bjarne (23 May 2013). The C++ Programming Language (4th ed.). Addison-Wesley Publishing Company. ISBN 978-0-321-56384-2.
  28. ^Stroustrup, Bjarne (29 March 1994). Design and Evolution of C++ (1st ed.). Addison-Wesley Publishing Company. ISBN 978-0-201-54330-8.
  29. ^Ellis, Margaret A.; Stroustrup, Bjarne (1 January 1990). The Annotated C++ Reference Manual. Addison-Wesley Publishing Company. ISBN 978-0-201-51459-9.
  30. ^Stroustrup, Bjarne (2 January 2020). "Book Covers". stroustrup.com. Archived from the original on 20 July 2012. Retrieved 2 January 2020.
  31. ^Stroustrup, Bjarne (2 January 2020). "My C++ Standards committee papers". stroustrup.com. Archived from the original on 31 December 2019. Retrieved 2 January 2020.