quinta-feira, fevereiro 25, 2021

Memórias dos Anos 80: Zapt

O Z foi um software muito bom. Mas a sua evolução, na minha comprometida visão, foi um software excelente: o Zapt.

A imagem (criada pela agência) não foi unanimidade


Não lembro exatamente como começaram as conversas sobre o que seria o Zapt. Do ponto de vista técnico, decidimos em duas melhorias importantes: uma linguagem de automação (ZPL) e a operação em background (TSR). Mais importante foi o objetivo destas melhorias, o que a Humana chamou de "processamento cooperativo" (acho que o termo nunca pegou fora da Humana).

De forma resumida, a ideia do processamento cooperativo era que você teria rodando simultaneamente (sobre o coitado do DOS) o Zapt e uma aplicação local. Usando a ZPL, o Zapt seria capaz de fazer automaticamente a troca de dados entre a aplicação local e uma aplicação remota (executada pelo Zapt através de emulação de terminal). Desta forma as duas aplicações "cooperariam" sem precisar ser alteradas.

Nesta época (1988) o processamento em background sobre o DOS era moda e tinham muitos artigos nas revistas a respeito. A rigor era uma gambiarra bem complicada, mas não lembro de termos grandes problemas em campo com isso.

A ZPL substituiu o recurso de teclas programáveis do Z. Eu defini a ZPL e implementei a parte de "compilação". À medida que cada linha era digitada ela era processada e convertida em "tokens". No final todo o programa era processado para detectar erros de sintaxe e criar uma tabela de símbolos. A implementação disso se baseou em um livro sobre compiladores de Valdemar Setzer. A execução do programa (mais exatamente uma interpretação) usava basicamente as mesmas estruturas que a compilação. A parte incomum da ZPL é que a saída do programa eram teclas para controlar o Zapt ou a aplicação local. Não existia um comando de gerar teclas, bastava colocar o texto e nomes das teclas especiais:

FUNCTION LISTA F3
BEGIN
  "lista" ENTER PGDN
ENDB

Fizemos até um cartão de referência com a sintaxe da ZPL e os comandos do Zapt:


Para permitir o processamento cooperativo a tela da aplicação local era acessível dentro do Zapt através de um vídeo especial. No Z e no Zapt os vídeos tinham duas partes: a tela "ativa" e uma "memória de vídeo" com as linhas que já rolaram para fora. Um comando no Z permitia ver e navegar pelo vídeo. 

No Zapt isso precisou ser aperfeiçoado, para permitir extrair dados do vídeo. Junte a isso a necessidade de ter uma forma de editar o programa ZPL e chegamos a um editor bem completo (os comandos foram inspirados no WordStar). Faltava braço para fazer o editor e terceirizamos esta parte com uma empresa amiga. O editor foi a parte que mais deu problema no Zapt (pela sua complexidade).

No meu canal tem um vídeo sobre o Z e o Zapt.

Nenhum comentário: