Bjarne Stroustrup - Bjarne Stroustrup

Bjarne Stroustrup
Bjarne-stroustrup (beskåret) .jpg
Stroustrup i 2010
Født ( 1950-12-30 )30. december 1950 (70 år)
Nationalitet dansk
Uddannelse
Kendt for C ++
Priser
Videnskabelig karriere
Institutioner
Afhandling Kommunikation og kontrol i distribuerede edb -systemer  (1979)
Doktorvejleder David Wheeler
Internet side stroustrup .com

Bjarne Stroustrup ( / b j ɑːr n ə s t r s t r ʊ p / ; dansk:  [bjaːnə stʁʌwˀstʁɔp] ; født 30 december 1950) er en dansk datalog , mest kendt for etablering og udvikling af C ++ programmeringssprog. Han er gæsteprofessor ved Columbia University og arbejder på Morgan Stanley som administrerende direktør i New York .

Tidligt liv og uddannelse

Stroustrup blev født i Aarhus, Danmark. Hans familie var arbejderklasse , og han gik på de lokale skoler.

Han gik på Aarhus Universitet 1969–1975 og tog en kandidatgrad i matematik og datalogi . Hans interesser fokuserede på mikroprogrammering og maskinarkitektur. Han lærte det grundlæggende i objektorienteret programmering af dens opfinder, Kristen Nygaard , der ofte besøgte Aarhus .

I 1979 modtog han en ph.d. i datalogi fra University of Cambridge , hvor han blev vejledt af David Wheeler . Hans speciale omhandlede kommunikation i distribuerede edb -systemer.

Karriere

I 1979 begyndte Stroustrup sin karriere som medlem af teknisk personale i Computer Science Research Center i Bell Labs i Murray Hill, New Jersey, USA. Der begyndte han sit arbejde med C ++ og programmeringsteknikker. Stroustrup var leder af AT&T Bell Labs ' store programmeringsforskningsafdeling fra dets oprettelse til slutningen af ​​2002. I 1993 blev han udnævnt til stipendiat i Bell Labs og i 1996 som AT & T-stipendiat.

Fra 2002 til 2014 var Stroustrup College of Engineering Chair i Computer Science Professor ved Texas A&M University . Fra 2011 blev han udnævnt til universitetsudmærket professor.

Fra januar 2014 er Stroustrup teknisk stipendiat og administrerende direktør i teknologidivisionen i Morgan Stanley i New York City og gæsteprofessor i datalogi ved Columbia University.

C ++

Stroustrup er bedst kendt for sit arbejde med C ++. I 1979 begyndte han at udvikle C ++ (oprindeligt kaldet " C med klasser"). Med sine egne ord "opfandt han C ++, skrev de tidlige definitioner og producerede den første implementering [...] valgte og formulerede designkriterierne for C ++, designede alle dets store faciliteter og var ansvarlig for behandlingen af ​​udvidelsesforslag i C ++ standardudvalget. " C ++ blev gjort generelt tilgængelig i 1985. Til ikke-kommerciel brug var kildekoden for kompilatoren og fundamentbibliotekerne forsendelsesomkostningerne (US $ 75); dette var før internetadgang var almindelig. Stroustrup udgav også en lærebog til sproget i 1985, The C ++ Programming Language .

Stroustrup (stående til venstre) ved møde i Santa Cruz i marts 1996 i C ++ Standards Committee

De vigtigste sprogtekniske bidragsområder for C ++ er:

  • Et statisk typesystem med samme understøttelse af indbyggede typer og brugerdefinerede typer (der kræver kontrol med konstruktion, ødelæggelse, kopiering og bevægelse af objekter og overbelastning af operatører ).
  • Værdi og reference semantik.
  • Systematisk og generel ressourceforvaltning ( RAII ): konstruktører, destruktorer og undtagelser, der er afhængige af dem.
  • Understøttelse af effektiv objektorienteret programmering: baseret på Simula- modellen med statisk kontrollerede grænseflader, flere arv og effektiv implementering baseret på virtuelle funktionstabeller .
  • Understøttelse af fleksibel og effektiv generisk programmering : skabeloner med specialisering og koncepter.
  • Understøttelse af kompileringstidsprogrammering: skabelonmetaprogrammering og evaluerede funktioner til kompileringstid ("constexpr-funktioner").
  • Direkte brug af maskin- og operativsystemressourcer.
  • Samtidsstøtte via biblioteker (hvor det er nødvendigt, implementeret ved hjælp af iboende egenskaber).

Stroustrup dokumenterede sine principper for design af C ++ og sprogets udvikling i sin bog fra 1994, The Design and Evolution of C ++ og tre papirer til ACM's History of Programming Language -konferencer.

Stroustrup var et stiftende medlem af C ++ standardudvalget (fra 1989, det var et ANSI -udvalg og fra 1991 et ISO -udvalg) og har siden været et aktivt medlem. I 24 år var han formand for undergruppen, der var chartret til at håndtere forslag til sprogudvidelser (Evolution Working Group).

