[SP-pm] Validar session no Catalyst
Eden Cardim
edencardim at gmail.com
Wed Jul 13 21:17:37 PDT 2011
>>>>> "Nilson" == Nilson Santos Figueiredo <acid06 em gmail.com> writes:
Nilson> 2011/7/13 Eden Cardim <edencardim em gmail.com>:
>> Na verdade, eu tenho trabalhado bem pouco com Catalyst e perl em geral
>> ultimamente. Não sei se você viu na outra thread, eu sugeri o
>> happstack. Ultimamente tenho experimentado muito mais com lisp,
>> javascript e haskell, e sim, é difícil voltar pro Perl em alguns casos,
>> mas a disponibilidade de componentes no Perl pelo cpan ainda é
>> imbatível. Por sinal eu colaborei com o Matt Trout no design de dois
>> frameworks alternativos, o Reaction, o Web::Simple e o HTML::Zoom (cujo
>> design inicial foi meu), exatamente por não estar satisfeito com o combo
>> Catalyst+DBIx::Class+TT. Voltei a usar num projeto aqui porque é mais
>> fácil terceirizar, mas pessoalmente não estou mais usando porque não
>> aguento algumas limitações que o catalyst tem. Inclusive, uma delas o
>> André Walker tá resolvendo no gsoc.
Nilson> Fiquei curioso: que vantagens você acredita que Javascript tem sobre
Nilson> Perl, como linguagem? Não consigo pensar em nenhuma.
O javascript em particular não é "melhor" que perl mas é conceitualmente
diferente em alguns aspectos, a orientação a objetos é mais
bem-estruturada. Já Lisp é mais "puro" então é mais fácil mexer no
código sem introduzir muito side-effect, o que faz programas em lisp
serem mais manuteníveis, apesar de eu achar bem difícil iniciar um
projeto em lisp.
Nilson> Eu acho que não basta documentar. Por exemplo, é bem documentado que
Nilson> quando se usa orientação a objeto, o objeto é passado como o primeiro
Nilson> parâmetro e, normalmente, damos o nome de $self a essa variável. Todo
Nilson> mundo sabe disso.
Nilson> No entando, eu prefiro 42 milhões de vezes mais escrever:
Nilson> method foo ($arg) {
Nilson> $self->blablabla($arg)
Nilson> }
Taí uma vantagem do javascript :)
Nilson> Do que:
Nilson> sub foo {
Nilson> my ($self, $arg) = @_;
Nilson> $self->blablabla($arg);
Nilson> }
Nilson> Documentar não resolve esse problema. Documentar resolve o problema
Nilson> somente de quem está aprendendo a usar aquela ferramenta, em outras
Nilson> palavras, a documentação serve para listar as excentricidades de algo.
Esse tipo de problema não porque é core da linguagem, mas nem o Mojo nem
o Dancer resolvem problemas desse tipo. O Mojo em particular nunca vai
resolver porque precisaria usar algo como o Devel::Declare, que precisa
de compilação. O que eu to falando é que a flexibilidade do catalyst
permite que se implemente coisas de uma forma que fique mais similar ao
que o mojo e o dancer propõem, mas essas alternativas não são
bem-documentadas.
Nilson> Esse ponto "trivial" pode ser importante pra muita gente.
É trivial do ponto de vista de implementação, tá virando mantra já, não
precisava reimplementar o framework todo pra fazer reajustes na sintaxe,
era só criar outro dispatcher.
Nilson> E pode ser a diferença entre algo ganhar aceitação ou
Nilson> não. Se surgisse um novo framework web com a mesma sintaxe
Nilson> do Catalyst, não ganharia praticamente nenhum adepto,
Nilson> acredito eu. O Dancer traz a proposta de uma sintaxe que
Nilson> parece ser mais moderna e aposta forte na integração com o
Nilson> Plack
O Dancer integra tão bem com plack quanto os outros frameworks, afinal
de contas, esse é o propósito do plack.
Nilson> tenta se vender como o "cool kid on the block" (e, em
Nilson> geral, tem conseguido).
Engraçado, a impressão que eu tenho dele é de que ele é o patinho feio
dos 3. O código é bem ruinzinho e a abordagem usando exports limita
bastante o que dá pra fazer com ele além de propaganda, além de ficar
uma mistura de OO com procedural que é bem chatinho de
estruturar. Experimenta escrever testes unitários pra ele e vê onde você
vai parar.
Nilson> O Mojolicious também tem uma sintaxe
Nilson> mais "moderna" mas me parece que foca em lutar contra o
Nilson> "dependency-hell" (que pra mim nem é um problema, pra ser
Nilson> sincero, acho bem fácil e rápido instalar módulos, mas tem
Nilson> gente que parece que não concorda)
E a brilhante idéia do sri pra fugir das dependências foi tentar
reinventar tudo sozinho.
Nilson> Eu acho que faz perfeito sentido os 3 existirem. É como falar que não
Nilson> faz sentido existir vários estilos de metal diferentes, porque é tudo
Nilson> "rock pesado" tocado com guitarras.
Que bom você mencionar isso, da forma que eu enxergo, a analogia tá mais
pra banda cover, só aparecer alguém com uma proposta diferenciada que
logo aparece a turma de caroneiros. Não vou falar muito de metal senão
vou apanhar dos headbangers de plantão. Mas o que eu vejo é algo tipo
Madonna vs Britney Spears vs Lady Gaga. Aliás, acho que o Mojo tá mais
pra Jennifer Lopez, atriz, cantora, compositora, produtora musical,
dançarina, estilista e produtora de televisão, já vem tudo no pacote,
sem dependências, bem fácil de vender e fazer o deploy. :D
--
Eden Cardim Need help with your Catalyst or DBIx::Class project?
Code Monkey http://www.shadowcat.co.uk/catalyst/
Shadowcat Systems Ltd. Want a managed development or deployment platform?
http://blog.edencardim.com/ http://www.shadowcat.co.uk/servers/
http://twitter.com/#!/edenc
More information about the SaoPaulo-pm
mailing list