18 grandes invenções no mundo dos computadores e da programação

Recentemente, meus colegas e eu tivemos uma discussão sobre o tópico dos primeiros computadores e programas. A conversa lembrou não apenas estudiosos famosos como Charles Babbage, mas também conhecidos menos conhecidos como Ada Lovelace. Como resultado, surgiu a idéia de conduzir um estudo e compilar uma cronologia da história dos computadores e da programação.

No processo de estudar várias fontes, muitos fatos interessantes foram descobertos. Por exemplo, o Babbage tecnicamente não é o inventor do computador, que a primeira linguagem de programação de alto nível não era o FORTRAN, e as pontas de caneta foram usadas para os monitores CRT.



1. O primeiro computador: “A Máquina das Diferenças” (1821)


Precursor do mecanismo analítico. A máquina da diferença foi a primeira tentativa de criar um computador mecânico. O projeto foi desenvolvido pelo cientista Charles Babbage. Com o apoio do governo britânico, ele começou a trabalhar no dispositivo. Porém, devido ao alto custo, o financiamento foi interrompido e o computador nunca foi construído.



2. O primeiro computador de uso geral: “Máquina analítica” (1834)


Charles Babbage continuou seu trabalho e, com base em sua experiência, começou a desenvolver um computador mecânico. Esta máquina destinava-se a automatizar cálculos aproximando funções por polinômios e calculando diferenças finitas. Devido à possibilidade de uma representação aproximada nos polinômios dos logaritmos e funções trigonométricas, a “máquina analítica” poderia ser um dispositivo universal.



3. O primeiro programa de computador: um algoritmo para calcular o número de Bernoulli (1841 - 1842)


A matemática Ada Lovelace começou a traduzir os relatórios de seu colega italiano, o matemático Luigi Menabrea. Para fazer isso, ela usou a mesma máquina analítica Babbage em 1841. Durante a tradução, a mulher se interessou pelo computador e deixou anotações. Uma das notas continha um algoritmo para calcular o número de Bernoulli (uma sequência de números racionais B 1 , B 2 , B 3 ) por uma máquina analítica que, segundo os especialistas, foi o primeiro programa de computador.



4. O primeiro computador de trabalho: Z3 Konrad Zuse (1941).


O inventor alemão Konrad Zuse foi o primeiro a criar um computador Z3 em funcionamento. Com base nos dois primeiros modelos Z1 e Z2, o cientista montou um computador de programação eletromagnética completo baseado em relés eletrônicos. O Z3 tinha um sistema binário, números de ponto flutuante, um dispositivo aritmético com dois registradores de 22 bits, controle através de fitas de 8 canais.

Supunha-se que este seria um projeto secreto do governo alemão. Na maior parte, foi projetado para o Instituto de Pesquisa de Aviação. É verdade que o próprio Tsuza estava pouco interessado nos interesses dos militares, ele só queria criar um computador em funcionamento.

O Z3 original foi destruído durante o bombardeio de Berlim em 1943.



5. O primeiro computador eletrônico: Atanasoff-Berry Computer (Atanasoff-Berry Computer, ABC, 1942)



O primeiro dispositivo de computação digital sem partes móveis. O computador foi criado por John Vincent Atanasov e Clifford Berry. O ABC foi usado para encontrar soluções para equações lineares simultâneas. Foi o primeiro computador a usar um conjunto de duas peças para representar dados e comutadores eletrônicos em vez de mecânicos. O computador, no entanto, não era programável. O ABC introduziu elementos mais modernos, como aritmética binária e gatilhos. A desvantagem do dispositivo era sua especialização e incapacidade de alterar os cálculos devido à falta de um programa armazenado.



6. O primeiro computador eletrônico programável: "Colossus" (1943)


O computador Colossus é um desenvolvimento secreto da Segunda Guerra Mundial. Foi criado por Tommy Flowers em conjunto com o ramo de Max Newman, com o objetivo de prestar assistência aos britânicos na descriptografia de mensagens nazistas interceptadas. Eles foram criptografados com a cifra de Lorentz. As ações foram programadas com interruptores e plugues eletrônicos. "Colossus" deu tempo para descriptografar mensagens de várias horas a semanas. Usando um computador, muitas criptografias fascistas foram decodificadas.



7. Primeiro computador eletrônico programável de uso geral: ENIAC (1946)


O ENIAC (Integrador Numérico Eletrônico e Calculadora) é o primeiro computador digital eletrônico de uso geral com a possibilidade de reprogramar para resolver uma ampla gama de problemas. Financiado pelo Exército dos EUA, o ENIAC foi desenvolvido pela Moore School of Engineering da Universidade da Pensilvânia. Foi criado por uma equipe de cientistas liderada por John Presper Eckert e John William Mockley. O ENIAC tinha 150 pés de largura e poderia ser programado para realizar operações complexas. Os cálculos foram feitos no sistema decimal, o computador operava com números com um comprimento máximo de 20 dígitos.

Um fato interessante foi que levou vários dias para programar uma tarefa no ENIAC, mas uma solução foi emitida em questão de minutos. Ao mudar, o ENIAC "se transformou" em um computador especializado quase novo para resolver problemas específicos.



8. O primeiro trackball (1946/1952)


O Trackball é um dispositivo apontador para inserir informações sobre o movimento relativo de um computador. De fato, um análogo de um mouse de computador moderno. De acordo com uma versão, ele foi desenvolvido por Ralph Benjamin quando ele trabalhava em um sistema de monitoramento para uma aeronave voando baixo. A invenção que ele descreveu incluiu uma bola para controlar as coordenadas XY do cursor na tela. O design foi patenteado em 1947, mas não foi lançado, porque o projeto foi classificado como "secreto".

Um trackball também foi usado no sistema DATAR da Marinha Canadense em 1952. Este "ponteiro de bola" foi usado por Tom Cranston.



9. O primeiro computador para armazenamento conjunto de dados e programas na memória: SSEM (1948)


A Máquina Experimental de Pequena Escala de Manchester (SSEM) é o primeiro computador eletrônico construído com base no princípio do armazenamento conjunto de dados e programas na memória. Os criadores - Frederick Williams, Tom Kilburn e Jeff Tutill eram membros da Universidade de Manchester. A máquina foi concebida como um aparelho experimental para estudar as propriedades da memória do computador em um CRT ("tubo Williams"). Os programas foram introduzidos em duas partes, usando 32 switches, nos produtos CRT.

A propósito, os testes bem-sucedidos do SSEM foram o início da criação de um computador completo nos aparelhos da Williams - "Manchester Mark I".



10. A primeira linguagem de programação de alto nível: Plankalkül (Plankalkül, 1948)


Essa linguagem foi usada por Konrad Zuse (desenvolvedor do primeiro computador Z3 em funcionamento). Embora Zuse tenha começado a criar o Plankalkül desde 1943, foi aplicado pela primeira vez em 1948, quando um cientista publicou um trabalho sobre programação. É verdade que essa linguagem de programação não atraiu muita atenção. O primeiro compilador para Plancalkul (para computadores modernos) foi criado apenas em 2000 pelo professor da Universidade Livre de Berlim - Joachim Homan.



11. Primeiro montador: “Equipes Iniciais” na EDSAC (1949)


Assembler é um tradutor do código fonte de um programa que converte mnemônicos (nível baixo) em uma representação numérica (código de máquina).

O primeiro computador funcional e praticamente usado do mundo com um programa armazenado na memória. Os programas estavam em códigos mnemônicos, em vez de códigos de máquinas, tornando o código fonte o primeiro montador.



12. O primeiro computador pessoal: "Simon" (1950)


Simon foi o primeiro computador disponível. Foi projetado por Edmund Berkeley e construído pelo engenheiro mecânico William Porter e pelos graduados da Universidade Columbia Robert Jenson e Robert Wall. Simon tinha um sistema de comando e podia executar nove operações, incluindo duas operações aritméticas - adição e subtração, além de comparação e escolha de argumentos. Números e comandos foram lidos na fita perfurada e o resultado foi exibido no painel indicador. Podem ser introduzidos números que variam de 1 a 255 em notação binária, recheados em fita perfurada.



13. Primeiro compilador: A-0 para UNIVAC 1 (1952)


Compilador é um programa que converte uma linguagem de alto nível em código de máquina. O Sistema A-0 foi um programa criado pela lendária programadora feminina Grace Hopper. O principal objetivo do sistema era converter um programa definido como uma sequência de subprogramas e argumentos em código de máquina. O A-0 foi lançado para os clientes com seu código-fonte, tornando talvez o primeiro software disponível ao público.

Em 1952, Hopper conseguiu um compilador pronto para usar. Sua declaração sobre este assunto:

Eles não podiam acreditar. Eu tinha um compilador funcionando e ninguém o usou. Afinal, eles me disseram que um computador só pode executar operações aritméticas.




14. O primeiro autocode: Autocode Glenny (1952)


Autocode é o nome de um grupo de linguagens de programação de alto nível que o compilador usa. O primeiro código automático foi criado para uma série de computadores nas universidades de Manchester, Cambridge e Londres. O autocode foi criado por um dos funcionários de Turing em Manchester - Alik Gleni (na verdade, nomeado em sua homenagem).



15. O primeiro mouse do computador (1964)


A idéia de um mouse de computador surgiu com a idéia do físico americano Douglas Engelbart durante uma conferência sobre computação gráfica. Ele criou um dispositivo com um par de pequenas rodas giratórias que podem ser usadas para mover livremente o cursor pela tela. O protótipo foi criado por seu engenheiro líder, Bill English, mas English e Angelbart nunca receberam royalties pelo design.



16. O primeiro computador comercial: Programma 101 (1965)


O PC Programma 101, também conhecido como Perottina, foi o primeiro PC comercial do mundo. Ele executou as seguintes ações: adição, subtração, multiplicação, divisão, calculou a raiz quadrada, valor absoluto e parte. O computador custava US $ 3.200 e, apesar do alto custo, vendeu bem (cerca de 44.000 unidades). O programa 101 foi inventado pelo engenheiro italiano Pierre Giorgio Perotto.



17. A primeira tela de toque (1965)


Na foto abaixo - a primeira tela de toque (embora não seja muito parecida com os modelos modernos). Este é um painel da tela de toque sem sensibilidade à pressão (igualmente para qualquer toque da tela) com um único ponto de contato. Posteriormente, o conceito foi usado pelos controladores de ar no Reino Unido até os anos 90.



18. A primeira linguagem de programação orientada a objetos: Simula (1967)


Simula é uma linguagem de programação de uso geral desenvolvida pela equipe do Centro Norueguês de Computação (Oslo) Kristen Nygord e Ole-Johan Dahl para modelagem de sistemas complexos. Os ensinamentos de Charles Richard Hoare sobre construções de classe, linguagens de programação com objetos, classes e subclasses levaram à criação do SIMULA 67. O

Simula 67 também foi o primeiro idioma com suporte embutido para os mecanismos básicos da programação orientada a objetos.

Um pequeno exemplo de código
Begin
   Class Glyph;
      Virtual: Procedure print Is Procedure print;
   Begin
   End;

   Glyph Class Char (c);
      Character c;
   Begin
      Procedure print;
        OutChar(c);
   End;

   Glyph Class Line (elements);
      Ref (Glyph) Array elements;
   Begin
      Procedure print;
      Begin
         Integer i;
         For i:= 1 Step 1 Until UpperBound (elements, 1) Do
            elements (i).print;
         OutImage;
      End;
   End;

Ref (Glyph) rg;
   Ref (Glyph) Array rgs (1 : 4);

   ! Main program;
   rgs (1):- New Char ('A');
   rgs (2):- New Char ('b');
   rgs (3):- New Char ('b');
   rgs (4):- New Char ('a');
   rg:- New Line (rgs);
   rg.print;
End;


Você pode aprender muito com os pioneiros na história da computação e criação de computadores. O trabalho realizado por gerações antes de nós levou a muitas mudanças que moldam o mundo moderno da TI.

Source: https://habr.com/ru/post/pt387479/


All Articles