>>>>> "Ulisses-IBIZ" == Ulisses-IBIZ <ulis...@ibiz.com.br> writes:
Ulisses-IBIZ> um cara de talento é um bom resolvedor de problemas: identifica-o, separa o joio do trigo e aplica a elegancia da simplicidade (ou a simplicidade da Ulisses-IBIZ> elegancia) para resolve-lo. Isso ele faz em Perl, Java, C, Python .... Claro, cada linguagem facilita mais a vida do programador (que prefiro charmar de Ulisses-IBIZ> designer). Perl é uma mão na roda que te permite, muitas vezes, desenvolver N vezes mais rápido que em outras linguagens, mas.... vai de gosto. Ulisses-IBIZ> primeiro o cara precisa ter fluencia de pensamento e depois na linguagem que escolheu para 'resolver' o problema que se apresenta. Pois é, mas algumas linguagens aleijam até o melhor dos pensadores em alguns aspectos. Por exemplo, em java uma simples equação de Bhaskhara implementada com bignums vira isso: --8<---------------cut here---------------start------------->8--- ((b.pow(2) - (a.multiply(b)).multiply(4)).sqrt).divide(2) --8<---------------cut here---------------end--------------->8--- porque java não tem sobrecarga de operadores, por design. E como sempre, o caso do quicksort em haskell que eu sempre costumo usar de forma ilustrativa: --8<---------------cut here---------------start------------->8--- quicksort [] = [] quicksort (s:xs) = quicksort [x|x <- xs,x < s] ++ [s] ++ quicksort [x|x <- xs,x >= s] --8<---------------cut here---------------end--------------->8--- Além de ser mais curta, objetiva e mais próximo do que se aprende na escola do que qualquer outra função em qualquer outra linguagem não-funcional, funciona com qualquer tipo de dado que implemente os operadores '<' e '>='. O Java, logo de cara, não consegue fazer, novamente porque falta a sobrecarga. Em C também não dá, em C++ você consegue se (ab)usar de templates. Em alguma linguagem dinâmica como perl ou python, você faz algo similar, mas nunca vai ser tão rápido quanto a implementação em haskell (a propósito, essa implementação aí em cima não é a melhor possível), porque compila direto pra binário, não é interpretado. Resumindo, a depender do problema, tem linguagens que vão ser bastante melhores do que outras. -- 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/ =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer