[Cascavel-pm] Sistema de Login

Nilson Santos Figueiredo Jr. acid06 em gmail.com
Segunda Agosto 31 19:30:25 PDT 2009


2009/8/31 Eden Cardim <edencardim em gmail.com>:
> Eu fiz vários comentários, de qual deles você está falando?

Acho que o ponto que estão levantando é que você está soando muito
xiita em relação à reutilização de ferramentas já existentes. Não que
isso seja ruim, pelo contrário, é uma maneira garantida de ter
projetos com um custo mais baixo.

O ponto é que às vezes vale à pena reinventar a roda pra ter uma roda
mais redonda no final das contas. Mas, eu concordo com você e
definitivamente este não é o caso em questão: mais parece que estão
trocando a roda redonda existente por uma roda quadrada.

Uma coisa a se pensar é que, a longo prazo, pode valer à pena
reinventar a roda para uma roda melhor. Os exemplos óbvios disso são
as soluções atuais. Pra quem utilizava raw DBI, quando surgiu o
Class::DBI, ele era "uma roda bem mais redonda". Mas alguém foi lá e
reinventou a roda, criando o DBIC.

Teve até um artigo nos Slashdot essa semana levantando pontos
similares de que o investimento em "basic research" está secando,
porque todos estão simplesmente usando as soluções já existentes e,
apesar disso ser a solução ótima em curto prazo, é algo prejudicial a
longo prazo.

  http://science.slashdot.org/story/09/08/30/1512213/Where-Have-You-Gone-Bell-Labs

Existem outras situações em que é necessário reinventar a roda. Por
exemplo, atualmente estou finalizando um projeto em que, por razões
adversas, não é possível utilizar Catalyst e quase nenhum outro tipo
de dependências. Além disso, o projeto tem de ser rodado sobre CGI
puro, nem mod_perl nem fast_cgi.

A minha solução pro problema foi criar uma espécie de
"Catalyst-wannabe" que roda sobre CGI puro e não possui dependências
além do CGI::Simple. Possui todos os conceitos chaves como uma camada
de model, view e controller. Mas é bastante simplificado. O Catalyst é
pelo menos 10 vezes mais completo, mais flexível e simplesmente melhor
em geral - mas não servia pra esse caso.

Estou até pensando se vou liberá-lo na CPAN ou não. Por um lado, eu
não quero incentivar as pessoas à permanecer no mundo CGI "tosco" e
não tenho certeza se quero manter isso no futuro. Por outro, quando eu
olhei para aquela bagunça de "1998 Perl" me deu ânsia de vômito e
imagino que liberando isso poderia ajudar outros companheiros a
digerir um projeto deste tipo no futuro.

Um outro exemplo não relacionado com Perl que ganhou notoriedade esses
dias foi sobre a reimplementação dos bindings de Qt para Python pela
Nokia. Eles já existiam, mas liberados sob a GPL. A Nokia tentou
negociar para que liberassem o código sob a LGPL, mas não conseguiu.
Então, por questões legais, teve de reinventar a roda e liberou o
PySide (inclusive, foi feito pelo grupo de R&D da Nokia aqui no
Brasil, que fica no Nordeste). Isso foi necessário porque a plataforma
Maemo é baseada em Qt e caso não fosse LGPL, todos que fossem criar
aplicativos para Maemo teriam que licensiar a biblioteca da empresa
original ou liberar tudo open-source.

Mas enfim, eu entendo o seu ponto de vista e, em geral, concordo com
ele. Mas ser xiita pode ser prejudicial à inovação, entre outras
coisas, então tem que tomar cuidado pra não ir pra esse lado.

-Nilson Santos F. Jr.


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