Priser og hæder

Udvalgte hæder

  • 2018: Charles Stark Draper -prisen fra The US National Academy of Engineering til konceptualisering og udvikling af programmeringssproget C ++.
  • 2018: Computer Pioneer Award fra IEEE Computer Society for at bringe objektorienteret programmering og generisk programmering til mainstream med sit design og implementering af programmeringssproget C ++.
  • 2017: Faraday -medaljen fra IET (Institute of Engineering Technology) for betydelige bidrag til computingens historie, især banebrydende C ++ programmeringssprog.
  • 2010: Aarhus Universitets Rigmor og Carl Holst-Knudsens Videnskabspris.
  • 2005: William Procter -prisen for videnskabelig præstation fra Sigma Xi (det videnskabelige forskningssamfund) som den første datalog nogensinde.
  • 1993: ACM Grace Murray Hopper -prisen for sit tidlige arbejde med at lægge grundlaget for programmeringssproget C ++. Baseret på disse fundamenter og Dr. Stroustrups fortsatte indsats er C ++ blevet et af de mest indflydelsesrige programmeringssprog i computingens historie.

Stipendier

Æresdoktorer og professorater

  • Han blev tildelt en æresdoktor fra University Carlos III, Spanien 2019.
  • Stroustrup har været ædel læge ved ITMO University siden 2013.
  • Æresprofessor i objektorienteret programmeringssprog, Institut for Datalogi, Aarhus Universitet. 2010.

Publikationer

Stroustrup har skrevet eller co-skrevet en række publikationer, herunder bøgerne:

  • A Tour of C ++ (1. og 2. udgave)
  • Programmering: Principper og praksis ved brug af C ++
  • C ++ programmeringssprog (1., 2., 3. og 4. udgave)
  • Design og udvikling af C ++
  • Den kommenterede C ++ - referencehåndbog .

I alt er disse bøger blevet oversat til 21 sprog.

Mere end 100 akademiske artikler, herunder:

  • B. Stroustrup: Trives i en overfyldt og skiftende verden: C ++ 2006–2020. ACM/SIGPLAN History of Programming Languages ​​konference, HOPL-IV. London. Juni 2020.
  • B. Stroustrup: Udvikling af et sprog i og for den virkelige verden: C ++ 1991–2006. ACM HOPL-III. Juni 2007.
  • B Stroustrup: Hvad skal vi lære softwareudviklere? Hvorfor? CACM. Januar 2010.
  • Gabriel Dos Reis og Bjarne Stroustrup: En principiel, komplet og effektiv repræsentation af C ++. Journal of Mathematics in Computer Science Volume 5, Issue 3 (2011), Side 335–356 doi: 10.1007/s11786-011-0094-1. Særligt problem om polynomisk systemløsning, system og kontrol og softwarevidenskab.
  • Gabriel Dos Reis og Bjarne Stroustrup: Generelle konstante udtryk for systemprogrammeringssprog. SAC-2010. Det 25. ACM -symposium om anvendt computing. Marts 2010.
  • Y. Solodkyy, G. Dos Reis og B. Stroustrup: Åben og effektiv type switch til C ++. Proc. OOPSLA'12.
  • Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup: Design og evaluering af C ++ Open Multi-Methods. In Science of Computer Programming (2009). Elsevier Journal. Juni 2009. doi: 10.1016/j.scico.2009.06.002.
  • Gabriel Dos Reis og Bjarne Stroustrup: Specificering af C ++ begreber. POPL06. Januar 2006.
  • B. Stroustrup: Undtagelsessikkerhed: Begreber og teknikker. I Springer Verlag Forelæsningsnotater i datalogi, LNCS-2022. ISSN 0302-9743. ISBN  3-540-41952-7 . April 2001.
  • B Stroustrup: Generalisering af overbelastning til C ++ 2000. Overbelastning, udgave 25. 1. april 1998.
  • B. Stroustrup: Hvorfor C ++ ikke bare er et objektorienteret programmeringssprog. Tillæg til OOPSLA'95 -sager. OOPS Messenger, bind 6 nr. 4, s. 1–13. Oktober 1995.
  • B. Stroustrup: A History of C ++: 1979–1991. Proc ACM History of Programming Languages ​​konference (HOPL-2). ACM Sigplan -meddelelser. Bind 28 nr. 3, s. 271–298. Marts 1993. Også History of Programming sprog (redaktører TJBegin og RGGibson) Addison-Wesley, 1996.
  • B. Stroustrup: Hvad er objektorienteret programmering? (Revideret version i 1991). Proc. 1. europæiske softwarefestival. Februar 1991.
  • B. Stroustrup: Dataabstraktion i C. Bell Labs Technical Journal. bind 63. nr. 8 (del 2), s. 1701–1732. Oktober 1984.
  • B. Stroustrup: Klasser: En abstrakt datatypefacilitet for C -sproget. Sigplan -meddelelser, januar 1982.

Mere end hundrede tekniske rapporter til standardudvalget C ++ (WG21)

Referencer

eksterne links