Corrigindo um erro imperdoável da Geek, que deu o merecido destaque a Steve Jobs mas negligenciou completamente um dos pais do Unix e da linguagem C, base de toda a computação moderna, publicamos – com muito atraso – nossa homenagem a Dennis Ritchie, prematuramente morto no último fim de semana aos 70 anos.
Por Henrique Cesar Ulbrich,
editor da Geek e fã incondicional de Dennis Ritchie
A semana não poderia ser mais triste para os geeks. Para além do desaparecimento de Steve Jobs, já em si perda irreparável, o mundo perdeu também Dennis Ritchie, um dos criadores de dois pilares da computação mundial: a linguagem C e o sistema operacional Unix. O cientista da computação foi encontrado morto na última quarta feira 12 em sua casa, em Berkeley Heights, nova Jérsei, e provavelmente faleceu no fim de semana.
Se para você essas duas tecnologias – o Unix e a linguagem C – não parecem ser relevantes, olhe direito: todo o império da Apple (e da Microsoft, e do Google, e da IBM, e da Oracle…) foi baseado nesses dois pilares. Não existiria computação, nem Linux, nem Windows, nem iPad, nem Android, nem Mac OS X, nem internet, nem celulares, nem coisa tecnológica alguma, hoje, se não fosse por Dennis Ritchie.
Não por acaso, a matéria sobre o Homem na revista Wired ganhou o merecido título de Dennis Ritchie: The Shoulders Steve Jobs Stood On (Dennis Ritchie: os ombros que sustentaram Steve Jobs, em tradução livre).
’
A linguagem C
Quando se diz que a linguagem C é a base de toda a informática atual, não é exagero. Existem centenas ou mesmo milhares de linguagens de programação por aí, mas apenas uma, a linguagem C – e suas variantes C++, C# e Objective C – é usada para criar sistemas operacionais. A linguagem foi criada por Ritchie e seu colega dos Bell Labs (hoje AT&T) Brian Kernighan especialmente para poder tornar o Unix (outra criação deles) portável – ou seja, poder fazer o Unix rodar em qualquer hardware.
Na época, anos 1970, os computadores eram gigantescos – os menores, “de mesa”, ocupavam literalmente uma escrivaninha inteira, precisando de outra para o terminal de vídeo – e cada um tinha um hardware diferente. Os sistemas operacionais eram, normalmente, escritos numa linguagem complicada, própria de cada computador – e por isso mesmo chamada de linguagem de máquina. Por isso, cada modelo de computador tinha um sistema operacional diferente, escrito só para ele.
Capa da primeira edição do livro de Ritchie e Kernigham sobre a linguagem C (Wikipedia/Fair Use)
Com a linguagem C, foi possível escrever um único sistema operacional (o Unix) que poderia ser compilado para os diferentes hardwares disponíveis. Hoje os PCs são todos compatíveis (até os Macs são PCs hoje em dia), então é difícil para quem não viveu na época entender o drama de se ter computadores tão diferentes entre si. Com o C, essas diferenças ficaram menos relevantes.
O C (e suas variantes) foi, pois, a escolha natural para a criação de todos os sistemas operacionais modernos, como o Windows, o Linux, o Mac OS X, o iOS, o Android e, claro, todas as variantes de Unix que ainda existem (FreeBSD, HP-UX, AIX, Solaris… a lista é grande) e a maioria dos programas importantes usados como base da internet, como o Oracle, o MySQL, o Apache, o IIS e os navegadores Internet Explorer, Firefox e Chrome.
Não é, pois, exagero dizer que, sem Dennis Ritchie, você não teria seu iPhone, nem seu PC com Media Center fazendo discotecagem automática no sábado à noite, na sua sala. Muito menos atualizaria seu status no Facebook, nem falaria via Skype com sua tia que mora em Serra Leoa.
Trivia: a linguagem C ganhou esse nome por que é sucessora de outra, mais antiga, chamada de… linguagem B. Informalmente, a linguagem era conhecida como “C do K&R”, iniciais dos sobrenomes de seus dois criadores. K&R era como os leitores chamavam o livro dos dois sobre a linguagem, por muitos anos a única fonte oficial de informação sobre ela.
’
O Unix
Dennis Ritchie e Ken Tompson operam um PDP-11, uma das primeiras máquinas a rodar o então novo Unix. (Foto: Bell Labs/Arquivo)
Se formos levar a comparação com Steve Jobs adiante, é preciso dizer que não só a linguagem C, mas também o próprio Unix está entranhado em todos os sistemas operacionais da empresa – tanto o Mac OS X como o iOS são baseados nele. Até o Windows, que não é baseado em Unix, tem código original do Unix: a pilha TCP/IP do sistema, por exemplo.
O Linux, criado por Linus Torvalds e ampliado por milhares de programadores ao redor do mundo, não tem nenhuma linha de código do Unix original – no entanto, tenta imitá-lo o máximo possível, seja em sua estrutura interna, seja no modo de operação.
O Unix começou como um projeto pessoal de Ken Thompson, membro da equipe dos Bell Labs que desenvolvia um novo sistema operacional, o Multics. Com o cancelamento deste último, em 1969, Thompson começou a trabalhar num sistema operacional menor, mais eficiente, mas que fizesse muito do que o Multics fazia. Nascia o Unix.
Ritchie e Kernigham eram parte da equipe do Unix e, quando decidiu-se que era hora de fazê-lo ser um sistema universal, que rodasse em qualquer máquina, surgiu a Linguagem C.
Confira uma breve história do Unix e uma matéria sobre os 40 anos do sistema pelos atalhos geek.com.br/posts/10647 e geek.com.br/posts/10651 respectivamente.
Thompson e Ritchie nos anos 80. (Foto: Bell labs/Arquivo)
Uma despedida
Ritchie ajudou profissionais, entusiastas e fãs de sua linguagem C até o fim da vida. Não era incomum encontrá-lo em fóruns de língua inglesa espalhados pelo mundo respondendo ele mesmo perguntas sobre a linguagem, tanto as mais cabeludas quanto as mais óbvias vindas de iniciantes. Seu livro, “C, A Linguagem de Programação” (The C Programming Language, no original), junto com Brian Kernighan, ainda hoje é a principal referência para quem quer aprender a programar.
Nesse livro está o pedaço de código pelo qual Ritchie sempre será lembrado nos círculos de programação: o famoso Olá Mundo:
main()
{
printf(“hello, world\n”);
}
Pois bem, um leitor do site americano NPR.com, Johhny Truant, deixou o seguinte programinha que, dada a estatura e importância do criador e sua criatura, é a melhor homenagem que alguém poderia fazer a Dennis Ritchie:
#include “stdio.h”
int main(void)
{
printf(“goodbye, world\n”);
return 0;
}
Ou, como disse o usuário @cmastication no Twitter:
Dennis Ricthie foi o engenheiro e arquiteto que construiu a catetedral cujo teto Steve Jobs pintou
Talvez, para quem jamais tenha ouvido falar de Dennis Ritchie, essa alegoria dê a dimensão de quem ele foi.
Até logo, velho amigo. Você foi fantástico.


2 comentários