Episódio 46 – A máquina perfuradora de cartões
Em plenos anos 80, estudantes do Técnico espalhavam-se pelas escadarias do Pavilhão Central (no campus Alameda do Técnico) lendo livros em dias de verão. Era uma das imagens de marca da cultura da instituição, também descrita nos jornais da época. Mas mais do que um indicador de hábitos de leitura, era sobretudo sinónimo de estudantes à espera que a máquina perfuradora de cartões e um computador lhes dessem o relatório dos seus trabalhos de programação informática. “Entre recolher os programas e apresentar os resultados não havia nada a fazer. Esperava-se que o programa já tivesse descoberto todos os erros possíveis”, recorda Mário Ramalho, professor auxiliar do Departamento de Engenharia Mecânica. Falamos do processo de programação informática, na época assegurado por um leitor de cartões associado ao computador IBM 360, e feito ainda de forma analógica, podendo demorar horas ou, não poucas vezes, dias. Como é que se fazia? Teresa Vazão, Professora do Departamento de Engenharia Eletrotécnica e de Computadores, explica: Numa folha de papel quadriculado, com 80 colunas e um conjunto de linhas, preenchia-se um carater em cada quadradinho. Cada linha era uma instrução de programação. Uma vez terminado o preenchimento dos cartões, eram entregues aos técnicos que “pegavam naquele conjunto de instruções usando a perfuradora de cartões e iam transformar as ordens do programador em ordens que o computador conhecia. Depois colocavam aquela pilha de cartões na máquina, a máquina digeria aquilo por intermédio do programador e o resultado saía numa listagem em papel, naquilo que se chamava uma impressora de rolo de papel contínuo”. Resultados possíveis: programa executado corretamente; resultado executado incorretamente ou uma listagem enorme de erros mostrando que a pessoa se tinha enganado.
Teresa Vazão não integrava o grupo que ficava a ler na escadaria, mas na espera ia para o jardim ao lado da Torre Norte ou mesmo para os ciclos de cinema da Gulbenkian, como os westerns com John Wayne. “Associo muito estes filmes à minha geração de programação assim como associo por exemplo as músicas do Bruce Springsteen, que eram as que ouvia quando estava em casa a fazer código”, recorda.
Quem não se esquece também da máquina perfuradora de cartões é Custódio Peixeiro, igualmente professor no Departamento de Eletrotécnica e de Computadores no Técnico, que tem um cartão perfurado afixado numa parede do seu gabinete. “Os alunos que vêm falar comigo sentam-se em frente para o sítio onde está afixado este cartão. Tem muito a ver com o facto de muitas vezes os alunos se queixarem da falta de condições para fazerem simulações numéricas, a computação. Eu achava que era injusta a análise que eles faziam e contava-lhe a história do cartão, de como nós programávamos quando eu comecei a fazer investigação”, explica.
A máquina perfuradora de cartões do Técnico e o IBM 360 estão atualmente no campus do TagusPark do Técnico, num espaço que será no futuro dedicado a uma coleção da área de Tecnologia de Informação e Comunicação (TIC). Nos anos 80, eram cerca de uma dúzia de máquinas e estavam instaladas no Pavilhão Central, onde atualmente se situa a loja do Técnico (e as serigrafias do centenário – ouvir episódio 44). Eram utilizadas por todos os estudantes do Técnico, que tinham programação no 1.º ano. Depois de perfurados, os cartões eram deixados enrolados num elástico para serem analisados. Só no dia seguinte iam buscar a listagem em papel. Havendo erros, o processo começava de novo. Podia demorar dias.
Era, por isso, “uma máquina apaixonante que criava relações de amor-ódio”, nas palavras de Teresa Vazão. Para além de ser a primeira vez “que um aluno do Técnico sentia que era Engenheiro e que estava a fazer qualquer coisa”, havia uma vantagem neste modo de programar: “tínhamos que pensar muito antes de fazer e de entregar o papel”. E os tempos de espera também tinham as suas vantagens: “Durante o período de programação, é muito importante fazer outras coisas [como ler e ir ao cinema]. Enquanto as fazemos, o cérebro continua a programar”.
Histórias Extra
Um
O dia em que um erro de programação deu origem a uma lista de dez centímetros de espessura de papel
«Um bom programa tinha 50 ou 60 instruções. O que agora faço ao carregar no enter e ele diz-me o erro, naquela altura estava uma hora à espera do resultado para ir corrigir o cartão, e muitas vezes um erro que era derivado da própria perfuradora. Porque o cartão não tinha avançado para a frente, de vez em quando surgiam-nos problemas desses.
Um dos meus records foi num programa que estava a fazer no 4.º ano. O programa em si fazia cerca de 20 gráficos. Trazia uma listagem já razoavelmente grande e num dos primeiros cartões – íamos entregar já o programa ao professor – o cartão devia começar obrigatoriamente com um C na primeira coluna. A perfuradora imprimiu o C no cartão mas não fez o buraco. O resultado foi alguns dez centímetros de listagem porque eram 400 linhas de programa e por cada um delas ele imprimiu “erro”. Havia uma instrução antes do início do programa seguido da instrução fora do sítio, seguido do ignorar da instrução para os 400 cartões que tinha o programa, seguido do resumo dos erros. Resultou numa listagem de alguns dez centímetros (em espessura) de papel. A gente punha os cartões e os resultados eram impressos. Foi uma enormidade de papel por causa de um buraco no cartão.»
(Mário Ramalho)Dois
Evolução exponencial da forma de programar – De 2022 aos anos 80 do século passado
«Hoje em dia, qualquer programador consegue fazer uma aplicação como por exemplo o Facebook no seu computador pessoal, para isto abre um programa especial chamado editor de texto, onde escreve o seu código na linguagem que escolher. Escreve com o seu teclado, vê as instruções no ecrã, no final executa o programa e várias coisas podem acontecer.
Se for bom programador, aquilo corre bem à primeira, o que nunca me lembro de ter acontecido, pelo menos na minha vida de aluna e professora. Se for um programador mais ou menos tem alguns pequenos erros, por ter escrito mal as instruções e tem que corrigir. E se for um programador intermédio, as instruções até nem têm erros mas a lógica das instruções está errada. É como se pusesse primeiro o bolo no forno antes de misturar os ovos. Hoje em dia é tudo muito rápido. Faz um erro, corrige. Faz um erro, corrige e consegue numa hora fazer e corrigir dezenas de erros. Hoje em dia a programação é em tempo real.
Se voltarmos ao mundo do IBM 360 [anos 80], que já era um grande avanço, as coisas eram um bocadinho diferentes.
Como é que as pessoas programavam? Tinham uma folha de papel, uma folha quadriculada com 80 colunas e um conjunto de linhas. Em cada linha preenchia num quadradinho um caracter. Um a, um 1, um 2, um espaço quando queria mudar de palavra. Cada linha era uma instrução do programa. O programador entregava aquilo aos técnicos do centro de dados, que pegavam naquele conjunto de instruções usando uma máquina que era a perfuradora de cartões e iam transformar as ordens do programador em ordens que o computador conhecia, depois colocavam aquela pilha de cartões na máquina, a máquina digeria aquilo por intermédio do programador e o resultado saia numa listagem em papel, naquilo que se chamava uma impressora de rolo de papel contínuo, porque eram umas folhas enormes. E o resultado podia ser um de três: o resultado de execução de um programa correto, como por exemplo o desenho de uma figura ou um cálculo qualquer, o resultado de uma execução de um programa incorreto, por exemplo seu eu quisesse desenhar um quadrado, saía-me um retângulo, ou uma listagem de erros enormes que a pessoa se tinha enganado.
Naquele tempo, era uma novidade tão grande que esperar não custava. Era o melhor que se podia ter. Não bate certo com o ritmo da vida moderna que a gente tem hoje.
A tecnologia teve exatamente esse crescimento. No início cresce muito devagarinho e ninguém dá por ela e à medida que começamos a dar por ela, tem um crescimento super rápido. À medida que os semicondutores avançam, são cada vez mais compactos, mais pequenos e no mesmo espaço físico conseguimos meter muito mais coisas. E como se consegue fazê-lo, as máquinas ficam muito mais potentes e muito mais pequeninas. O ser humano é muito criativo, quando lhe dão uma coisa mais potente e mais pequenina, consegue fazer coisas muito mais interessantes e muito mais criativas.»
(Teresa Vazão)
- Conteúdo Extra:
Conversa com Custódio Peixeiro acerca da máquina perfuradora de cartões
Conversa com Mário Ramalho acerca da máquina perfuradora de cartões
Conversa com Teresão Vazão acerca da máquina perfuradora de cartões - Recomendamos:
“Memória Digital em Papel” (Artigo de Moisés Piedade, Museu Faraday)
“System 360 – From Computers to Computer Systems” (Site da IBM)
“50 years ago, IBM created mainframe that helped send men to the Moon” (Ars Technica)
“IBM System/360” (Wikipedia)
“IBM 29 card punch” (Site da IBM)
“IBM 029 Keypunch” (Curious Marc)
- Agradecimentos:
Custódio Peixeiro
Mário Ramalho
Teresa VazãoOuvir também em: Spotify | Apple Podcasts | Anchor.fm