# Bjarne Stroustrup

Bjarne Stroustrup (Aarhus, Danimarka, 1950eko abenduaren 30a) danimarkar informatikaria da, C++ programazio-lengoaia asmatu eta garatzeagatik ezaguna. Stroustrup informatika-irakasle bisitari bezala hasi zen 2014an Columbia Unibertsitatean, New York hirian, eta 2022tik aurrera irakasle bezala egiten du lan leku berean.

## Bizitza eta hezkuntza

Stroustrup Aarhusen (Danimarka) jaio zen. Bere familia langile-klasea zen eta bertako eskoletan ikasi zuen.
1969tik 1975era Aarhusko Unibertsitatean ikasi zuen eta matematikako Candidatus Scientiarum batekin graduatu zen informatikan. Bere interesak mikroprogramazioan eta konputagailu-arkitekturan zentratu ziren. Kristen Nygaard asmatzailearen eskutik ikasi zituen objektuetara bideratutako programazioaren oinarriak, Aarhus sarri bisitatzen zuena.
1979an, informatikako doktoretza jaso zuen Cambridgeko Unibertsitatean, gaia konputazio banatuari izan zen eta zuzendaria David Wheeler.

## Ikasketak eta ikerketa

1979an hasi zen Stroustrup bere karrera teknikoarekin Computer Science Research Center of Bell Labs-en, Murray Hill-en (New Jersey, AEB). Bertan, C++ eta programazio tekniken inguruan hasi zen lanean. Stroustrup A&T Bell Labs-en eskala handiko ikerketa-programaren saileko burua izan zen, sortu zenetik 2002ra arte. 1993an, Bell Laborategietako kide egin zuten eta 1996an, AT&T Fellow.
2002tik 2014ra, Stroustrup, Texas A&M Unibertsitateko informatikako irakaslea izan zen. 2011n, unibertsitateko irakasle ospetsua izendatu zuten.
2014ko urtarriletik 2022ko apirilera, Stroustrup New Yorkeko Morgan Stanley hiriko teknologia-dibisioko zuzendari teknikoa izan zen eta Columbia Unibertsitateko informatika zientzietako irakasle bisitaria.
2022ko uztailetik informatika-irakaslea da Columbia Unibertsitatean.

### C++

Stroustrup C++ lengoaian egindako lanagatik da ezaguna. 1979an C++ garatzen hasi zen (hasiera batean "C with Classes" deitua). Bere hitzetan, "C++ asmatu zuen, bere hasierako definizioak idatzi eta lehen aplikazioa egin zuen, diseinu-irizpideak aukeratu eta formulatu eta instalazio nagusi guztiak diseinatu zituen, eta C++ estandarren batzordean hedapen proposamenak prozesatzeaz arduratu zen". C++ 1985ean egin zen. Erabilera ez komertzialerako, konpilatzailearen eta fundazioaren liburutegien iturburu-kodearen prezioa bidalketaren kostua 75 dolarrekoa zen; hori horrela izan zen Internet sortu baino lehenagoko garaian. Stroustrup-ek 1985ean C++ lengoaiarako testuliburu bat argitaratu zuen: "The C++ Programming Language".
C++ lengoaiaren ekarpen teknikoak hauek izan ziren:
* Datu mota estatikoetarako sistema bat, euskarri berdina duena bai lengoaia barruko datu motei bai erabiltzailearenei (horrek kontrola eskatzen du objektuen eraikuntzan , suntsiketan, kopiatzean eta objektu-mugimenduan; eta eragilea gainkargatzea).
* Balio eta erreferentzien semantika.
* Baliabideen kudeaketa sistematikoa eta orokorra (RAII): eraikitzaileak, suntsitzaileak eta haiekin zerikusia duten salbuespenak.
* Objektuetara bideratutako programazio efektiborako euskarria: Simularen ereduan oinarritua, interfaze estatikoz egiaztatua, herentzia anizkoitza, eta funtzio birtualen tauletan oinarritutako aplikazio eraginkorra.
* Datu mota generikoen programazio malgu eta eraginkorrerako laguntza: txantiloiak espezializazio eta kontzeptuekin.
* Konpilazio-denborako programaziorako euskarria: metaprogramazioa eta konpilatze-aldian ebaluatutako funtzioak ("constexpr funtzioak").
* Konputagailuaren eta sistema eragilearen erabilera zuzena.
* Konkurrentzia-baliabideak liburutegiren bidez (beharrezkoa denean, intrintsekoak erabiliz inplementatuta).
Stroustrup-ek C++ eta hizkuntzaren diseinua eta eboluzioa dokumentatu zituen 1994ko The Design and Evolution of C++ liburuan, eta hiru artikulu ACM elkartearen History of Programming Languages konferentziarako.
C++ estandarren batzordeko kide sortzailea izan zen (1989an ANSI Komitea izendatu zen, eta 1991tik aurrera ISO Komitea) eta ordutik kide aktiboa izan da. 24 urtez azpitaldea zuzendu zuen hizkuntza hedapenerako proposamenak kudeatzeko (Evolution Working Group).

### Sariak eta ohoreak

Hautaturiko ohoreak:
* 2018: Charles Stark Draper saria, Estatu Batuetako Ingeniaritzako Akademia Nazionalarena, C++ programazio lengoaia kontzeptualizatu eta garatzeagatik.
* 2018: Computer Pioneer saria, The IEEE Computer Society-koa, objektuetara bideratutako programazioa eta generoaren programazioa kontinentera ekartzeagatik C++ programazio-lengoaiaren diseinuarekin eta aplikazioarekin.
* 2017: Faraday-ren domina, IET (Institute of Engineering Technology) enpresakoa, informatikaren historian ekarpen esanguratsuak egiteagatik, bereziki C++ programazio-lengoaia.
* 2010: Aarhusen Rigmor og Carl Holst-Knudsens Videnskabspris.
* 2005: William Procter Prize for Scientific Achievement for Sigma Xi (Ikerketa zientifikoen Elkartea), lehen informatika zientzialaria izateagatik.
* 1993: ACM Grace Murray Hopper saria C++ programazio-lengoaiaren oinarriak ezartzeagatik. Oinarri horietan oinarrituta eta Stroustrup doktorearen etengabeko ahaleginean oinarrituta, C++ informatikaren historiako programazio-lengoaiarik eragin handiena duen bat bihurtu da.
Elkarteak:
* 2004: Ingeniaritzako Akademia Nazionaleko kidea.
* 1994: Computing Machinery (ACM) elkarteko kidea.
* 1994: Elektronika eta Elektronika Ingeniaritzako Institutuko (IEEE) kidea.
* 2015: Computer History museoko kidea C++ programazio-lengoaia asmatzeagatik.
* 2017: Churchill unibertsitateko ohorezko kidea, Cambridge-n.
Ohorezko doktoretzak:
* 2019ko Carlos III Unibertsitateko ohorezko doktoretza jaso zuen, Espainian.
* Stroustrup ITMO Unibertsitateko doktore nobleada 2013tik.
* Ohorezko irakaslea objektuetara bideratutako programazioan, Informatika Departamentuan, Aarhus-eko Unibertsitatean, 2010ean.

### Argitarapenak

Stroustrup-ek hainbat argitalpen idatzi ditu, liburu hauek barne:
* Margaret A. Ellis y Bjarne Stroustrup, The Annotated C++ Reference Manual, Addison-Wesley Pub Co; (1990); ISBN 0-201-51459-1. Erreferentziazko gidaliburua.
* Bjarne Stroustrup, The Design and Evolution of C++, Addison-Wesley Pub Cp; Primera edición (1994); ISBN 0-201-54330-3
* Bjarne Stroustrup, The C++ Programming Language, Addison-Wesley Pub Co; Tercera edición (2000); ISBN 0-201-70073-5.(1., 2., 3. eta 4. edizioak)
* Bjarne Stroustrup,Programming -- Principles and Practice Using C++, Addison-Wesley, (2008); ISBN 978-0321543721. Programazioa: Oinarriak eta praktika C++ erabiliz.
* Bjarne Stroustrup, A Tour of C++ (1., 2. eta 3. edizioak).
Liburu horiek 21 hizkuntzetara itzuli dira.
100 artikulu akademiko baino gehiago, adibidez:
* Thriving in a crowded and changing world. Mundu jendetsu eta aldakor batean haztea
* Evolving a language in and for the real world. Mundu errealean hizkuntza bat garatzen.
* B Stroustrup: What should we teach software developers? Why? CACM. January 2010. doi:10.1145/1629175.1629192. Zer irakatsi behar diegu software garatzaileei? Zergatik?
* 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. C++ irudikapen oinarritu, ordenatu eta osatua. Konputagailu zientzetako matematikaren egunkaria.
* 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. 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.
* 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. Salbuespen segurtasuna: kontzeptuak eta teknikak.
* 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. doi:10.1145/260094.260207
* B. Stroustrup: A History of C++: 1979–1991[16] 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. Zer da objektuetara bideratutako programazioa? (1991ko berrikusitako bertsioa).
* 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. doi:10.1145/947886.947893
Estandarren Batzorderako ehun txosten tekniko baino gehiago C++ (WG21).

## Erreferentziak

* ↑ Alegria Loinaz, Iñaki; Garay Vitoria, Nestor. (1995). C programazio-lengoaia. ELHUYAR arg ISBN 978-84-87114-03-8. (Noiz kontsultatua: 2023-12-12).
* ↑ Alegria Loinaz, Iñaki; Garay Vitoria, Nestor. (1995). C programazio-lengoaia (PDF). ELHUYAR arg ISBN 978-84-87114-03-8. (Noiz kontsultatua: 2023-12-12).

## Kanpo estekak

* (PDF) C programazio-lengoaia. Alegria Loinaz, Iñaki; Garay Vitoria, Nestor. (1995, ELHUYAR arg) ISBN 978-84-87114-03-8.
* Datuak: Q92620
* Multimedia: Bjarne Stroustrup / Q92620