Bom dia, Sem querer entrar em flames, ou no mérito da discussão, que tomo apenas como exemplo.
A thread abaixo é uma discussão que está acontecendo na principal lista de C++ brasileira, sobre undefined behavior. http://groups.google.com/group/ccppbrasil/browse_thread/thread/9b9a7be45917095e# Notem como o Undefined behavior deste exemplo em particular pode ser resolvido com 'codificação elegante'. Ok, o assunto era outro e foi só um exemplo rápido, mas levantou a discussão que está acontecendo até agora. A maioria dos 'Undefined Behaviors' das linguagens de programação que conheço (não são muitos) são casos específicos, incomuns, bem documentados, bem avisados, normalmente abertos por 'depender da implementação' e invocados por código porco de programadores meia-boca (não que este caso de *exemplo* seja um). É claro, nenhuma linguagem é perfeita (exceto lisp), mas elas possuem especificações, mais abrangentes ou menos abrangentes. Por isso, não importa a linguagem, ou você se aprofunda e aprende, ou mais cedo ou mais tarte, vai acabar caindo em alguma dessas asrmadilhas. Na minha opinião, C tem mais armadilhas e/ou hacks que precisam de um pouco mais de conhecimento de arquitetura de computadores para escapar do que Perl, enquanto Perl tem outros tipos de armadilhas. Entenda armadilha aqui como "algo que eu imaginava de um jeito, mas aconteceu de outro", independente da expectativa ser razoável ou não. O negócio é que como Perl é mais fácil de lidar do que C, você alcança as armadilhas de Perl mais cedo do que conseguiria caminhar em C para alcançar as suas, logo, Perl parece mais imprevisível. Abraços =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
