Fabio Akita Report

Às vezes filosofando, às vezes sendo pragmático. Por vezes duro e severo, outras mais diplomático. Eventualmente vendendo, eventualmente realizando. Assim é a vida de um consultor em sistemas de informática de grandes empresas. De esquina em esquina, ouvimos histórias interessantes. Não sei se são interessantes, mas vou reportá-las, mesmo assim.

sexta-feira, janeiro 20, 2006

História da Família de Linguagens C

Este blog é muito bom: http://dotnetmasters.com/HistoryOfCFamily.htm

Tão bom que resolvi perder alguns minutos para traduzir. O tom é irônico mas as informações são reais mesmo.

1972 - O precursor do C, a linguagem B, é desenvolvida na Bell Labs. A linguagem B é rápida, fácil de dar manutenção, e útil para todos os tipos de desenvolvimento, de sistemas a aplicações. A equipe toda que projetou a linguagem é imediatamente despedida por comportamento inadequado para um empregado de uma companhia telefônica, e o projeto é repassado para Dennis Ritchie. Ele altera a linguagem para ser incompreensível, difícil de dar manutenção e útil somente para desenvolvimento de sistemas. Ele também desenha um sistema de ponteiros que garante que todo programa com mais de 500 linhas vai ter um ponteiro para dentro do sistema operacional.

1982 - É descoberto que 97% de todas as chamadas de rotina C estão sujeitas a ataques de buffer overrun. Programadores C percebem que inicializar uma variável para qualquer coisa que aconteça de estar perdido na memória não é necessariamente uma boa idéia. Entretanto, como forçar uma inicialização correta quebraria 97% de todos os programas C em existência, nada é feito a esse respeito.

1984 - O número de maus ponteiros em sistemas operacionais parece ter aumentado dramaticamente.

1985 - Um variante do C com capacidades de orientação a objetos, chamado C with Classes, é finalizado para ser lançado comercialmente. Entretanto, o nome C with Classes é considerado muito limpo e fácil demais para as pessoas entenderem, então a versão comercial é chamada C++.

1986 - C se torna tão popular que analistas da indústria recomendam escrever aplicações de negócio com ela. Eles argumentam que aplicações escritas em C serão portáveis para muitos diferentes sistemas. Muitos desses analistas da indústria são suspeitos de estarem sobre influência de alucinógenos.

1988 - Analistas da indústria finalmente acabam com o LSD. Quando as alucinações acabaram, eles percebem que aplicações de negócio escritas em C demoram 5 vezes mais para produzir e ainda não são portáveis. Eles param de recomendar que sejam escritas em C, exceto por uma minoria que mudou para cocaína crack e começam a recomendar que aplicações de negócio sejam escritas em C++ porque "orientação a objetos vai resultar em reuso de código".

1990 - Por esse tempo, todos os compiladores C se tornaram compiladores de C++. Mas, como a maioria dos programas C++ não usa nenhuma das funcionalidades de orientação a objetos da linguagem, significa na prática que estruturas de código engordadas e ponteiros no sistema operacional agora estavam sendo compiladas com um compilador orientado a objetos.

1990 - Depois de contratar alguns analistas da indústria que migraram do crack para solvente, a Sun decide criar uma nova linguagem chamada Oak para programar caixas de TV (set-top-boxes). Como todos os seus programadores tinham sintaxe C emaranhada em seus DNAs nessa época, a nova linguagem pega muita coisa emprestada da sintaxe de C e C++. Entretanto, set-top-boxes não tem um sistema operacional para onde maus ponteiros apontarem, então, ponteiros são eliminados da linguagem.

1994 - Alguém na Sun finalmente entende que idéia estúpida foi essa de desenvolver uma linguagem especial apenas para set-top-boxes. A linguagem foi rebatizada de Java e reposicionada como uma linguagem de "Internet" que deveria ser portável para muitas plataformas. Isso funciona bem como campanha de marketing, porque menos de 3% das pessoas na indústria na época entendiam o que era Internet, e porque analistas da indústria alucinados continuam sendo idiotas pela idéia mística de "portabilidade para diferentes plataformas".

1995 - a Sun oferece cogumelos psicodélicos gratuitos para analistas da indústria que, imediatamente, começam a escrever artigos sobre como Java é o futuro da programação por causa de sua portabilidade e integração com a Internet.

Meio 1996 - 17.468.972 artigos aparecem sobre como Java é o futuro da programação. A era dos applets Java em páginas web começa.

Fim de 1996 - Programadores tentando produzir páginas web reais com applets que realmente funcionam cometem suicídio em massa por causa da frustração e depressão. Analistas da indústria aumentam sua dose de alucinógenos para compensar.

1997 - Aceitando os conselhos dos analistas da indústria alucinados, a Corel decide reescrever todos os seus aplicativos, incluindo WordPerfect, em Java. O resultado final é o primeiro famoso processador de textos que é mais lento que usar uma máquina de escrever.

1998 - Percebendo que essa coisa de applet estava esvaindo rápido, a Sun reposiciona o Java novamente, desta vez como uma linguagem de servidor. Eles roubam o design do Microsoft Transaction Server e convencem todos que foram eles que criaram o design.

1999 - Java 2 Enterprise Edition é apresentado para revisão de bêbados e viciados analistas da indústria. 21.499.512 artigos são escritos sobre isso, mas ninguém de fato o usa porque ainda é muito imaturo e caro.

2000 - J2EE finalmente funciona, mais ou menos. Bem na hora que os fornecedores de Java estão prontos para começar a fazer dinheiro sobre ele, a Microsoft anuncia o .NET, que inclui quase todas as funcionalidades do J2EE exceto o custo absurdo. De fato, a Microsoft decide dar o .NET de graça para usuários Windows. Scott McNeally ficou tão estupefato que abre um novo processo irracional contra a Microsoft.

.NET inclui um novo membro na família C, C#, pronunciado "C-pound", continuando a tradição de linguagens nessa família com nomes estúpidos.

2001 - O departamento de marketing da Microsoft percebe que nenhum deles já falou com um desenvolvedor de produto Microsoft vivo. Eles almoçam juntos e descobrem que a pronúncia correta deveria ser "C sharp".

2002 - C# é apresentado como parte de uma versão de lançamento do Microsoft .NET. Desenvolvedores C++ da plataforma Microsoft regorjizam sobre o conceito de "código gerenciado" (managed code), que significa que eles finalmente receberiam as mesmas funcionalidades de gerenciamento automático de memória que o Visual Basic tem desde 1991 e Java tem desde 1995.

Copyright © 1996-2006 by Bill S. Hollis, originally posted on dotnetmasters.com 13 January 2006.
Traduzido por Fabio Akita, 20/Janeiro/2006.

0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial