Re: [Cascavel-pm] artigo: Perl Needs Better Tools (em inglês)

Nilson Santos Figueiredo Junior acid06 em gmail.com
Quinta Setembro 1 16:33:22 PDT 2005


On 9/1/05, Daniel Ruoso <daniel em ruoso.com> wrote:
> Não sei se você viu o link que eu mandei lá em baixo... tem binários pro
> ActiveState.... Você já testou eles?

Sim, tem binários das versões 1.020, 1.043, 1.060, sendo que a versão
estável atual é a 1.082. Desconsiderando o fato de ser algo bem
outdated, cada uma das versões disponíveis são acompanhadas de
instruções dos milhares de passos que você tem que fazer para
conseguir fazer rodar. Mesmo as versões binárias são complicadas de
usar.

A única solução seria os responsáveis pelo projeto tomar conta de
fazer ports recentes da biblioteca para Windows o que seriam recursos
(diga-se de passagem, escassos) desperdiçados pra algo que de outra
forma não precisaria de esforço nenhum.

> 96% do mundo que desenvolve perl ou com potencial para se tornarem
> desenvolvedores perl? hmmm... não teria tanta certeza...

E você já pensou no porquê disso?
Já pensou que quando alguém ouve dizer que Perl é portável e tenta
instalar alguma coisa, tem que sair compilando milhares de coisas que
não compilam logo de cara em Windows.

Agora compare com Java, por exemplo. Você baixa o JDK instala, instala
o Eclipse e pronto. Pra um leigo, que não conhece nada, o que é mais
atrativo? Isso ou 4364278 passos de instalação de uma GUI nova e pouco
utilizada, que não tem a "benção" da IBM, de linguagem razoavelmente
pouco popular no Brasil, como é o caso de Perl?

> Veja bem que Gtk roda em Windows, e tem os binários para ActiveState...
> Como eu disse, não posso fazer os testes. Mas o que quero dizer, é que o
> Gtk é um toolkit muito bom e poderoso, com mecanismos para
> internacionalização, localização, acessibilidade e outras coisas
> interessantes assim. Acredito que faz muito mais sentido tentar corrigir
> eventuais problemas do Gtk no windows do que usar um toolkit alternativo
> que não tem todos os recursos que o gtk tem.

Você ao menos já leu sobre WxWidgets?

> UUUUUOOOOOUUUUU!!!!! Como é que você instala os seus aplicativos? Como é
> que você distribui para a CPAN???? Como é que você desenvolve sem usar o
> make (tudo bem, o pessoal do java usa o ant, que é similar).

Aplicativos? Normalmente existe um setup.exe (ou algo com nome
similar). Eu clico duas vezes e é criado um item no meu menu Iniciar.

Pra eu distribuir pra CPAN, eu uso um Makefile.pl (note bem o .pl, é
codigo Perl, não uma makefile propriamente dita). Agora, note que toda
essa estrutura de precisar de um make é algo que nem deveria existir
em Perl. Observe Ruby com o rake, por exemplo, pra uma solução dentro
da própria linguagem.

> E isso não é verdade nem mesmo para o mundo linux. Eu posso fazer
> apt-get install libgtk-perl e não ter um compilador instalado. O pessoal
> da ActiveState faz esse tipo de trabalho para win32, e tem gente que
> mantem pacotes ActiveState... Em último caso, você já pensou em sugerir
> para o pessoal da ActiveState para adicionar o Gtk2-perl na lista de
> pacotes disponíveis?

O PPM da ActiveState é gerado automaticamente. Tudo que é auto-contido
é compilado automaticamente e binários são disponibilizados. O GTK não
é auto-contido, o Tk é. O WxPerl fornece um repositório PPM atualizado
com a versão mais nova.

> É compreensível, o KDE fez a escolha de ser parecido com o windows. O
> Pessoal do GNOME fez a escolha de construir seus próprios padrões de
> usabilidade, muito mais próximos do Mac OS do que do Windows... Mas acho
> que esse não é o ponto.

O KDE fez a escolha de avaliar padrões de usabilidade direito. O KDE
não tem nada a ver com o Windows. Um amigo meu é o /mantainer/ do Ark
e tem outras participações no KDE e é muito ligado às questões de
usabilidade. A coisa que o KDE mais quer distância é do Windows. Tudo
no KDE é baseado em estudos de usabilidade, entre outras coisas. Na
verdade são até muito extremistas com relação a isso, pro meu gosto. O
KDE se parece muito mais com o Mac OS que com o Windows, algumas
ordens de grandeza a mais.

O KDE 4 vai rodar em Windows.

> Veja bem que se você não tem um compilador disponível isso se aplica
> para grande quantidade de módulos (não sei o quão vasta é a distribuição
> da ActiveState), mas bindings para bibliotecas C em geral precisam de um
> compilador C disponível para serem compiladas.

Eu tenho um compilador disponível. A questão é, mesmo com um
compilador disponível, vários e vários módulos não compilam. Você que
ficar mexendo aqui, editando pedaço de arquivo ali, colocando
bibliotecas em diretórios mágicos, pra no final, com sorte, conseguir.
Isso não é prático.

> Eu só estou dizendo que isso é possível.
> Vamos lá, faça pelo menos uma tentativa...

Possível != viável (sim, eu sei que também é viável, se algumas
condições forem atendidas)

Mas o mais importante:
Possível != viável != dar certo

Eu não acho que uma solução assim conseguiria atingir os objetivos de
ajudar na divulgação e aumentar o uso de Perl.

-Nilson Santos F. Jr.


Mais detalhes sobre a lista de discussão Cascavel-pm