Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
02/05/94

< Parts >


Vocês sabem o que é um "mecano"? Nestes tempos de vídeo-game e brinquedos que brincam sozinhos ao invés de deixarem a criança brincar com eles e exercitar a criatividade, acho difícil que alguém saiba. Pois mecano foi o melhor brinquedo que já tive. Melhor mesmo que esse brinquedo de luxo no qual digito esta coluna. Já lá se vai quase meio século (deus meu, a coisa é séria: já estou medindo a vida em séculos...) mas ainda bem me lembro do dia em que o ganhei. Não recordo se foi presente de Natal ou aniversário, mas sei hoje que os tempos eram difíceis, o brinquedo era caro e comprá-lo custou algum sacrifício a meus pais - do qual, na época não me apercebi. Lembro apenas da intensa alegria de tê-lo recebido e das horas e horas que brinquei com ele, diariamente, por anos a fio. Foi tão importante para mim que guardo até hoje uma de suas peças como grata recordação de minha infância.

Meu mecano era um brinquedo de armar. Compunha-se de diversas peças metálicas: hastes perfuradas de tamanhos variados, cantoneiras, eixos, rodas, roldanas, polias, placas perfuradas, ganchos, o diabo. E um mundão de parafusos. Juntando e aparafusando as peças de uma forma ordenada podia-se fazer o que a imaginação e a criatividade mandasse: carros, torres, guindastes, máquinas de todo o tipo. Foi com ele que aprendi a resolver problemas de uma forma racional e ordenada e devo a ele muito do que sou hoje.

Porque o acesso de nostalgia? Bem, é que na a COMDEX Rio eu conheci um programeto dos mais interessantes. Recebi uma cópia, instalei-o e comecei a explorá-lo. Roda sob OS/2, chama-se "Parts", é da Digitalk (Tel. 011 287-9622) e ao rodá-lo não pude deixar de me lembrar de meu mecano: a idéia é exatamente a mesma.

Parts é um dos melhores programas para OS/2 que já conheci. Explora todas as potencialidades do sistema operacional: é a essência da orientação para objeto e abusa da multithreading (a capacidade de um mesmo programa executar diversas tarefas ao mesmo tempo). Ao se lançar o programa, abrem-se duas janelas. Uma delas é o "Workbench", ou bancada de trabalho. A outra é o "Parts catalog", ou catálogo de peças. As janelas são independentes: pode-se esconder, minimizar ou mover qualquer delas para qualquer área do desktop sem interferir com a outra.

Parts é uma ferramenta para desenvolver aplicativos para OS/2. Que permite a qualquer usuário, sem nenhum conhecimento de programação, criar um aplicativo poderosíssimo sem digitar uma única linha de código. Os aplicativos são criados exatamente da mesma forma que eu construía minhas máquinas com o mecano: juntando peças. As peças são retiradas do catálogo simplesmente arrastandoas com o mouse para a bancada.

Que peças são essas? Bem, tudo que um aplicativo pode conter, desde peças visíveis como janelas, botões, caixas de diálogos, caixas de entrada de dados, "dials", ajustes deslizantes, gráficos, textos e menus, até peças não visíveis como dispositivos para acessar arquivos, bancos de dados, mecanismos que funcionam como cliente ou servidor em laços DDE, acesso ao relógio interno da máquina e às bibliotecas de ligação dinâmica (DLLs). O catálogo contém mais de sessenta peças, mas pode-se criar novas e inclui-las no catálogo, ou criar novos catálogos com peças correlatas. E reutilizá-las em tantos aplicativos quantos se queira.

Tudo gira em torno da orientação para objetos, algo muito mais simples do que parece: todas as peças, visíveis ou não, são objetos. Que, dependendo da forma como são manejados, reagem a determinados eventos enviando "mensagens" a outros objetos, que por sua vez agem de acordo. Com isso, um programa deixa de ser aquela coisa chata, composta de infinitas linhas de código: tudo o que se tem são objetos gráficos, eventos e mensagens. Para fazer objetos interagirem, basta criar um elo entre eles, ligando-os com o mouse, e informar que mensagem corresponde a que evento. Como cada objeto é capaz de reagir a um número limitado de eventos e enviar um número limitado de mensagens (a não ser que você crie novas, usando a linguagem de script de Parts, um dialeto do SmallTalk), para selecionar eventos e mensagens basta clicar com o mouse nas entradas de uma lista exibida tão logo a ligação é criada. Só é preciso codificar mensagens que não estejam incluídas nas listas, mas isso raramente é necessário, já que elas incluem quase tudo que os objetos podem fazer. Parece incrível, mas usando Parts pode-se criar um aplicativo bastante complexo simplesmente arrastando objetos e clicando aqui e ali com o mouse, sem digitar uma única linha de código de programação.

Um exemplo: arraste para a bancada três peças, um controle deslizante, um "dial" (ou controle rotativo, parecido com estes botões redondos usados para ajustar o volume do rádio) e uma caixa capaz de conter valores inteiros. Crie, com o mouse, uma ligação entre o dial e o controle deslizante e informe que quando um deles mudar de valor, o outro deverá acompanhar a mudança. Depois, ligue um deles à caixa de dados e informe que, quando o valor do controle mudar, o valor contido na caixa deverá acompanhar a mudança e quando o usuário entrar com algum valor na caixa, o controle deverá ser ajustado de acordo. O aplicativo está pronto. Para lançá-lo basta clicar em um botão: aparece uma janela no desktop com os dois controles e a caixa. Entre com um valor na caixa e veja os dois controles imediatamente se ajustarem ao valor. Mova qualquer um dos controles e veja o outro acompanhar o movimento e o valor da caixa de dados variar. Acreditem: é impressionante.

Aplicativos criados com Parts podem ser compilados e transformados em um arquivo .Exe independente. O programa vem com um alentado guia do usuário, com a descrição de todas as peças fornecidas com o catálogo default, e dois manuais para o desenvolvimento de scripts. Que, para quem não conhece SmallTalk, são um bocado indigestos. Mas também é possível usar código em "C" para criação de scripts, o que facilitará a vida de muita gente.

Parts não é um brinquedo: é uma poderosa ferramenta de programação. E por mais fácil que seja criar um aplicativo como o descrito acima, para fazer algo de realmente útil será preciso investir um bom tempo aprendendo a usar o programa e conhecendo detalhadamente cada peça, seus eventos e suas mensagens. E Parts não é um programa barato. Mas é uma ferramenta e tanto. Que, além de trazer agradáveis recordações de meu mecano, quase me despertou novamente a vontade de programar.

Se ao menos eu tivesse tempo...

B. Piropo