Prévia do material em texto
TEMA 4 História da programação De Ada Lovelace às linguagens modernas: gerações, paradigmas e marcos ■ Resumo A programação nasceu antes do computador eletrônico. Entre 1842 e 1843, Ada Lovelace traduziu um artigo do matemático Luigi Menabrea sobre a Máquina Analítica de Charles Babbage e acrescentou notas próprias [1]. Na famosa Nota G, descreveu um algoritmo para calcular os números de Bernoulli — considerado o primeiro programa da história — e percebeu que a máquina poderia manipular símbolos, e não apenas números [2]. A máquina nunca foi construída, então ela nunca viu o código rodar [3]. No século XX, a teoria veio primeiro: em 1936 Alan Turing definiu formalmente o que é computável (máquina de Turing). Depois vieram os computadores eletrônicos, programados inicialmente em código de máquina e depois em Assembly. O alemão Konrad Zuse projetou o Plankalkül (1942–1945), a primeira linguagem de alto nível — que, porém, ficou no papel [1]. A virada prática foi o FORTRAN, desenvolvido por uma equipe da IBM liderada por John Backus a partir de 1954 e lançado em 1957 [1][2]. No início havia desconfiança de que código compilado seria lento; o FORTRAN convenceu ao mostrar eficiência e portabilidade entre máquinas [1]. Ao fim dos anos 1950, FORTRAN, COBOL e ALGOL formavam o trio que consolidou a área [4]. ■ Linha do tempo Ano Acontecimento 1804 Tear de Jacquard usa cartões perfurados para “programar” padrões de tecido — inspiração para Babbage. 1837 Babbage projeta a Máquina Analítica (memória, unidade de cálculo, entrada por cartões). 1843 Ada Lovelace publica suas notas com o algoritmo dos números de Bernoulli [2]. 1936 Turing (máquina de Turing) e Church (cálculo lambda) fundam a teoria da computação. 1942–45 Konrad Zuse cria o Plankalkül, primeira linguagem de alto nível (não implementada na época) [1]. 1945–46 ENIAC, programado por cabos e chaves; von Neumann descreve a arquitetura de programa armazenado. 1952 Grace Hopper desenvolve o compilador A-0; nos anos seguintes, influencia o COBOL. 1957 FORTRAN (IBM, John Backus) — primeira linguagem de alto nível amplamente usada [2]. 1958 LISP (John McCarthy) — base da programação funcional e da pesquisa em IA. 1959–60 COBOL (negócios) e ALGOL 60, cuja sintaxe foi descrita em BNF (Backus–Naur Form). 1964 BASIC, criado para ensino em Dartmouth. 1967 Simula 67: introduz classes e objetos (origem da orientação a objetos). 1968 Conferência da OTAN cunha “engenharia de software”; Dijkstra critica o GOTO → programação estruturada. 1970–72 Pascal (Wirth), C (Dennis Ritchie, Bell Labs, junto com o Unix), Smalltalk e Prolog. História da programação · Resumo de estudo · Maria Antonia · out/2026 1 Ano Acontecimento 1974 SEQUEL, depois SQL, linguagem declarativa para bancos relacionais (IBM). 1983–85 C++ (Bjarne Stroustrup) leva a OO ao mundo do C; Ada padronizada pelo governo dos EUA [1]. 1991 Python (Guido van Rossum). 1995 Ano da web: Java, JavaScript, PHP e Ruby. 2000s C# (2000), Git (2005), GitHub (2008), Go (2009). 2010s Rust, Kotlin, TypeScript (2012), Swift (2014); nuvem, mobile e ciência de dados. 2020s Assistentes de código baseados em IA generativa entram no fluxo de trabalho do programador. ■ Gerações e paradigmas 1ª geração Linguagem de máquina (0 e 1), dependente do hardware 2ª geração Assembly: mnemônicos traduzidos por um montador 3ª geração Alto nível e uso geral: FORTRAN, COBOL, C, Pascal, Java, Python 4ª geração Mais próximas do problema, geralmente declarativas: SQL, geradores de relatório 5ª geração Baseadas em restrições/lógica, associadas à IA: Prolog Imperativo Sequência de comandos que alteram o estado (FORTRAN, C) Estruturado Imperativo sem GOTO: sequência, seleção e repetição (Pascal) Orientado a objetos Classes, objetos, herança, encapsulamento, polimorfismo (Simula, Smalltalk, Java) Funcional Funções puras, imutabilidade, recursão (LISP, Haskell) Lógico Fatos e regras + motor de inferência (Prolog) ⚠ Atenção: pegadinhas comuns › “Primeira linguagem de alto nível” = Plankalkül; “primeira amplamente usada/comercial” = FORTRAN. › FORTRAN: desenvolvimento começou em 1954, primeiro compilador entregue em 1957 — as duas datas aparecem. › Primeira linguagem OO = Simula 67, não Smalltalk nem C++. › Java e JavaScript são linguagens diferentes, lançadas no mesmo ano (1995). › A linguagem Ada (anos 1980) homenageia Ada Lovelace — não foi criada por ela. História da programação · Resumo de estudo · Maria Antonia · out/2026 2 ✓ Dicas de estudo para este tema › Estude por décadas: cada uma tem um “problema da época” (escrever menos código de máquina → organizar programas grandes → reutilizar código → web → escala e segurança). › Monte uma árvore genealógica: ALGOL → Pascal / C → C++ → Java → C#; LISP → Scheme → Haskell/funcionais. › Escreva o mesmo programa curto (ex.: fatorial) em 3 paradigmas diferentes — fixa a diferença na prática. › Ligação com sua grade: a BNF do ALGOL 60 é a mesma notação de gramáticas usada em Compiladores e Linguagens Formais. ■ Fontes consultadas [1] Saylor Academy. The History of Programming Languages. https://learn.saylor.org/mod/page/view.php?id=67404 [2] ProfileTree. The First Programming Languages Created: A Complete History. https://profiletree.com/first-programming-languages-created/ [3] Canaltech. Como nasceu a programação: de Ada Lovelace ao FORTRAN. https://canaltech.com.br/mercado/como-nasceu-a-programacao-de-ada-lovelace-ao-fortran/ [4] Fairhead, H. History of Computer Languages — The Classical Decade, 1950s. I Programmer. https://www.i-programmer.info/history/computer-languages/471-the-classical-decade.html [5] USP — e-Disciplinas. A História das Linguagens de Programação (slides de aula). https://edisciplinas.usp.br/mod/resource/view.php?id=1784267 [6] Tel Aviv University. A Biased History of Programming Languages (slides). https://courses.cs.tau.ac.il/0368-4490/History.pdf História da programação · Resumo de estudo · Maria Antonia · out/2026 3 https://learn.saylor.org/mod/page/view.php?id=67404 https://profiletree.com/first-programming-languages-created/ https://canaltech.com.br/mercado/como-nasceu-a-programacao-de-ada-lovelace-ao-fortran/ https://www.i-programmer.info/history/computer-languages/471-the-classical-decade.html https://edisciplinas.usp.br/mod/resource/view.php?id=1784267 https://courses.cs.tau.ac.il/0368-4490/History.pdf