2016/07/12

Programa que levou o Homem à Lua disponível no GitHub


A missão que levou as missões Apollo até à Lua contou com a ajuda de computadores, mas eram computadores que nada têm a ver com os de hoje. Ainda assim, os mais curiosos passam a poder espreitar o programa do Apollo Guidance Computer, assim fazendo uma verdadeira viagem no tempo até ao pináculo da tecnologia... na década de 60.

O Apollo Guidance Computer (AGC) ajudou-nos a chegar à Lua, mas é um pouco assustador relembrar que estamos a falar de uma computador com um PCU que trabalhava a 2MHz e tinha uma capacidade de memória que se media em kilobytes - basicamente, milhares de vezes menos potente que o CPU que se poderá esconder dentro de um qualquer frigorífico ou máquina de lavar actual.

[Margaret Hamilton, directora do software junto a este programa]

Mas, na altura, era tecnologia de ponta, que obrigou a inventar algumas das coisas que hoje consideramos banais (ou obsoletas, na maior parte dos casos).

Quanto à programação em si, não esperem facilidades, pois foi feita em Assembly - linguagem que se traduz directamente para código máquina, e que hoje já raramente é usada (quase sempre apenas para efeitos de optimização de alguns pequenos segmentos de código, mas até isso sendo uma excepção, pois na maior parte dos casos os compiladores terão mais capacidade para optimizar o código para os complexos CPUs multi-core da actualidade.)


O código fonte fica agora disponível para todos no GitHub, e não faltam pequenas pérolas nos comentários que demonstram que, mesmo com mais de meio século de diferença... os programadores continuam a deixar as suas marcas bem pessoais nos projectos em que trabalham. :)


2 comentários:

  1. Carlos, Assembly é das linguagens mais usadas, tendo sido em 2015 a 14 mais usada (segundo o IEEE) ultrapassando Perl, objective-C e HTML. Basta recordar que muitos dos microcontroladores que se encontram em todo o lado é programado em assembly

    ResponderEliminar
    Respostas
    1. Ia dizer o mesmo.
      Aliás, em 2016 passou até para o TOP 10:
      http://www.tiobe.com/tiobe_index?page=index

      Eliminar