Toda linguagem que você usa hoje carrega fragmentos de código genético de linguagens que a maioria dos desenvolvedores sequer reconheceria pelo nome. Escopo léxico, classes, inferência de tipos, pattern matching, o padrão MVC: nada disso surgiu em Python, Java ou Rust. Surgiu décadas antes, em linguagens que acabaram abandonadas por limitações práticas, disputas acadêmicas ou puro azar de timing.
Este artigo rastreia seis dessas linguagens. Não como curiosidade histórica, mas como mapa para entender por que as ferramentas de 2026 funcionam do jeito que funcionam.
ALGOL: a linguagem que ninguém usou mas todos copiam
ALGOL (Algorithmic Language) nasceu em 1958 como um projeto ambicioso: criar uma notação universal para descrever algoritmos. O comitê que desenhou a linguagem incluía John Backus (criador do FORTRAN) e Peter Naur, que juntos formalizaram a sintaxe da ALGOL 60 usando o que hoje conhecemos como BNF (Backus-Naur Form).
Essa formalização foi o primeiro uso de uma gramática formal para definir uma linguagem de programação. Antes da ALGOL, a documentação de linguagens era prosa ambígua. Depois dela, toda linguagem séria passou a ter uma especificação formal. A notação BNF é usada até hoje em especificações de C, Java, Python e na própria RFC do JSON.
Mas a contribuição da ALGOL vai além da gramática. Ela introduziu escopo léxico, blocos de código delimitados por begin/end, recursão como recurso de primeira classe e chamada por nome (call by name). Conceitos que CPL, BCPL, B e eventualmente C herdaram em cadeia direta.
Por que, então, ninguém a usou na prática? A especificação original não definia entrada e saída. Sem I/O padronizado, cada implementação era incompatível com as outras. A ALGOL era perfeita para publicar algoritmos em papers acadêmicos, mas inviável para escrever software real.
O resultado é paradoxal: a linguagem mais influente da história da computação é também uma das menos usadas.
Simula: onde os objetos nasceram
Em 1967, dois pesquisadores noruegueses, Ole-Johan Dahl e Kristen Nygaard, publicaram a Simula 67. A linguagem foi criada para simulação de sistemas discretos, mas no processo inventou algo que mudou a engenharia de software: programação orientada a objetos.
Simula 67 introduziu classes, objetos, herança, subclasses, métodos virtuais e garbage collection. O modelo de "classe como template para objetos" que você usa em Java, C++, Python e TypeScript foi definido pela primeira vez aqui.
A influência direta é documentada. Bjarne Stroustrup, criador do C++, aprendeu Simula com o próprio Nygaard e decidiu trazer a filosofia de objetos de Simula para o ecossistema de C. James Gosling, criador do Java, aderiu ao modelo de objetos da Simula ainda mais fielmente que Stroustrup. Alan Kay, nos anos 1970 no Xerox PARC, usou Simula como ponto de partida para o Smalltalk.
// O modelo de classes que Simula inventou em 1967
// e que usamos em TypeScript sem pensar de onde veio
interface Evento {
tempo: number;
processar(): void;
}
class Simulacao {
private eventos: Evento[] = [];
agendar(evento: Evento): void {
this.eventos.push(evento);
this.eventos.sort((a, b) => a.tempo - b.tempo);
}
executar(): void {
while (this.eventos.length > 0) {
const proximo = this.eventos.shift();
proximo?.processar();
}
}
}
Simula resolveu um problema de simulação e, no caminho, redefiniu como organizamos código. Poucos desenvolvedores sabem que class, extends e new remetem a uma linguagem norueguesa de 1967.
SNOBOL: texto antes do regex
Enquanto ALGOL e FORTRAN focavam em cálculos numéricos e algoritmos, um grupo no Bell Labs tinha outro problema: manipular texto. David Farber, Ralph Griswold e Ivan Polonsky criaram o SNOBOL entre 1962 e 1967, culminando no SNOBOL4.
A grande inovação do SNOBOL4 foi tratar padrões de texto como dados de primeira classe. Enquanto expressões regulares (popularizadas décadas depois) operam como strings que descrevem padrões, no SNOBOL4 os padrões eram valores que podiam ser atribuídos a variáveis, compostos e passados como argumentos.
O conceito era mais poderoso que regex em um aspecto concreto: padrões SNOBOL4 são recursivos, algo que expressões regulares tradicionais não suportam. Perl só adicionou padrões recursivos na versão 5.10, lançada em dezembro de 2007.
Quando AWK e Perl popularizaram manipulação de texto nos anos 1980 e 1990, usaram expressões regulares no lugar dos padrões de SNOBOL. A abordagem era menos poderosa, mas a sintaxe compacta e a integração com Unix conquistaram os desenvolvedores. O SNOBOL desapareceu, mas a ideia de que linguagens precisam de ferramentas nativas para processar texto se tornou permanente.
Smalltalk: tudo é um objeto (e um clique)
O Smalltalk nasceu no Xerox PARC nos anos 1970, criado por Alan Kay e sua equipe. A premissa radical: tudo é um objeto. Números, strings, blocos de código, classes e até booleanos. Não existem primitivos, operadores especiais ou estruturas de controle separadas. 3 + 4 é uma mensagem + enviada ao objeto 3 com o argumento 4.
Essa pureza conceitual influenciou diretamente Ruby. Yukihiro Matsumoto, criador do Ruby, absorveu o modelo de objetos do Smalltalk. Em Ruby, 1.class retorna Integer porque tudo é objeto, exatamente como no Smalltalk.
Mas a contribuição mais duradoura do Smalltalk talvez não seja a linguagem em si. Trygve Reenskaug criou o padrão MVC (Model-View-Controller) enquanto trabalhava no Smalltalk-79 no Xerox PARC no final dos anos 1970. O MVC que estrutura Rails, Django, Spring e praticamente todo framework web nasceu dentro do Smalltalk.
E tem mais. O ambiente do Smalltalk no Xerox PARC incluía janelas, menus, ícones e mouse. Steve Jobs visitou o PARC em dezembro de 1979, viu a interface gráfica derivada do Smalltalk e acelerou a aposta da Apple em interfaces gráficas para o Macintosh. O Macintosh, o Windows e cada interface gráfica que você usa hoje podem ser rastreados até as demos de Smalltalk que Jobs assistiu naquela visita.
ML: tipos sem anotações
Robin Milner criou o ML (Meta Language) nos anos 1970 como a metalinguagem do provador de teoremas Edinburgh LCF. Era uma ferramenta interna, não uma linguagem de propósito geral. Mas o ML trouxe uma inovação que mudou a forma como pensamos sobre tipos: inferência de tipos Hindley-Milner.
A ideia: o compilador deduz os tipos das expressões sem que o programador precise declará-los explicitamente. Você escreve let soma x y = x + y e o compilador infere que x e y são inteiros e que soma retorna um inteiro. Segurança de tipos sem a verbosidade de Java.
// TypeScript herdou a inferência de tipos que ML inventou nos anos 1970
const soma = (x: number, y: number) => x + y;
// Em muitos contextos, TypeScript infere o tipo de retorno: number
const numeros = [1, 2, 3, 4, 5];
const dobro = numeros.map(n => n * 2);
// TypeScript infere: number[]
O algoritmo Hindley-Milner se espalhou. Standard ML e OCaml são descendentes diretos. Haskell adotou o sistema e o expandiu com type classes. F# trouxe a ideia para o ecossistema .NET. E Rust, que o Rust Reference oficial lista como influenciado por SML e OCaml, usa inferência de tipos como recurso central.
TypeScript, que em 2026 é onipresente no ecossistema web, também aplica inferência de tipos em contextos como retorno de funções e closures. A linhagem é longa, mas começa no ML.
COBOL: a linguagem que se recusa a morrer
COBOL é um caso diferente das outras linguagens desta lista. Não está esquecida por ter sido abandonada. Está esquecida porque é invisível. Nenhum desenvolvedor moderno aprende COBOL por escolha, mas os sistemas COBOL processam 95% das transações em caixas eletrônicos e 80% das transações presenciais com cartão de crédito.
As estimativas variam, mas algo entre 220 e 344 bilhões de linhas de código COBOL continuam em produção. O COBOL sustenta 43% dos sistemas bancários que movimentam US$ 3 trilhões em transações diárias. E não é código abandonado: a IBM lançou o Enterprise COBOL 6.4 em 2022, com suporte ao hardware z16, e a versão 6.5 saiu em junho de 2025.
O problema não é a linguagem. O problema é demográfico. Os programadores que dominam COBOL estão se aposentando, e os novos desenvolvedores não têm interesse em aprender uma linguagem de 1959. O mercado de trabalho para programadores COBOL paga salários acima da média justamente pela escassez.
COBOL não vai desaparecer nas próximas décadas. Migrar trilhões de transações para sistemas modernos não é viável sem risco catastrófico. A linguagem que Grace Hopper ajudou a criar continua sendo a espinha dorsal do sistema financeiro global.
Conclusão
Nenhuma dessas seis linguagens aparece em rankings de popularidade. Mas cada conceito que define a programação moderna foi inventado por uma delas: escopo léxico e gramáticas formais (ALGOL), programação orientada a objetos (Simula), pattern matching em texto (SNOBOL), MVC e interfaces gráficas (Smalltalk), inferência de tipos (ML) e processamento de transações em escala (COBOL).
Conhecer a genealogia das suas ferramentas muda a forma como você avalia novas tecnologias. Quando alguém anuncia um "paradigma revolucionário", provavelmente é uma ideia de 1967 com uma sintaxe nova. E isso não é uma crítica. As boas ideias merecem ser reimplementadas.
Referências pesquisadas nesta publicação
- 10 Most(ly dead) Influential Programming Languages - Hillel Wayne
- ALGOL 60 - Wikipedia
- Simula - Wikipedia
- SNOBOL - Wikipedia
- Smalltalk - Wikipedia
- ML (programming language) - Wikipedia
- Backus-Naur form - Wikipedia
- Influences - The Rust Reference
- COBOL Is Everywhere. Who Will Maintain It? - The New Stack
- Why COBOL Still Dominates Banking - CAST Software
- Model-View-Controller - Wikipedia