Bjarne Stroustrup

Bjarne Stroustrup: Unindo elegância e velocidade

Bjarne Stroustrup queria algo que, no papel, parecia uma contradição: uma linguagem onde pudesse escrever programas "tão elegantes quanto os programas Simula, mas tão eficientes quanto os programas C". Simula era lento e acadêmico; C era rápido e implacável. Stroustrup passou as quatro décadas seguintes provando que a contradição era apenas aparente e, no processo, construiu a linguagem que ainda faz funcionar os sistemas operacionais, navegadores, motores de jogos e plataformas de negociação do mundo.

Um início de classe trabalhadora em Aarhus

Stroustrup nasceu em 30 de dezembro de 1950, em Aarhus, Dinamarca, em uma família de classe trabalhadora, e estudou matemática com foco em ciência da computação na Universidade de Aarhus de 1969 a 1975. Ele então foi para a Universidade de Cambridge para um doutorado em ciência da computação, concluído em 1979 sob a orientação de David Wheeler e focado em computação distribuída. Foi em Cambridge, e através da influência de Kristen Nygaard — um dos dois inventores do Simula e da própria programação orientada a objetos — que Stroustrup absorveu as ideias sobre classes, herança e abstração que definiriam o trabalho de sua vida. Ele disse que sua exposição ao poder expressivo do Simula, combinada com a frustração com o quão impraticavelmente lento era para executar, plantou o problema específico que o C++ foi construído para resolver.

Bell Labs e o nascimento de "C with Classes"

Em 1979, Stroustrup juntou-se ao Centro de Pesquisa em Ciência da Computação dos AT&T Bell Labs em Murray Hill, Nova Jersey — a mesma cultura de pesquisa que produziu o Unix e a própria linguagem C. Lá, ele começou a estender o C com classes no estilo Simula, chamando inicialmente o resultado de "C with Classes". O manual de referência interno para o que seria renomeado como C++ apareceu em 1984, e a linguagem alcançou o lançamento comercial em 1985, o mesmo ano em que Stroustrup publicou a primeira edição de "The C++ Programming Language", um livro que teria quatro edições e tradução para vinte e uma línguas. Ele construiu deliberadamente o C++ como uma extensão do C em vez de uma linguagem do zero, uma decisão que lhe custou alguma pureza teórica, mas lhe comprou compatibilidade imediata com uma enorme base de código e cadeia de ferramentas existente — uma troca pragmática que fez mais do que qualquer outra coisa para determinar a rapidez com que a linguagem se espalhou. Ele passou a liderar o departamento de Pesquisa em Programação de Grande Escala dos AT&T Bell Labs desde sua criação até o final de 2002, e foi nomeado Bell Labs Fellow em 1993 e AT&T Fellow em 1996.

O que o C++ realmente adicionou

O C++ adicionou ao C um sistema de tipos estáticos que tratava tipos definidos pelo usuário com a mesma seriedade que os integrados, programação orientada a objetos baseada nas classes e herança do Simula, e — em um movimento posterior e indiscutivelmente mais influente — programação genérica através de templates, permitindo que o código fosse escrito uma vez e especializado para muitos tipos sem sacrificar a velocidade. Seu idioma de gerenciamento de recursos, RAII (aquisição de recursos é inicialização), vinculava o tempo de vida de um recurso ao tempo de vida de um objeto via construtores e destrutores, um padrão que resolveu uma classe de bugs de memória e vazamento de recursos que atormentavam os programadores C há anos e que mais tarde influenciou os designs de manuseio de recursos de linguagens com coleta de lixo. Crucialmente, nada disso veio ao custo do acesso direto do C ao hardware e aos recursos do sistema operacional — a metade de eficiência da ambição original de Stroustrup nunca foi comprometida pela metade de elegância.

O TESTE GRATUITO
Qual é o seu?

Vinte perguntas, oito minutos no relógio e um percentil medido contra todos os que já fizeram. Sem cadastro.

Fazer o teste de QI →

Conduzindo uma linguagem através da padronização

