Clipper! Eu migrei!

Tudo tem um começo, e não foi diferente comigo, comecei com Dbase III Plus lá pelo final do ano de 1991 e comecinho do ano de 1992, nisso podemos calcular que ate hoje (2009) se foram uns 17 anos dedicados a programação de microcomputadores.

Neste começo o DBIII era o máximo em banco de dados, podíamos criar e administrar os banco de dados padrão DBF e seus arquivos de índices NTX, carregávamos o DBIII, e lá de dentro fazíamos tudo, inclusive nossos programas (prg), que eram interpretados ali mesmo e assim não precisávamos gerar um executável. Cobol e C que eram as outras vertentes máximas da programação, como se diz, não davam nem para o cheiro, Pascal e Basic eram unicamente para aulas acadêmicas.

Os computadores na época eram bem limitados, os discos rígidos quando existiam nas máquinas, são ultrapassavam uns 15MB de espaço, e memória RAM era artigo de luxo, algo em torno de 512kb era o sonho de todo programador, mas que dificilmente conseguíamos atingir, os monitores eram os famosos CGA de fósforo de uma única cor (verde, laranja ou branco) com fundo preto, com limitações de linha e coluna em torno de 40×24 senão me engano, na verdade eu já cheguei na era da evolução, quando surgiam os primeiros monitores VGA monocromáticos com 80 colunas por 25 linhas.

O DBIII apesar de robusto e estável não conseguia gerar o executável, então cada cliente precisava de uma cópia do Dbase e os programas para poder usar a aplicação, imagine o cenário, DBIII era caro, então precisava conseguir uma cópia pirata para o cliente, sua instalação consumia quase todos os recursos das máquinas da época, então o computador era só para isso mesmo, e quanto a proteção da intelectualidade do programador, não existia, pois o código fonte dos programas ficava dentro da máquina do cliente, e a qualquer momento ele poderia dispensar o programador e colocar outro no lugar (felizmente naquela época éramos poucos), com isso acabou-se criando uma ética entre nós programadores, uma ética verbal que funcionava muito bem, não gostávamos de mexer no código de outro programador. Mas como neste mundo nem tudo são flores, sempre havia aqueles antiéticos que acabavam burlando a regra verbal, então era necessário gerar arquivos executáveis independentes do DBIII e assim proteger o código fonte dos programas, assim como nas linguagens concorrentes (Cobol e C).

Então soube que havia luz para nós do universo Dbase, soube de uma linguagem chamada Clipper, meu primeiro contato com ele foi na versão “Summer’86”, foi maravilhoso digitar “Clipper cadastro.prg” e depois “Rtlink cadastro.obj”, esperar um ou dois minutos e digitar “dir” e ver um executável chamado “cadastro.exe”, me senti poderoso naquele dia, e quando chamei o programa e pude vê-lo rodando naquela tela preta, foi o ápice daquele momento.

Fato é que percorri toda uma década programando em Clipper sem ter problemas, neste período devido as exigências profissionais acabei aprendendo e programando profissionalmente em FoxPro, Visual Basic, Delphi, C, PHP, entre outras linguagens onde me dediquei menos, e banco de dados com o dialeto SQL (MySQL, Interbase, Firebird, SQL-Server, entre outros), mas sem nunca abandonar os projetos Clipper. Neste mesmo período tive contato com várias bibliotecas visuais para o Clipper, mas nenhuma dela me proporcionava o que queria, até o FiveWin consumiu de mim tempo que não me serviu para nada, até que surgiu a MiniGUI, a qual utilizo até hoje e que me proporcionou voltar a ter todos os meus projetos profissionais em uma única linha de programação, facilitando assim o processo para mim.

Vocês podem me perguntar se foi difícil para migrar, e respondo que de certa forma foi sim, estar preso ao ambiente de modo texto por mais de uma década me custou caro, no ambiente gráfico (padrão MS-Windows) as coisas mudaram um pouco, felizmente meus aplicativos e consequentemente minha forma de programar os sistemas já utilizavam a metodologia de separar processamento e saída de tela.

Esta é a grande dica que dou para vocês que estão programando em HMG, seja como iniciante, seja como profissional que esta tentando migrar para ambiente gráfico, faça seus aplicativos de maneira modular e separado no máximo de funções que puder (as Functions são gratuitas mesmo) além disso separe PROCESSAMENTO das SAÍDAS DE TELAS.

Mantenham um bom material didático às mãos, não faça economia com tinta e papel, imprima o material e tenha-o sempre a mão, não fique na crista da onda, se ela quebrar você vai se machucar bastante, não estou falando de surfe, estou falando que não é bom utilizar a última versão quando não se tem prática e conhecimento do que se esta fazendo, além que a nível de produção comercial é importante utilizar a versão mais estável possível.

Olhe exemplos, estude os códigos fontes disponíveis, olhe como os outros fazem e copie, como dizia Chacrinha, nada se cria, tudo se copia. Não tenha vergonha de perguntar, eu me considero bastante experiente em programação para o universo descendente do Dbase (vi inúmeros comandos e funções serem incluídos e substituídos na linguagem ao longo desses anos), porém não me envergonho de perguntar, mesmo que estes sejam mais novos que eu (tanto idade, como experiência), muitas vezes as cabeças novas tem outra maneira de ver aquele problema antigo que temos, e esta visão é a chave para resolver inúmeras dificuldades, então pergunte.

Gambate! Gambare!

Vale a pena ler neste mesmo site o post do camarada Paulo Sérgio

https://hmglights.wordpress.com/2009/06/21/clipper-como-migrar/

15 comentários em “Clipper! Eu migrei!

Adicione o seu

  1. Olá, vou direto ao assunto, tenho um código fonte de loteria feito em clipper, não ê muito grande, gostaria de um suporte para converter ele para java ou c, quero entender como funciona os cálculos e o fechamento. Eu envio código. Não precisa enviar menu, apenas as classes.

  2. Daniel,
    sua história coincide em muito com a minha e me encoraja… uma fonte de inspiração, de verdade!
    Tudo de bom pra você e sua família… MUITO OBRIGADO por compartilhar! 🙂

  3. Ola , tenho um amigo que programou em clipper a vida toda aogra ele aposentou e me passou todos os sistemas com fontes e tudo .
    tenho varios clientes dele me pedindo sistemas basicos que ele tem com poucas telas , enfim eu nao tenho conhecimento em clipper ,m gostaria de saber se é possivel conseguir mudar algums dos sistemas básicos dele para hmg e assim com o tempo aprender a programar sozinho .

    desde ja agradeço

    1. Olá João!

      Olha herdar o código fonte de alguém é muito bacana, porém lembre-se que o código de um programador não aberto (openSource) normalmente é um legado de uma “única” pessoa, dentro do código existem centenas, talvez milhares de formas de pensar desta única pessoa, ao qual muitas vezes difere da nossa forma de pensar, aquela forma ao qual resolveríamos um problema às vezes está de forma incompreensível no código que “herdamos”, daí nasce a ilusão de ter herdado um pote de diamantes quando na verdade teremos carvão bruto nas mãos.

      Isso que digo não é para te desanimar, de forma alguma, ter código que já funciona a muito tempo nas mãos nos dá condição de assistir na prática como uma rotina deverá funcionar para fazer com que o cliente fique feliz, e se você for engenhoso, poderá colocar acessórios nele (assim como o gigante MS faz com seus programas) e torná-lo ainda melhor, passá-lo por uma cadeia evolutiva e chegar em algo ainda mais grandioso, pois você não precisa pensar no básico, isso já está pronto no código que está na suas mãos.

      Quanto a mudá-lo para HMG, sim é possível, porém você vai precisar de bastante horas de estudo, treino, testes, erros e correções para ficar bom, não tem como ser preguiçoso, você vai realmente precisar estudar e aprender como Harbour e a MiniGUI funcionam para conseguir algo comercial, comece já, baixe os exemplos, leia, testes, tente implementar parte do que você tem nas mãos, se fizer tudo isso sem pressa e com vontade, talvez e veja bem, “TALVEZ” você consiga migrar esses sistemas para HMG, digo isso, pois você depois de um longo período estudando, verá que é possível fazer do seu jeito sem o código de outro, verá que da sua forma é melhor de fazer, não que o outro código esteja ruim, não, é aquilo que disse a mente de um programador possui centenas, milhares de caminhos que são definidos por seus neurônios e estes caminhos não são os mesmos dos seus amigos.

      Boa sorte, seja bem vindo ao mundo digital das máquinas.

  4. Trabalho com um programa clipper/dbase há muito tempo feito por só Deus sabe quem e, nesses anos eu procurei entrar em contato com o rpgramador para obter o código fonte do programa sem qualquer sucesso. Procurei usar descompliladores, também sem sucesso. O programa trabalha perfeitamente em ms-dos/windows 98, mas trava no windows xp. Procurei, também, através de programadores, fazer um novo programa baseado no anterior sem sucesso. Pergunto: como eu posso ao menos migrar este programa para plataforma windows sem o código fonte? Haveria a possibilidade de enviá-lo o programa para que vc possa tentar descobrir o código fonte ou migrá-lo para harbour, xharbour, harbour MiniGui ou outra programação, pois estou cansado de usar linha de comandos e telas totalmente ultrapassadas e falta de suporte para windows 32 bits.

    1. Olá.. boa tarde.
      Sou Analista de Sistemas.. tenho larga experiência em programação clipper seu sistema pode ser atualizado utilizando sua base de dados existente, com (X)Harbour/Minigui/HWGUI.
      Caso tenha interesse entre em contato. Grato.

      Márcio Fernandes.

      1. Depende muito do que você pretende fazer e do quanto você conhece de cada uma, eu gosto de usar a HMG (minigui) tenho familiaridade com ela e gosto da forma como ela é alterada e desenvolvida, acostumei a trabalhar com o Roberto Lopez e seus seguidores.
        Mas não engane-se nenhuma das duas é fácil a ponto de se escolher, todas as duas tem suas vantagens e desvantagens, na HMG (minigui) você talvez encontre mais informações e exemplos.

      2. Boa tarde Marcio Fernandes

        Meu amigo, trabalho em uma empresa. Temos um sistema completo de Gerenciamento de Pessoal e Folha todo ele em Clipper. Meu chefe me fez uma proposta de migrar de Clipper para Java. Mas ouvi falar do Harbour. é possivel fazer essa migração.

      3. Sim é possível. Você pode fazer isso aproveitando toda a parte interna da aplicação, todos os processos ficam mantidos, aí você terá que decidir se a aplicação irá rodar em modo console ou gráfico, se for gráfico você pode adotar a HMG que é bem estável. Quanto ao banco de dados, você pode manter o que usa hoje, mas aconselho a migrar para MySQL, afim de ficar com um SGDB completo gerenciando sua aplicação.

      4. Essa migração é 100% possível e não difícil de realizar, se conhece bem o Clipper e tem vontade e capacidade de aprender coisas novas e novos conceitos, migra que vocês vão conseguir com perfeição.

  5. Parabéns,

    Sua História é muito parecida com a minha, desde 1989 passei por todas as fases que você mencionou programando DBASE/CLIPPER e esta semana comecei a profundar em hmg, pois o clipper está no sangue!

    Abraços
    Rogerio

Deixe um comentário

Acima ↑