Article image
Fernando Araujo
Fernando Araujo09/10/2021 00:23
Compartilhe

Dinossauros 1 - Como virei um programador (com FORTRAN!!!) em 1980?

  • #Informática Básica
  • #Lógica de Programação

Vou compartilhar aqui a minha experiência pessoal e início da minha carreira de programador, para servir de comparação com o ambiente que a gente encontra hoje como dev e, assim, apresentar o percurso trilhado pelos dinossauros da programação, como eu!

A programação de hoje em dia a gente sabe como é, não é? A geração atual de devs está muito bem servida em relação a linguagens de programação, ferramentas de desenvolvimento, fontes de conteúdo, diversidade de tecnologias e interoperabilidade, equipamentos avançados, compartilhamento de informações, muitas vagas no mercado de trabalho e muita (mas muita, mesmo!) perspectiva de crescimento da área a curto, médio e longo prazos também!!!

 

Mas nem sempre foi assim!!

Eu nasci em 1961 (faço 60 anos em dezembro deste ano!!) e sempre quis fazer Engenharia Elétrica, pelo meu interesse por tecnologia e fascínio por ficção científica. Eu precisava saber como aquelas coisas funcionavam!!!!!!!!!

Eu sou o que os jovens programadores de hoje chamam de dinossauro e aceito o apelido com muita honra! Afinal, eu testemunhei o nascimento das linguagens de programação, do IBM PC, da Apple, da Microsoft, da Internet, da web (www), do linux, da programação orientada a objeto, da Computação Gráfica, dos notebooks, dos celulares, dos robôs, IOT, Inteligência Artificial e ainda tenho muita coisa para aprender. Sou um dinossauro moderno! Como eu sempre digo, sou OLDSTACK!!

Mas como eu virei programador?

Bem, em 1980, eu fui aprovado no Vestibular para o curso de Engenharia Elétrica da Universidade Federal da Paraíba, Campus II, Centro de Ciências e Tecnologia, em Campina Grande (hoje, Universidade Federal de Campina Grande - UFCG).

Logo no primeiro semestre, eu cursei a disciplina de Introdução à Ciência da Computação (ICC), que ensinava os fundamentos de Lógica de Programação, usando a linguagem FORTRAN na prática.

Foi amor à primeira vista! Já na primeira aula, no primeiro código (“Olá, mundo!”) mostrado no quadro (verde!), meus olhos brilharam e eu senti um arrepio. Parecia que eu tinha acabado de descobrir como os robôs eram controlados!!! Confesso que todo o meu amor pela eletrônica ficou abalado. E eu pensei: "É isso o que eu quero fazer!!!":

Na época não existia o curso de Computação na UFPB, apenas o de Técnico de Nível Superior em Processamento de Dados e não justificaria trocar meu sonho de ser engenheiro por um curso técnico, sem muito campo na época. Então continuei para terminar a minha graduação em Engenharia, que só se deu em 1985.

image

  Voltando à disciplina de FORTRAN, o livro texto adotado foi “Programação FORTRAN”, de Donaldo de Souza Dias (ver figura).

E como era essa tal de FORTRAN? Você já ouviu falar do famigerado comando “GO TO”? Isso é uma longa história!!!

Mas, apenas imagine uma linguagem que não tinha blocos estruturados (FOR, IF-THEN-ELSE) e que esse comando GO TO podia mandar a execução para qualquer ponto do código, incondicionalmente!!!

Imagine a zorra que era acompanhar um algoritmo assim, cheio de “GOTOs”, pra cima e pra baixo do código!!!

Só aí já vale um novo artigo!!

 

E como a gente fazia um programa e a depuração?

Antes que você me pergunte que computador a gente usava para programar no início dos anos 80, eu digo que era um mainframe IBM 1130, instalado em 1968 (o primeiro do Nordeste!) e a codificação era feita por cartão perfurado, um cartão para cada linha de código (ver figura). Esse cartão perfurado da foto da capa eu guardei de lembrança até hoje, já completou 41 anos!!

image

O aluno escrevia o código em uma folha de papel com quadrinhos, um para cada caractere do código, depois digitava cada linha de código em um teclado, mas não havia monitor de vídeo. O equipamento usado era uma perfuradora de cartões e cada caractere da linha de código digitado no teclado gerava uma sequência específica de furos verticais (quadrados!) em um cartão padronizado.

Os caracteres da linha de código eram impressos horizontalmente no topo do cartão e os cartões iam formando uma pilha, com os mais antigos ficando em cima.

Quando todo o código era digitado, a gente juntava a pilha de cartões (em ordem!!), prendia com uma borrachinha daquelas de amarrar dinheiro e entregava ao funcionário na sala de entrega de programas, por uma janela de vidro, como no caixa de uma lotérica.

Aí, na próxima hora agendada (10h, 12h, 14h, etc.) as pilhas de cartões entregues até o momento eram inseridas no computador, por um operador, e executadas, uma pilha por programa (os famosos “Jobs”).

Após 1 hora, ou pouco mais, a gente voltava na janela da sala de entrega para ver se o nosso programa já tinha rodado. Se sim, a gente recebia um formulário contínuo (composto de linhas finas em branco e um tom de verde claro) com o código do programa impresso e o resultado da execução (ver figura, com formulário de linhas mais grossas).

image

