Todos sabem que sempre gostei e muito da linguagem Tcl/Tk (Tool Command Language / Tool Kit) e continuo gostando. Em Novembro de 2000, adotei a linguagem PERL (Practical Extraction and Report Language) como linguagem predileta e usada profissionalmente. Muitos vieram me perguntar o porque disso, sendo assim, escrevo este edital para esclarecer meus motivos e compartilhar da minha pequena experiência com as linguagens.
Vamos começar falando um pouco sobre o Tcl. O Tcl é uma linguagem de programação interpretada, possui uma sintaxe bem leve e flexível, onde praticamente qualquer código que você desconfia que pode funcionar acaba funcionando. No Tcl declaramos variáveis sob demanda, ou seja, não é preciso dizer ao interpretador quais as variáveis serão usadas e nem quando serão usadas. Se for preciso, você pode declarar uma variável na última linha do seu programa e ninguém vai reclamar disso. Outra grande vantagem com relação a variáveis é que não precisamos especificar o seu tipo. O interpretador Tcl tenta adivinhar o tipo da variável toda vez que ela é usada, logo podemos escrever um bloco de código da seguinte forma:
set coringa 10;
puts "Temos um número com valor $coringa";
set coringa "Fábio Berbert de Paula";
puts "Nosso número virou uma string: $coringa";
Isso é o que chamamos de linguagem sem burocracia! ;o)
O Tcl é usado para escrevermos programas que não usam as bibliotecas gráficas do sistema. Não podemos escrever um aplicativo com interface para cliques de usuário com Tcl puro. É aí que entra o Tk.
Tool Kit (Tk) é um conjunto de bibliotecas gráficas que contém rotinas para criação de botões, janelas, menus, barras de rolagens e coisas do tipo. Quando queremos desenhar uma interface gráfica para nosso aplicativo, fazemos chamadas as bibliotecas gráficas do Tk e temos o que chamamos de uma ferramenta poderosa. Abaixo segue o exemplo de um aplicativo gráfico em Tcl/Tk escrito em apenas uma linha:
pack [button .but1 -text "Clique Aqui" -command {tk_messageBox -message "Olá, mundo!" -title "Que legal"}]
Sinistro não ? Quem usa C++ nunca deve ter imaginado escrever um aplicativo gráfico em 1 linha, isso eu garanto.
As bibliotecas do Tcl padrão são bem enxutas, ocupam pouco espaço em disco e possuem ótima performance. A medida em que se torna necessário expandir as bibliotecas da linguagem, podemos instalar o que chamamos de extensões. Por exemplo, suponha que você deseja fazer o seu programa em Tcl acessar uma base de dados contidas no MySQL. Sem problemas, instale a extensão tcl-sql no seu interpretador e você passa a dispor de funções que executam consultas, inserções e outras em um banco de dados do MySQL. Se você deseja criar um aplicativo multimídia para gravar e reproduzir arquivos de audio, instale a extensão Snack e por aí vai.
Resumindo, para cada tipo de coisa que não esteja incluída nas funções padrões do interpretador Tcl, você encontra uma extensão que satisfaz as suas necessidades. Assim é o Tcl.
Ótimo, até agora só falei bem do Tcl. Mas por que diabos troquei de linguagem ? Ora, usei a linguagem durante minha fase acadêmica, mas hoje preciso trabalhar para o meu sustento e infelizmente o mercado não absorve programadores para essa linguagem. O que pesa muito na hora da escolha da linguagem é a sua popularidade, não é à toa que linguagens como o Visual Basic e ASP tem uma legião de seguidores ... e olha que são linguagens tão boas quanto o sistema operacional que as suporta. ;o)
Quando me perguntam onde encontrar documentação para iniciação em Tcl, nunca tenho a resposta na ponta da língua, este é o problema. É mais fácil cruzar com um finlandês tomando sol na praia de Ipanema que encontrar um site em Português que fale sobre Tcl.
Bom, essa é a minha visão sobre o Tcl. Agora vamos falar um pouco sobre PERL.
PERL é uma linguagem que se assemelha e muito com o TCL, é interpretada, possui as mesmas vantagens com relação a declaração e uso de variáveis, por ser interpretada é multi-plataforma, assim como o Tcl é uma linguagem de domínio público e tem em sua versatilidade a sua maior virtude.
Em Tcl temos as extensões, em PERL temos os módulos. Sempre que queremos adicionar uma funcionalidade a mais a linguagem, instalamos um módulo. A PERL possui uma vasta coleção de módulos pela Internet a fora e ao contrário do Tcl, seus módulos se encontram bem organizados em um repositório central, a CPAM (www.cpan.org).
Bom, para resumir e encerrar o artigo, apresento uma tabela comparando as duas linguagens em alguns dos pontos que considero fundamentais na escolha da mesma.
| - | Tcl | Perl | | Popularidade | No Brasil é pouco usada. É mais conhecida no meio acadêmico e mesmo assim, não é o que podemos chamar de linguagem popular. | Sem dúvidas é a linguagem mais popular do mundo Unix. Não falta emprego para quem domina a PERL. | | Documentação | Em Português é quase nula. Em Inglês podemos encontrar bastante coisa, mas nada que se compare com a quantidade de documentação da PERL. | Em Português podemos encontrar dezenas de sites e centenas de livros. Em Inglês nem se fala, a documentação é abundante. | | Estrutura | Muito bem estruturada, podemos entender com facilidade o código de programas escritos por outras pessoas. | Por ser flexível aos extremos, tem sua estrutura desorganizada. Marinheiros de primeira viagem não vão entender bulufas de um simples código escrito por terceiros. | | Portabilidade | Por ser interpretada, é portável para vários sistemas operacionais. | Idem | | Desempenho | Não tem o mesmo desempenho de uma linguagem compilada, mas responde bem a grandes quantidades de processamento. | Idem
Navegação
1. Introdução
Outros artigos deste autor
Leitura recomendada
Comentários
Comentário enviado por rsouza em 22/03/2004 - 13:22h:
Esse artigo é o que eu procurava, alguém com experiência, para tirar minhas dúvidas. Agora posso estudar perl com certeza que essa é a linguagem que queria.
Valeu Fábio...
Comentário enviado por mago em 05/04/2005 - 17:10h:
Bom ... existe sim algumas oportunidade bem interessantes em TCL mas em sua maioria estão sendo migradas para Perl por falta de profissionais qualificados.
Quanto a ser Interpretado ... Perl não é propriamente uma linguagem interpretada ... mas isso vou falar em um artigo que estou preparando para publicar aqui, que deverá ser bem esclarecedor.
Comentário enviado por jobsavage em 14/12/2005 - 15:04h:
De fato, como o autor mesmo falou eh bastante inutil falar da linguagem tcl hoje em dia uma vez que vc faz o mesmo com perl. Ai esta um motivo para naum falar mesmo. Acho que o artigo deveria focar mais o porquê de alguém usar perl (um dos motivos, acredito, para o artigo), e naum tentar fazer comparações do gênero. Mas como o autor mesmo falou, o que naum falta eh sites em português fazendo o mesmo. Logo...
Comentário enviado por dimitri.ramos em 23/11/2006 - 09:02h:
Você saberia me dizer como faço para adicionar um script em pearl no Nagios? Consegui um script para monitorar alguns serviços bem específicos em servidores de jminha rede, o problema é que não estou conseguindo fazer arelação deste script em pearl com o nagios, Valeu !!!
Viva o Linux
A maior comunidade Linux do Brasil! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.
|
|