Published on

Orientação a objetos, Ágil e o peso histórico das limitações de hardware

Authors
orienta-o-a-objetos-gil-e-o-peso-hist-rico-das-limita-es-de-hardware

A conversa usa a história da programação para explicar por que orientação a objetos, métodos de modelagem e práticas ágeis não surgiram como modas isoladas, mas como respostas a limitações técnicas e organizacionais muito concretas. Robert Martin começa relatando seu primeiro contato com programação em 1964, ainda adolescente, com uma pequena máquina de plástico baseada em portas lógicas. Poucos anos depois, já trabalhava com cartões perfurados, Assembly, Honeywell 200 e minicomputadores sem sistema operacional, bibliotecas ou frameworks. Nesse ambiente, cada instrução executada precisava ser escrita pela equipe, compilações podiam levar quase uma hora e até a ordem física dos cartões fazia parte do trabalho.

A partir daí, a discussão acompanha a formação da orientação a objetos. Martin recupera a origem de Simula em simulações escritas em Algol por Ole-Johan Dahl e Kristen Nygaard e explica a ideia técnica de mover o frame de uma chamada de função da pilha para o heap, abrindo caminho para construtores e membros. Ele só entrou em contato com OO nos anos 1980, por artigos sobre Smalltalk e depois por C++, Objective-C e experiências em máquinas gráficas da Xerox e da Apple. Ao mesmo tempo, faz uma ressalva importante: Smalltalk foi influente, mas não define sozinho orientação a objetos; e a associação entre objetos e interfaces gráficas foi mais histórica do que necessária.

O episódio também mostra como o desejo de controlar a complexidade levou a exageros. A discussão passa por Rational, Ada, Grady Booch, Jim Rumbaugh, Ivar Jacobson, UML e Rational Rose. Martin reconhece o valor do UML como linguagem de quadro branco para simplificar ideias, mas critica a tentativa de transformá-lo em formalismo pesado, capaz de substituir o código. Fabio Akita relaciona essa ambição à herança de uma época em que escrever e alterar software era caro demais. Martin concorda: o medo do código, alimentado por builds lentos, dependências frágeis e mudanças perigosas, ajudou a consolidar o modelo waterfall.

A virada para o Ágil aparece como recuperação de práticas iterativas que já existiam no início da computação, agora viabilizadas por máquinas mais rápidas, testes automatizados e ciclos curtos. Martin descreve o encontro de Snowbird como uma reunião de consultores fortes e discordantes, não como um consenso simples, e afirma que as quatro linhas do Manifesto fixaram uma estaca que continua válida apesar das variações comerciais posteriores. No fim, a conversa volta à tese inicial: muitas ideias tratadas como novas são reembalagens de conceitos antigos, de RPC e CORBA a linguagens modernas. A pergunta prática que fica é como preservar a capacidade de mudar código sem repetir o medo que levou a indústria a tentar fugir dele.

Assistir ao episódio original

Referências encontradas

Livros

Este post contém links de afiliado. Se você comprar por eles, eu posso receber uma pequena comissão sem custo adicional para você.