Quase sempre, após a primeira execução, havia alguns erros de digitação e o programa não tinha executado seu algoritmo. Então a gente voltava na perfuradora de cartões para redigitar novos cartões para aqueles que tinham algum erro e os trocava pelos cartões errados, na mesma ordem em que eles estavam no programa. Depois, juntava tudo de novo e amarrava com a liga, levando à sala de entrega para rodar de novo na próxima hora agendada.

Após nova longa espera, a gente pegava a nova listagem da execução e, caso não houvesse novos erros de digitação (isso era raro!), o resultado da execução aparecia ao final da listagem.

Só aí, a gente ia analisar se a execução foi correta ou se havia algum erro de lógica no algoritmo. Neste caso, voltava lá na perfuradora e digitava novos cartões corrigindo os erros e repetia o processo de entrega, espera, recebimento da listagem e nova análise.

Não era raro um programa para calcular as raízes de uma equação de segundo grau demorar alguns dias para rodar sem erros!!!

Erros de gravação: Às vezes, a pilha de cartões caía no chão, espalhando todos e a gente tinha que juntar tudo e colocar em ordem novamente. Pra piorar, algumas perfuradoras deixavam de imprimir a linha de código dos cartões e todos ficavam em branco. Imagine colocar em ordem uma pilha de cartões espalhados, todos sem impressão da linha de código!

 

E depois de ICC?

Aprovado na disciplina de ICC, com média 9.0, no segundo semestre logo me matriculei na outra disciplina ligada à programação do curso, Cálculo Numérico, que tratava da implementação de soluções para equações matemáticas usando o computador. Mas aí é outra looonga história!!!

Já é assunto para outro artigo...

Atualização, em 23/10/2021: Este segundo artigo foi publicado hoje:

 

Obrigado por ler até aqui. Até a próxima!!

Compartilhe
Comentários (16)
Luiz Carvalho
Luiz Carvalho - 04/04/2023 11:50

Pois eh...Fernando...conheço muito bem estes caminhos. Sou Físico e ainda hoje trabalho com Fortran. É bem verdade que as coisas vem evoluindo muito, mas tudo tem um começo.

Fernando Araujo
Fernando Araujo - 31/07/2022 12:28

Obrigado, pessoal,

Comentários assim me incentivam a continuar escrevendo artigos!

Igor Santos
Igor Santos - 09/06/2022 14:18

Gostei muito da historia, artigo muito bom para nós padawans em inicio de uma longa jornada jedi termino de ler esse artigo com um sorrio no rosto .

Carlos Silva
Carlos Silva - 06/11/2021 20:22

Que leitura prazerosa, me senti em 1980 sendo aprovado e passando pelos mesmos perrengues junto com você! Incrível, obrigado por compartilhar parte da sua história.

Dilton Santos
Dilton Santos - 09/10/2021 20:31

Já estou te seguindo e aguardando mais histórias!

Ludmar Matos
Ludmar Matos - 09/10/2021 18:52

Meu primeiro contato com programação foi com Fortran 77, em 2006.

Belo artigo.

Johnny Navarro
Johnny Navarro - 09/10/2021 14:52

Eu usei Fortram tbm pra microcontrolador Pic, faz uns 11 anos isso hahahhha, mas era só por curiosidade, comprei uns 4 bichinhos na época só pra ver como era, na época eu trabalhava em um projeto do GOV junto a Vale era peqsuisador do CNPQ com uma função de desenvolver alguma solução de utilidade pública em software livre!!! Bons tempos onde o GOV incentivava a tecnologia, ontem li 635 milhões de corte no orçamento de Ciências ¬¬... Bom mas em fim Fortram é brabo. acho que só perder pra assembler mas qualquer um perde pra assembler neah kkkk.

Diego Soares
Diego Soares - 09/10/2021 13:28

Engraçado que eu comecei a ler seu depoimento poucos minutos depois de ficar irritado com uma oscilação da internet, imagina!! hahahah


Muito obrigado por compartilhar sua história, Fernando! Eu adoraria ler outras histórias.

Abraço!

Ruan Sousa
Ruan Sousa - 09/10/2021 11:50

Fantástico, amo ver histórias do tipo. Parabéns por fazer parte da história da computação moderna!

Renata Belegante
Renata Belegante - 09/10/2021 11:39

Adorei o artigo, esperando os próximos.

Luciana Nunes
Luciana Nunes - 09/10/2021 11:06

Muito bom, adoro tudo relacionado à computadores, é muito bom ler histórias de como os computadores funcionavam antigamente e a relação deles com o ser humano como foi sendo modificada ao longo dos anos. Quando descobri programação tive uma sensação parecida com a que você teve no curso de ICC.

Estou viajando imaginando a depuração de código com o comando GO TO hahaha.

Airton Amorim
Airton Amorim - 09/10/2021 10:45

Parabenns por sua historia de vida e Resilliencia ..

Luiz Gomes
Luiz Gomes - 09/10/2021 02:38

Que história legal! Estou no primeiro semestre da minha faculdade de Ciência da Computação e é surpreendente pensar que um código demorava tanto para ser finalizado. Evoluímos bastante, e vem muito mais por aí.



Esses cartões são relíquias da computação

FC

Fernanda Cipriano - 09/10/2021 10:23

Que percurso lindo! Espero mais histórias.

Vagner Bellacosa
Vagner Bellacosa - 09/10/2021 01:31

Fernando, quantas historias de velhos cpds deve ter, continue compartilhando para os jovens padawans....


gostei muito, continuaçao de bom curso

Mauricio Gebrim
Mauricio Gebrim - 09/10/2021 01:06

Já programei em Fortran usando o compilador gcc.