>>>>> "Stanislaw" == Stanislaw Pusep 
>>>>> <[email protected]> writes:

    Stanislaw> Tentando salvar a parte construtiva da thread :P
    Stanislaw> Intuitivamente, signatures em Perl seriam uma perda de
    Stanislaw> velocidade.  Outras pessoas que não Cron foram
    Stanislaw> surpreendidas com a descoberta de
    Stanislaw> que Method::Signatures pode dar um ganho de
    Stanislaw> desempenho: http://
    Stanislaw> www.dancygier.com/wordpress/2011/03/06/
    Stanislaw> methodsignatures-blazing-fast-and-makes-me-sane/ Quando
    Stanislaw> saiu esse post, testei e os meus números bateram com o
    Stanislaw> benchmark. Hoje, com Perl mais novo e respectivos
    Stanislaw> módulos atualizados, mudou um pouco:

A motivação desse cara é duvidosa (pra não dizer idiota) e o artigo
inteiro é bastante raso. No caso, usar um módulo com a sofisticação do
Method::Signatures (que gera dependência binária) pra economizar dois
caracteres de digitação em cada subrotina, francamente, não vejo
valor. Se ele quiser economizar caracteres, é bem melhor (e mais
performático) usar um source filter. Se ele quiser velocidade, existem
formas melhores e mais eficientes de se fazer isso.

Ele quer métodos com assinatura mas não quer tipos, ora, tirando os
dois caracteres de economia, em linguagens dinâmicas a utilidade das
assinaturas (e o Stevan concordaria comigo) está justamente no fato de
poder declarar tipos e usar despacho múltiplo (como em
https://metacpan.org/module/MooseX::MultiMethods) e currying pra
viabilizar arquiteturas mais flexíveis, como se faz em linguagens como
OCAML e Haskell (quanto a assinaturas, essa é a origem da reclamação
do Stevan). Ele tem razão em não querer a validação, porque se a
validação não passar, em runtime, o que você vai fazer?

-- 
Eden Cardim -- Insolide Soluções de TI Ltda.
+55 11 9644 8225
http://insoli.de
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: [email protected]
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a