<div>Caro Ulisses,</div><div><br></div>Concordo contigo, temos orgulho da alta qualidade técnica da lista e este é um assunto (ou vários para ser preciso) muito interessante e que está em pauta. De tudo que eu lí e da minha experiência, eu gostaria de dividir isto em alguns tópicos.<div>

<br></div><div>*** WARNING = email longo ****<br><div><br></div><div><b>Mojolicious(?:\::Lite) x Catalyst</b></div><div><br></div><div>Bom esta comparação é inevitável (e ocorrerá com mais frequência), já que o Catalyst é o único framework de peso na comunidade. Se é justo ou não é outra coisa, mas é inevitável. Assim como foi no passado comparar Catalyst com Maypole. Temos outros frameworks (baseado no Plack, por exemplo) com a mesma filosofia do Mojolicious mas que não está em no hype, porquê será ? Leia o próximo parágrafo :D </div>

<div><br></div><div><b>Sebastian</b></div><div><br></div><div>O outro motivo desta comparação é o fato do Sebastian ser o criador de todos estes frameworks. Então se já não fosse inevitável a comparação de tecnologia, temos também a comparação da visão do Sebastian ao longo do tempo sobre um mesmo assunto (framework de desenvolvimento). Quem já acompanha o Sebastian ao longo deste tempo também sabe o comportamento padrão dele, que normalmente significa a saída de um projeto quando ele (o Sebastian) fica entediado.<br>

<div><br></div><div><b>Facilidade</b><br><div><br></div><div>Não sou especialista em linguística, portanto não consigo explicar as coisas em termos técnicos, mas é uma percepção geral de que escrever alguma coisa em Mojolicious é mais atrativo/amigável do que no Catalyst. O Eden disse '... o problema é a forma. O Pessoal do Catalyst ensina a forma correta e não a mais fácil ...', e isto me fez pensar que ele tem razão. Tanto é que quando a gente fala de Catalyst é impossível não pensar em SER OBRIGADO a aprender TT, DBIx::Class. Talvez não seja necessário, mas esta associação é muito forte. </div>

<div><br></div><div>Quem conhece as pessoas que estão cuidando do Catalyst, entende esta preocupação em transmitir a mensagem da '... forma correta ...', pois eles tem experiências em grandes projetos no dia-a-dia, e sabem que estes conhecimentos completo e concreto de MVC (melhor escrevendo, em Engenharia de Software) será importante para qualquer coisa que ele for fazer.</div>

<div><br></div><div>O Mojolicious tem uma apresentação mais despojada (atenção, não estou falando de quantidade de linha de código e ou dependência), mas intuitiva e mais atrativa. Para começar, não sou obrigado a ser um hacker em outras coisas. Se eu quero misturar o View no Controle, tudo bem, depois eu separo isto. A proposta do View já está mais próximo do cara que conhece HTML e Perl (eu não gosto disto, mas tenho que admitir que me ajudou no inicio). </div>

<div><br></div><div><b>Influência </b></div><div><br></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8">É óbvio também a influência do Rail no Mojolicious, ou pelo menos em parte do Mojolicious. Se você pensar numa aplicação Mojolicious + Mongoose então, o negócio transmite uma sensação de facilidade de leitura incrível. Mas, mesmo sem ser especialista, me parece que o Mojolicious está quebrando algumas regras do MVC, ou pelo menos flexibilizando as regras.</div>

<div><br></div><div>E a influência não é apenas estética, é também comportamental com relação a retro-compatibilidade. Somente depois de começar a estudar o Rail (por curiosidade pessoal) eu entendi porquê o pessoal de Ruby é louco por TESTE. Porquê uma versão do Rail não é necessariamente compatível com a versão anterior (e não é mesmo, eu estou me cansando de pegar um documento que não funciona na versão do Rail que eu tenho instalado, e quando vou ver é que estou com a versão mais recente). O pessoal mais novo (principalmente o do Rail) acha isto normal, tanto é que eles 'inventaram' o homebrew justamente para ter várias versões do ruby/rail numa mesma máquina.</div>

<div><br></div><div>O Mojolicious caminha nesta mesma estrada, quer um exemplo ? Tente seguir de cabo-a-rabo o artigo <a href="http://sao-paulo.pm.org/artigo/2010/Mojolicious">http://sao-paulo.pm.org/artigo/2010/Mojolicious</a>, ele não vai funcionar na versão corrente do Mojo. E como o Eden bem lembrou, o Sebastian não mantem o histórico das versão no CPAN, então você terá que manter contigo a versão do Mojo que está funcionando e escrever muuuuiiiittttooooo teste na tua aplicação para saber o que está quebrado na nova atualização.</div>

<div><br></div><div>Isto não é um problema para um early adopter, e precisamos de early adopter.</div><div><br></div><div>O pessoal do Catalyst tem preocupação com estabilidade neste momento, mais do que novas features. Apesar que não sei quais novas features já não estão implementada no Catalyst. No Catalyst temos implementação de serviços baseado em JSON, XMLRPC antes dos frameworks 'corporativos' por exemplo, e alterando apenas uma linha no código (ok, duas ... contanto a chamado do módulo). </div>

<div> </div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div><br></div><div><b>Dependência</b></div><div><br></div><div>Visão do Militante Perl : Sempre que falamos de Perl, invariavelmente falamos no CPAN. Qual é o nosso mantra ? 90% do teu programa está no CPAN ! Se eu acho que dependência é um problema, então vamos queimar o CPAN e jogar fora a nossa real diferença em relação as outras linguagem.</div>

<div><br></div><div>Visão do Desenvolvedor : Sou um péssimo programador e muito limitado. Estou muito longe da genialidade do Matt, do Miyagawa, do Eden e de outros. Sendo assim eu prefiro confiar no código destes caras do que do meu. Além do mais, mesmo um programador limitado como eu, sabemos que reutilizar código é uma boa prática em engenharia de software.</div>

<div><br></div><div>Visão do Sysadmin : O Eden comentou estes dias que o problema da dependência é um problema de distribuição e não de desenvolvimento de software, e ele tem razão. Sysadmin é um bicho limitado (eu falo pq sou um programador limitar e um sysadmin experto - mesmo assim limitado) e muito acomodado. A pior sub-raça dos sysadmin é os de Windows, que prefere baixar 1 giga de um executável (lá vão algumas horas) e clicar em 20 telas e pronto, do que ficar  baixando diversos pequenos pacotes. Mas seja sincero, quem gosta de ficar pesquisando dependências. Se isto não fosse verdade, as distribuições de linux não teriam inventadas os sistemas de empacotamento e viciado os sysadmin com simples apt-get install. Precisamos explorar mais a questão da distribuição, este sim é o problema.</div>

<div><br></div><div><br></div><div><b> Resposta da equipe do Catalyst</b></div><div><br></div><div>A tempo, o Eden está trabalhoando no Catalyst::Lite (<a href="https://github.com/edenc/Catalyst-Lite">https://github.com/edenc/Catalyst-Lite</a>), que como ele mesmo disse '... ficou igual ao Mojolicious::Lite sem precisar escrever 23 mil linhas de códigos e já tem tudos os plugins do Catalyst funcionando ...'</div>

<meta http-equiv="content-type" content="text/html; charset=utf-8"><div> </div><div><br><div class="gmail_quote">Em 15 de junho de 2011 09:31, Ulisses-IBIZ <span dir="ltr"><<a href="mailto:ulisses@ibiz.com.br">ulisses@ibiz.com.br</a>></span> escreveu:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">por mim, podem continuar com essas discussoes saudaveis; sempre serve para avaliar os pontos de vista de cada um; seus pros e contras.<br>


<br>
lista sem 'discussao' (no bom sentido) eh lista de publicacao de anivers, ES, troca de elogios de la e ca;<br>
<br>
ao meu ver isso traz 'sustancia' e explica o motivo das listas existirem.<br>
<br>
'na minha humilde opiniao' !<br>
(expressao de eufemismo a la politicamente correto que me desagrada): ela ou esconde uma 'pre-desculpa' por dar uma opiniao (o q é absurdo!) ou<br>
camufla uma certa arrogancia... [dispensavel em ambos os casos]).<br>
<br>
moçada, por mim, manda ver; quero aprender com as experiências dos outros! e suas opiniões!<br>
<br>
grato!<br>
<br>
Ulisses Gomes Tecnologia da Informação IBIZ Tecnologia +55 11 5579-3178 r. 226 <a href="mailto:ulisses@ibiz.com.br" target="_blank">ulisses@ibiz.com.br</a> <a href="http://www.ibiz.com.br" target="_blank">www.ibiz.com.br</a><br>


----- Original Message ----- From: "Thiago Rondon" <<a href="mailto:thiago@aware.com.br" target="_blank">thiago@aware.com.br</a>><br>
To: <<a href="mailto:saopaulo-pm@mail.pm.org" target="_blank">saopaulo-pm@mail.pm.org</a>><br>
Sent: Tuesday, June 14, 2011 10:24 PM<br>
Subject: Re: [SP-pm] Teen sells Perl cloud startup to ActiveState<div><div></div><div class="h5"><br>
<br>
<br>
On Wed, Jun 15, 2011 at 01:47:18AM +0200, Wallace Reis wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
IMO, não é tão lindo assim, especialmente se você tem um sistema bem complexo<br>
com um grande número (5K+) de dependências e então surge uma bugfix necessária pra alguma(s)<br>
desta(s) dependência(s) e que pode causar incompatibilidade com alguma(s) outra(s) e<br>
que não se resolve com um simples upgrade, (guarda e repete). Pronto, você tem um completo<br>
PITA aqui. Não é impossível de se resolver, porém é uma situação que muita gente foge<br>
(vide uma longa thread que teve a pouco tempo na london-pm).<br>
<br>
</blockquote>
<br>
É verdade. Estratégias de escolha de dependencia pode tornar o assunto bem extenso,<br>
este paper é bem interessante sobre o assunto, e cita outros cenários como o que<br>
você colocou.<br>
<br>
<a href="http://www.ics.uci.edu/~redmiles/inf233-FQ07/newestpapers/icse08-ariadne-v14.pdf" target="_blank">http://www.ics.uci.edu/~redmiles/inf233-FQ07/newestpapers/icse08-ariadne-v14.pdf</a><br>
<br>
Abs,<br>
-Thiago Rondon<br>
<br>
=begin disclaimer<br>
  Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br>
<br>
<br>
=begin disclaimer<br>
  Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>"o animal satisfeito dorme". - Guimarães Rosa<br>
</div></div></div></div>