O projeto Freedom está na gaveta. Mas de vez em quando mato a saudade transformando algumas centenas de comandos em linhas de código mais enxutas. A Freedom é uma grande biblioteca de novos comandos. O recurso de vocabulários que o compilador Microfocus oferece, permite que eu crie o comando que eu desejar e o disponibilize para todos os meus programas.
O nome Freedom foi escolhido porque eu quis dar liberdade para que outros desenvolvedores implementassem novas bibliotecas de comandos. Tanto que todos os fontes da Freedom estão até hoje disponíveis no site do Clube Cobol. Infelizmente, por falta de tempo ou de iniciativa, foram poucos os que puderam efetivamente contribuir com o projeto.
Alguns desenvolvedores chegaram a duvidar da idéia, por acharem que a compatibilidade com outros compiladores Cobol estaria comprometida, visto que o recurso de vocabulários é exclusivo da Microfocus. O quesito compatibilidade faz com que alguns desenvolvedores mantenham até hoje programas feitos há 10 ou 20 anos, e não pensam um minuto sequer em reciclar suas idéias e mudar seus conceitos. Respeito a posição deles, mas não economizo minhas risadas quando ouço alguém usar o termo "dinossauros". Quanto você pode abrir mão da compatibilidade em troca da modernidade ?
Quando idealizei a Freedom fui um egoísta. Pensei apenas nos desenvolvedores que utilizam o Microfocus Cobol. Mas é a ferramenta que eu utilizo, não poderia ser diferente. Eu procuro ser o melhor naquilo que faço. Por isso me dedico nos estudos com a ferramenta. E olha que ainda tenho muito a aprender.
Não pretendo "acordar" a Freedom por enquanto. Mas quem sabe agora alguns desenvolvedores possam analisar melhor a idéia. Quem sabe outras idéias possam surgir. Quem sabe outras bibliotecas com códigos fontes livres possam aparecer.
Como um "tira-gosto" aos leitores desse blog, segue abaixo um exemplo de comandos da Freedom. Eu tomei como base a mesma rotina que escrevi no artigo sobre a criação de uma barra de progressos em tempo de execução ("Mostre o seu progresso"). Compare o fonte original com o fonte utilizando os recursos da Freedom. E tire suas próprias conclusões:
ProcessarMeses section.
....APIGetActiveWindow(wsHandle)
....GetWindowFromHandle(wsHandle, umaJanela)
....NewDialogBox(umaJanela, umaDialogBox)
....Create(umaDialogBox)
....SetWidthHeight(umaDialogBox, 1200, 74)
....CenterOnParent(umaDialogBox)
....ShowObject(umaDialogBox)
....NewProgressBar(umaDialogBox, umaProgressBar)
....Create(umaProgressBar)
....SetY(umaProgressBar, 2)
....SetWidthHeight(umaProgressBar, 1200, 70)
....SetRange(umaProgressBar, 1, 12)
....ShowObject(umaProgressBar)
....move 0 to wsMes wsPosicao
....perform 12 times
......add 1 to wsMes wsPosicao
......move spaces to wsTexto
......string "Processando mes " wsMes x"00" into wsTexto
......SetTitleZ(umaDialogBox, wsTexto)
......SetPosition(umaProgressBar, wsPosicao)
.........
......*> aqui seria feito um processamento qualquer
.........
....end-perform
....Finalize(umaProgressBar)
....Finalize(umaDialogBox)
2 comentários:
Acredite ou não, ontem à noite quando estava indo para casa, cabisbaixo eu pensei justamente em pegar o Freedom e fazer isto que fizestes.
Parabéns meu caro, tens sido uma ajuda e uma inspiração para mim e creio que para muitos outros.
Gostaria de saber onde posso baixar os fontes do Freedom, pq no Clube Cobol não está mais disponivel. Eu os tinha no meu notebook, so que foi roubado e não consegui mais achar um lugar para fazer o download dos fontes. Parabéns pelo site, já me ajudou muito.
Obrigado.
Marcelo
marcelo.corradi@gmail.com
Postar um comentário