Pascal + GTK2: Uma alternativa poderosa para desenvolver ferramentas GUI
Luciano Andress Martini | 20 de julho de 2008Quase ninguém conhece as potencialidades dessa antiga linguagem de programação no Linux. Aqui estou começando com o Pascal+GTK2 e tive boas experiências com as ferramentas que consegui produzir.
Já que não é moda que tal um pequeno artigo?
O compilador: O Free Pascal tornou-se um compilador poderoso, que gera programas de alto desempenho. Seu suporte a bibliotecas também impressiona, e você poderá gerar programas bonitos e cheios de funcionalidade.
Porque não usar Python, Java ou C++ ? Minha idéia é dar uma nova enfase na programação linux com esse artigo, já que só se encontra artigos falando de Python e C/C++ para Linux. Continue lendo este artigo para ver quais são as vantagens/desvantagens de usar o Pascal.
Estou curioso sobre Pascal+GTK2 pode mostrar um exemplo?
Sim, abaixo segue um exemplo de uma janela(em modo gráfico) feita em Pascal.
![]()
program janela;
{ $mode objfpc }
//Declarando quais bibliotecas serão utilizadas:
uses
glib2, gtk2, gdk2;
//Função usada para finalizar o programa
procedure destroy ( widget : pGtkWidget ; data : pgpointer); cdecl;
begin
gtk_main_quit();
end;
//Declaração de variáveis acompanhadas pelo tipo
var window:pGtkWidget;
//Início do programa:
begin
//Detectar display...
gtk_init (@argc, @argv);
//Produzir uma janela...
window:= gtk_window_new (GTK_WINDOW_TOPLEVEL);
//Caso alguém peça para a janela ser fechada, o que fazer...
gtk_signal_connect(pGTKOBJECT (window), 'destroy', GTK_SIGNAL_FUNC(@destroy), NULL);
//Mostre a janela...
gtk_widget_show(window);
//Ativar coração do GTK
gtk_main ();
end.
De exemplos do que o Pascal pode fazer? Um navegador Web gráfico, um processador de textos GUI com tudo o que há direito, programas modo texto, um sistema de boot, um driver, etc.
Por que nunca ouvi falar de Pascal para desenvolvimento de ferramentas GUI no Linux? Como pascal é usado para desenvolver ferramentas estúpidas do MS-DOS ele muitas vezes sofre preconceito. Pascal não esta parado no tempo, a free-pascal.org trabalha em cima da linguagem, adiciona bibliotecas e novas potencialidades.
Quais são as vantagens do Pascal se é que existem em relação a outras linguagens?
Não existe uma linguagem que seja melhor que as outras.
Duas coisas influenciam para definir qual é a melhor linguagem para se utilizar na criação de um programa:
1- Qual é a linguagem que você domina mais?
2- O que você esta desenvolvendo?
Pascal pode ter inúmeras desvantagens dependendo de qual é o seu caso, abaixo seguem as vantagens visíveis de se utilizar o Pascal para desenvolvimento de programas Linux.
Em relação ao Lazarus(ou a qualquer coisa parecida com o Delphi): Lazarus é uma ferramenta maravilhosa, mas o código gerado por esta ferramenta Case é quase sempre maior do que aquele que pode ser obtido usando um editor de textos e o velho Pascal+GTK2, assim as ferramentas desenvolvidas com Pascal+GTK2 provavelmente rodam mais rápido. Num sistema multitarefa onde muitas ferramentas podem estar rodando ao mesmo tempo, 1 bilionésimo de segundo pode fazer muita diferença. É claro que é arduo desenvolver sem uma ferramenta Case.
Em relação ao C++/C: Não há vantagem técnica alguma, os compiladores de C e C++ são mais maduros e produzem executáveis de maior desempenho na maioria das vezes. Mas na prática sabemos que a maioria dos programadores conhece Delphi de cabo à rabo. Sendo o Object Pascal a linguagem utilizada no Delphi, o uso do Pascal poderia tornar os programas Linux mais compreensíveis para quem esta chegando agora, e assim teriamos mais contribuidores.
Em relação ao Python: Python é uma linguagem interpretada, isto significa que elas dependem de um interpretador para funcionar. Isso pode significar portabilidade, mas também pode significar muitas vezes perda de desempenho dependendo do tipo de aplicação que você esta desenvolvendo. Alem disso o interpretador pré-depende de um certo número de bibliotecas. Com pascal você consegue alcancar melhor o baixo nível e produzir coisas como um sistema de boot de uma distribuição…
O compilador GPC é uma alternativa para desenvolver Pascal?
De forma alguma. O GPC ainda esta cheio de bugs, não suporta UNITS e gera programas pobres. No máximo pode ser usado para estudo. É o PascalZim do Linux. Use o FreePascal(fpc) para desenvolvimento de ferramentas gráficas.







[...] (Fortemente recomendado! Em inglês) http://linuxhard.org/wp/archives/48 http://www.freepascal.org/ « Fim de [...]