O Bug do milênio | Bate Byte
Autor: Arno Rodrigo Muller - GSR
Este artigo tem muito de história, verdade, humor, e mágoas.
A transição de um aspecto para outro não diminui o curso da idéia.
Tem, também, a finalidade de sugerir pensar sobre este ou outros problemas.
Não estaremos preparando o próximo bug?
Vou contar as histórias mas não darei datas precisas para não falar em corda no enterro do enforcado.
Diariamente, ouve-se o mundo todo falando deste problema, mas poucos sabem da origem dele.
Não ouvi ninguém dizer que tenha sido uma bomba-relógio plantada pelos informáticos do passado para comemorar a virada do século com um grande e majestoso estouro. Mas cá entre nós, que parece, parece.
Também não ouvi ninguém chamar o bug do século como o vírus mais antigo plantado nos computadores. Mas cá entre nós, que parece, parece.
Há muitos anos, quando os mecanismos eram de pequeno porte, os técnicos tinham por obrigação resolver os problemas gastando o mínimo de recursos possível.
Naquela época não havia tanta tecnologia como hoje. Os técnicos tinham certa liberdade para produzir suas soluções. Os efetivos das empresas eram muito reduzidos. Portanto, mesas-redondas para discussões simples não tinham nem tempo nem espaço.
Trabalhavam sobre coisas simples.
Por exemplo: fazer caber no porta-malas uma bagagem sempre maior do que o tamanho do carro.
O uso pesado da informática começou na década de 60. Isto já distava a metade do início do século. Portanto, ninguém se preocupava com "águas passadas". Havia um caso ou outro de referências ao século anterior, mas velharia não apitava mais. Todos queriam estar a par das modernidades.
Perfuravam-se cartões para entrar dados nos equipamentos de informática.
As cartelinhas de cartolina podiam conter um número finito de caracteres. Algumas vezes dois dígitos a mais obrigavam ao uso de mais uma cartolina.
Tem um detalhe chamado "volume" que esquentava a cabeça. Voltarei a falar dele mais adiante.
Dois algarismos, indicativos do século, digitados milhões de vezes, representavam fortunas em dólares, mais horas nos cronogramas, e parcelas significativas na obtenção de tenossinovites.
Pois é, olha a semente do bug do século aí.
Os cartões eram usados por "máquinas convencionais". Foram precursoras dos computadores. Foram instrumentos de grandes mágicas e grandes exercícios de lógica para conseguir obter resultados inconcebíveis, vindos de equipamentos totalmente desprovidos de inteligência.
As "máquinas convencionais" eram muito pesadas, eram construídas em aço da melhor qualidade, eram lubrificadas com os melhores óleos, eram uma maravilha da engenharia mecânica, só comparáveis às caixinhas de música.
Foram enterradas sem nenhum protesto, em funeral comovente e sem nenhuma pompa. Apenas os mais fortes acompanharam o funeral. Não querendo fazer humor sobre uma data tão triste.
Aliás, esquentar a cabeça deu origem a duas classes que denominarei pensadores e "escovadores de bits".
Sendo os últimos os mais antigos e os primeiros oriundos dos últimos ou anjos caídos por dádiva dos céus.
Os pensadores, começaram aqui seus primeiros passos. Coisa da natureza, aptidão, inteligência, das entranhas, entende?
Pensadores recentemente nascidos de seus próprios ventres, aclamados por si mesmos, sem os quais a informática secular não teria existido.
Acho linda esta frase. Não poderia deixá-la esquecida.
Coisa só possível na "terra de cegos", muito lógica naqueles tempos.
Para substituir as "máquinas convencionais" vieram os computadores. Criados pelos pensadores, como sempre com menos capacidade do que o necessário. Afinal, dizem que é impossível agradar a todos.
Eram pouco mais eficientes do que as "máquinas convencionais". Herdaram seus cartões perfurados.
Eram programadas em Assembler.
Desculpe ter falado bruscamente nesta linguagem. Não tive intenção de nauseá-lo. Não passe mal. Abra bem a janela e respire fundo um pouco de ar puro. Tome um copo de água gelada.
Desculpe, sei que palavras fortes devem ser melhor conduzidas para não chocar as pessoas, mas não achei outro meio de dizê-las.
Os cartões perfurados, quando lidos, colocavam uma cópia de seu texto na memória do computador.
As instruções escritas naquela linguagem que mencionei antes, permitiam que se reduzisse o tamanho do texto.
Raciocinando: Por que gastar um byte para cada dígito numérico se o mesmo byte podia conter dois?
Então, uma data que viesse escrita no cartão perfurado assim: 22 04 1966 ocuparia oito bytes na memória do computador, mas poderia facilmente ser escrita em cinco bytes assim: 02 20 41 96 6F, usando dois algarismos em cada byte. Isto faz uma redução enorme de 37,5%.
Pensando melhor, para que gastar cinco bytes com uma coisa que poderia ocupar quatro. Pense: O efe (F) significa número positivo.
Você já ouviu falar numa data negativa? Sem fazer gracinha, nunca.
Então prá que sinal algébrico se todas as datas, sem trocadilhos, são positivas?
Com uma vantagem adicional: tirando o sinal algébrico, sai também o zero que ficou na frente da data.
Veja lá: era 02 20 41 96 6F e poderia ficar 22 04 19 66. Viu a economia? 50 % em relação à data inicial vinda no cartão perfurado.
Mas muita gente já estava recebendo a data no cartão sem o indicativo do século. Neste caso, a data poderia ocupar 3 bytes, já que o 19 não era digitado. Contudo, muitos sistemas as guardaram como 02 20 46 6F em quatro bytes. O que era bem burrinho, pois, em quatro bytes caberia a data completa. Outros as guardaram do jeito que vinha no cartão. Prefiro nem comentar.
A razão de tanta preocupação estava no custo dos discos rígidos, na quantidade de rolos de fitas magnéticas e mesmo no volume de cartões perfurados. Quanto mais disperdício, maior o custo.
Voltando a falar em "volumes", conforme o prometido, a recolocação da parte da data que ficou fora por quase cinqüenta anos, retoma o espaço que lhe foi roubado durante todo este período.
É como o mar que rebenta e submerge tudo ao voltar sobre o espaço que lhe pertencia.
É possível vencer o mar. Mas, melhor será conviver com ele sem provocações. Como? Só os pensadores sabem. Em todo caso, seria bom encontrar por aí um bom "escovador de bits" .