Bjarne Stroustrup

AjustarCompartirImprimirCitar

Bjarne Stroustrup (Dinamarquês: [ˈpjɑːnə ˈstʁʌwˀstʁɔp]; nascido em 30 de dezembro de 1950) é um cientista da computação dinamarquês, mais conhecido pela invenção e desenvolvimento da linguagem de programação C++. Desde julho de 2022, Stroustrup é professor de Ciência da Computação na Universidade de Columbia.

Infância e educação

Stroustrup nasceu em Aarhus, Dinamarca. Sua família era da classe trabalhadora e ele frequentava as escolas locais.

Ele frequentou a Universidade de Aarhus de 1969 a 1975 e se formou com mestrado em matemática e ciência da computação. Seus interesses se concentravam em microprogramação e arquitetura de máquinas. Ele aprendeu os fundamentos da programação orientada a objetos com sua inventora, Kristen Nygaard, que frequentemente visitava Aarhus.

Em 1979, ele recebeu um PhD em ciência da computação pela Universidade de Cambridge, onde foi orientado por David Wheeler. Sua tese dizia respeito à comunicação em sistemas de computadores distribuídos.

Carreira

Em 1979, Stroustrup iniciou sua carreira como membro da equipe técnica do Centro de Pesquisa em Ciência da Computação do Bell Labs em Murray Hill, Nova Jersey, EUA. Lá, ele começou seu trabalho em C++ e técnicas de programação. Stroustrup era o chefe da AT&T Bell Labs' Departamento de Pesquisa de Programação em Grande Escala, desde sua criação até o final de 2002. Em 1993, ele foi nomeado Bell Labs Fellow e em 1996, AT&T Fellow.

De 2002 a 2014, Stroustrup foi professor titular da Faculdade de Engenharia em Ciência da Computação na Texas A&M University. A partir de 2011, ele foi nomeado University Distinguished Professor.

De janeiro de 2014 a abril de 2022, Stroustrup foi bolsista técnico e diretor administrativo na divisão de tecnologia do Morgan Stanley na cidade de Nova York e professor visitante de ciência da computação na Universidade de Columbia.

Desde julho de 2022, Stroustrup é professor de Ciência da Computação na Universidade de Columbia.

C++

Stroustrup (à esquerda) na reunião de março de 1996 Santa Cruz do C++ Comité das Normas

Stroustrup é mais conhecido por seu trabalho em C++. Em 1979, ele começou a desenvolver C++ (inicialmente chamado de "C with Classes"). Em suas próprias palavras, ele "inventou C++, escreveu suas primeiras definições e produziu sua primeira implementação [...] escolheu e formulou os critérios de design para C++, projetou todas as suas principais instalações e foi responsável pelo processamento de propostas de extensão no comitê de padrões C++." O C++ foi disponibilizado em 1985. Para uso não comercial, o código-fonte do compilador e as bibliotecas básicas custavam o frete (US$ 75); isso foi antes de o acesso à Internet ser comum. Stroustrup também publicou um livro didático para a linguagem em 1985, The C++ Programming Language.

As principais áreas técnicas de linguagem de contribuição do C++ são:

  • Um sistema de tipo estático com suporte igual para tipos integrados e tipos definidos pelo usuário (que requer controle da construção, destruição, cópia e movimento de objetos; e sobrecarga do operador).
  • Valor e semântica de referência.
  • Gestão sistemática e geral de recursos (RAII): construtores, destrutores e exceções que dependem deles.
  • Suporte para programação eficiente orientada a objetos: com base no modelo Simula com interfaces estáticamente verificadas, herança múltipla e implementação eficiente com base em tabelas de função virtual.
  • Suporte para programação genérica flexível e eficiente: modelos com especialização e conceitos.
  • Suporte para programação em tempo de compilação: metaprogramação de modelo e funções avaliadas em tempo de compilação ("funções de experiência").
  • Uso direto de recursos de máquinas e sistemas operacionais.
  • Suporte de confiança através de bibliotecas (quando necessário, implementadas usando intrínsecos).

Stroustrup documentou seus princípios orientando o design de C++ e a evolução da linguagem em seu livro de 1994, The Design and Evolution of C++, e três artigos para ACM's History of Programming Languages conferências.

Stroustrup foi membro fundador do comitê de padrões C++ (de 1989, foi um comitê ANSI e de 1991 um comitê ISO) e permaneceu um membro ativo desde então. Por 24 anos ele presidiu o subgrupo constituído para lidar com propostas de extensões linguísticas (Evolution Working Group).

Prêmios e homenagens

Homenagens selecionadas

  • 2018: Prêmio Charles Stark Draper da Academia Nacional de Engenharia dos EUA por conceituar e desenvolver a linguagem de programação C++.
  • 2018: The Computer Pioneer Award da IEEE Computer Society por trazer programação orientada a objetos e programação genérica para o mainstream com seu design e implementação da linguagem de programação C++.
  • 2017: A Medalha Faraday do IET (Instituto de Tecnologia de Engenharia) para contribuições significativas para a história da computação, em particular pioneira na linguagem de programação C++.
  • 2010: A Universidade de Rigmor de Aarhus og Carl Holst-Knudsens Videnskabspris.
  • 2005: O Prêmio William Procter de Realização Científica de Sigma Xi (a sociedade de pesquisa científica) como o primeiro cientista da computação de sempre.
  • 1993: ACM Grace Murray Hopper prêmio por seu trabalho inicial que estabelece as bases para a linguagem de programação C++. Com base nessas fundações e nos esforços contínuos do Dr. Stroustrup, C++ tornou-se uma das linguagens de programação mais influentes da história da computação.

Bolsas

  • Membro da Academia Nacional de Engenharia em 2004.
  • Membro da Associação de Máquinas de Computação (ACM) em 1994.
  • Membro do Instituto de Engenheiros Elétricos e Eletrônicos (IEEE) em 1994.
  • Fellow do Museu de História da Computação para sua invenção da linguagem de programação C++ em 2015.
  • Membro honorário do Churchill College, Cambridge em 2017.

Doutoramentos honorários e cátedras

  • Ele recebeu um doutorado honorário da Universidade Carlos III, Espanha 2019.
  • Stroustrup tem sido um médico nobre na Universidade ITMO desde 2013.
  • Professor Honorário em Linguagens de Programação Orientada por Objetos, Departamento de Ciência da Computação, Universidade de Aarhus. 2010.

Publicações

Stroustrup escreveu ou co-escreveu várias publicações, incluindo os livros:

  • Um passeio de C++ (1a e 2a edição)
  • Programação: Princípios e Prática Usando C++
  • A linguagem de programação C++ (1a, 2a, 3a e 4a edição)
  • O Design e Evolução de C++
  • O anotado C++ Manual de Referência.

Ao todo, esses livros foram traduzidos para 21 idiomas.

Mais de 100 artigos acadêmicos, incluindo:

  • B. Stroustrup: Chegando em um mundo lotado e em mudança: C++ 2006–2020. ACM/SIGPLAN History of Programming Languages Conference, HOPL-IV. Londres. Junho 2020.
  • B. Stroustrup: Evoluindo uma linguagem em e para o mundo real: C++ 1991-2006. ACM HOPL-III. Junho de 2007.
  • B Stroustrup: O que devemos ensinar desenvolvedores de software? Porquê? CACM. Janeiro de 2010.
  • Gabriel Dos Reis e Bjarne Stroustrup: A Principled, Complete, and Efficient Representation of C++. Journal of Mathematics in Computer Science Volume 5, Edição 3 (2011), Página 335-356 doi:10.1007/s11786-011-0094-1. Problema especial sobre Solving de Sistema Polinomial, Sistema e Controle e Ciência de Software.
  • Gabriel Dos Reis e Bjarne Stroustrup: Expressões gerais constantes para linguagens de programação do sistema. SAC-2010. O 25o Simpósio ACM sobre Computação Aplicada. Março de 2010.
  • Y. Solodkyy, G. Dos Reis e B. Stroustrup: Open e Efficient Type Switch para C++. Proc. OOPSLA'12.
  • Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup: Design e Avaliação de C++ Open Multi-Methods. In Science of Computer Programming (2009). Elsevier Journal. Junho 2009. doi:10.1016/j.scico.2009.06.002.
  • Gabriel Dos Reis e Bjarne Stroustrup: Especificando Conceitos C++. POPL06. Janeiro de 2006.
  • B. Stroustrup: Exceção Segurança: Conceitos e Técnicas. No Springer Verlag Lecture Notes em Ciência da Computação, LNCS-2022. ISSN 0302-9743. ISBN 3-540-41952-7. Abril 2001.
  • B Stroustrup: Generalizando a sobrecarga para C++2000. Sobrecarga, edição 25. 1 abril 1998.
  • B. Stroustrup: Por que C++ não é apenas uma linguagem de programação orientada a objetos. Adendo a OOPSLA'95 Proceedings. OOPS Messenger, vol 6 no 4, pp 1–13. Outubro de 1995.
  • B. Stroustrup: A History of C++: 1979–1991. Conferência Proc ACM History of Programming Languages (HOPL-2). ACM Sigplan Avisos. Vol 28 No 3, pp 271–298. Março de 1993. Além disso, History of Programming languages (editors T.J. Begin e R.G. Gibson) Addison-Wesley, 1996.
  • B. Stroustrup: O que é a programação orientada a objetos? (versão revista em 1991). Proc. 1o Festival Europeu de Software. Fevereiro de 1991.
  • B. Stroustrup: Data Abstraction in C. Bell Labs Technical Journal. vol 63. no 8 (Parte 2), pp 1701–1732. Outubro de 1984.
  • B. Stroustrup: Classes: Uma Facilidade de Tipo de Dados Abstrato para a Língua C. Avisos Sigplan, Janeiro de 1982.

Mais de cem relatórios técnicos para o comitê de padrões C++ (WG21)

Contenido relacionado

Kevin Warwick

Kevin Warwick é um engenheiro inglês e Vice-Chanceler Adjunto da Coventry University. Ele é conhecido por seus estudos sobre interfaces diretas entre...

Teoria do jogo

Teoria dos jogos é o estudo de modelos matemáticos de interações estratégicas entre agentes racionais. Tem aplicações em todos os campos das ciências...

Problema de decisão

Na teoria da computabilidade e na teoria da complexidade computacional, um problema de decisão é um problema computacional que pode ser colocado como uma...

George Washington Carver

George Washington Carver foi um cientista e inventor agrícola americano que promoveu culturas e métodos alternativos ao algodão para evitar o esgotamento...

Grace Hopper

Grace Brewster Hopper foi um cientista da computação, matemático e contra-almirante da Marinha dos Estados Unidos. Uma das primeiras programadoras do...
Más resultados...
Tamaño del texto: