quinta-feira, setembro 24, 2020

Memórias dos Anos 80: Estágio na Scopus Tecnologia - parte IV, o Utilitário para o MicroScopus

É com vergonha que admito não lembrar o nome do programa que consumiu a maior parte do meu tempo como estagiário. Mas, felizmente, lembro de algumas lições.

Fonte: Revista Micro Sistemas número 6, março de 1982


Como mencionei na parte anterior, o MicroScopus teve a tela e teclado influenciados por um terminal HP e a linguagem preferida pelos desenvolvedores de "aplicativos comerciais" era o COBOL. Daí o interesse em fornecer ferramentas para que estes desenvolvedores pudessem tirar proveito dos recursos da tela e teclado.

A primeira ferramenta foi o utilitário MASCARA. O vídeo do MicroScopus não era gráfico nem colorido, mas tinha alguns caracteres apropriados para o desenho de linhas e caixas (como o PC-IBM também teria) e um recurso de vídeo reverso, sublinhado e piscante (os chamados "atributos de vídeo"). O MASCARA era um editor que permitia desenhar de forma simples uma tela combinando texto, caracteres semigráficos e atributos. O resultado era salvo como um arquivo objeto. O desenvolvedor criava a(s) tela(s) e depois "linkava" com o programa COBOL e com uma biblioteca que tinha a rotina para limpar a tela e apresentar a "máscara". O programa COBOL então escrevia os dados variáveis e colocava os campos de entrada de dados nas posições corretas. (Para ser mais preciso, as linguagens compiladas da Microsoft usavam todas o mesmo formato de objeto e biblioteca, portanto as telas podiam ser usadas com qualquer uma delas).

A minha missão como estagiário era fazer algo "parecido" para facilitar o uso das teclas de função. Podemos dizer que era um editor de macros, onde era editado o conjunto de teclas a serem geradas quando cada tecla de função fosse pressionada.

A parte mais complicada para mim foi a apresentação e navegação na tela de forma sincronizada com a representação interna. Algo que complicou ainda mais quando eu fui apresentar a minha primeira versão e uma das primeiras coisas que fizeram foi pressionar Control + alguma coisa. O meu programa não fazia tratamento especial nenhum e o que apareceu na tela foi o que tinha no gerador de caracteres para o código obtido. O desejado era que o utilitário apresentasse na tela ^X (onde X é a "alguma coisa"). Beleza, agora tinha horas em que o operador andava uma posição para o lado e na tela o cursor tinha que andar duas... e não vou nem tentar relembrar a flecha para baixo! Aqui veio uma primeira lição: detalhar os requisitos antes de iniciar a codificação.

A base para a minha codificação foi o MASCARA. Ambos, é claro, escritos em Assembly. O autor do MASCARA era uma pessoa bastante meticulosa e organizada (além de um grande fotógrafo, mas isto não vem ao caso). Cada função do programa, como "mover cursor uma posição para direita" estava codificado em um fonte separado. Talvez fosse um pouco exagerado, mas o código do MASCARA era bem legível.

Em retrospecto, esse era um típico projeto para ser desenvolvido em linguagem de alto nível. Na época (1981) a linguagem C ainda era pouco conhecida fora do mundo Unix, mas existiam outras linguagens que poderiam ter sido usadas. O uso de linguagens de alto nível na Scopus aumentaria nos anos seguintes. Com um pouco de exagero eu considero isso uma vitoria da "minha geração".

Para quem quiser ler a entrevista da qual eu extraí a foto, a revista (em PDF) pode ser baixada do Datassette.



3 comentários:

Renato Saraiva disse...

Conta pra nós o que tu andas fazendo hoje.
Eu ganhei muita grana com assistência técnica. Cheguei a ter 6 filiais. Hj, em vias de me aposentar( vou trabalhar até os 60,ou seja, mais 7anos), usei uma parte das economias e comprei uma rede de loja de roupas falida e levantei ela. Estamos no segundo ano com lucro, apesar da pandemia desde março. 18 lojas só, da pra se divertir.

Unknown disse...

Este link para revista Micro Sistemas foi muito bom, ate dois anos atrás ainda tinha elas
mas tive que por no lixo por falta de espaço.

Daniel Quadros disse...

Eu tenho alguns poucos números da Micro Sistemas, mas também tive que livrar da maioria por falta de espaço. Idem para muitas outras revistas.