Stroustrup não simplesmente inventou o C++ e foi embora. Ele foi membro fundador do esforço de padronização ANSI em 1989 e do comitê ISO subsequente em 1991, e presidiu o Grupo de Trabalho de Evolução do comitê — o órgão que avalia cada adição proposta à linguagem — por vinte e quatro anos. Esse é um mandato de administração excepcionalmente longo para o criador de qualquer linguagem de programação, e significou que Stroustrup moldou pessoalmente como o C++ absorveu décadas de novas demandas, desde suporte a concorrência até metaprogramação em tempo de compilação, sem quebrar o enorme corpo de código C++ existente que já rodava em produção.

Carreira acadêmica e industrial após os Bell Labs

Após os Bell Labs, Stroustrup mudou-se para a Texas A&M University em 2002 como Professor Catedrático da Faculdade de Engenharia, tornando-se Professor Distinto da Universidade em 2011. Em 2014, ele ingressou no Morgan Stanley como membro técnico e diretor administrativo enquanto ocupava simultaneamente um cargo de professor visitante na Universidade de Columbia, e desde 2022 ele é professor titular de ciência da computação na Columbia — um arco de final de carreira incomum que colocou o inventor de uma linguagem de sistemas no centro da tecnologia de uma empresa de negociação de Wall Street.

Prêmios e reconhecimento

As honrarias de Stroustrup rastreiam sua influência descomunal em vez de qualquer avanço celebrado isoladamente: o Prêmio ACM Grace Murray Hopper em 1993, a eleição como ACM Fellow e IEEE Fellow em 1994, o Prêmio William Procter de Realização Científica em 2005 (o primeiro cientista da computação a recebê-lo), a Medalha IET Faraday em 2017 e o Prêmio Charles Stark Draper em 2018 "por conceituar e desenvolver a linguagem de programação C++". O Computer History Museum o reconheceu como Fellow em 2015, creditando-o por "trazer a programação orientada a objetos e a programação genérica para o mainstream". Ele não recebeu o Prêmio ACM Turing.

Por que Bjarne é chamado de gênio

O argumento para chamar Stroustrup de gênio não descansa em um único golpe de originalidade teórica — a orientação a objetos veio de Nygaard e Dahl, a programação genérica tinha precedentes e o C já existia. Descansa, em vez disso, em um tipo mais raro de julgamento de engenharia: a capacidade de fundir ideias que o campo assumia estarem em tensão, sem quebrar nenhuma, e continuar fazendo essa troca corretamente ao longo de um quarto de século de decisões de padronização à medida que a própria computação mudava sob a linguagem. A citação do Prêmio Draper o credita por "conceituar e desenvolver" o C++, uma linguagem que reconhece a síntese em vez da invenção pura. O contra-argumento honesto é substancial: o C++ é amplamente criticado, inclusive dentro do campo, por sua complexidade acumulada, sua exposição dos programadores a armadilhas de segurança de memória que linguagens mais novas como Rust foram explicitamente projetadas para eliminar, e por compromissos de design que remontam diretamente à decisão fundadora de Stroustrup de permanecer retrocompatível com o C. Seu gênio, se a palavra se aplica, está mais próximo da maestria artesanal e da administração — construir algo enormemente útil e imperfeito, e então mantê-lo unido por quarenta anos — do que de um lampejo de pura intuição abstrata.

Legado

O C++ permanece fundamental para sistemas operacionais, navegadores, motores de jogos e sistemas de negociação financeira, e sua influência percorre visivelmente Java, C# e Rust. A própria avaliação de Stroustrup sobre o trabalho de sua vida sempre foi caracteristicamente pouco sentimental: ele construiu uma ferramenta destinada a ser usada, e por essa medida — pura onipresença de décadas — o C++ teve sucesso além de quase qualquer outra linguagem de programação na história.

Compare com os grandes

Sun Tzu vs William James SidisCharles Dickens vs VoltaireJames Clerk Maxwell vs Ren DescartesImmanuel Kant vs Niels Bohr
Ver Ranking →Todas as comparações →

Crianças prodígio

Macaulay CulkinMacaulay CulkinCarried Home Alone to global blockbuster status and became the…Connie TalbotBritain's Got Talent Finalist at Age 6 — Debut Album Platinum…Shakuntala DeviShakuntala DeviMultiplied two 13-digit numbers in her head in 28 secondsJeremy ShulerCornell University at 12 — Reading at 21 Months, Top-Decile SAT…
Crianças prodígio →

Jogue e volte amanhã

Desafio diário do gênio · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
Toque na sua resposta ↓
Qual gênio é você? Teste de QI grátis