Decidi usar Perl em tratamento de dados local e Python em busca/parser e tratamento de dados online..... após alguns testes mostrou-se uma boa solução. Zé
Em 19 de abril de 2011 09:00, Tiago Peczenyj <tiago.pecze...@gmail.com>escreveu: > Um detalhe sobre java: o unico caso de sobrecarga de operadores > aconteceu com o + na classe String, para concatenação. > > Entretanto com o autoboxing e generics (que são casts por debaixo dos > panos) eu não vejo pq não ter algo como sobrecarga de operadores > trocando o + por um metodo add, por exemplo (assim como extension > methods). Mas como foi dito, é design da linguagem evitar isso, assim > como vc pode evitar sobreescrever algo com a palavra reservada final. > Felizmente C# suporta \o/ > > 2011/4/19 Eden Cardim <edencar...@gmail.com>: > >>>>>> "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 > > > > > > -- > Tiago B. Peczenyj > Linux User #405772 > > http://pacman.blog.br > =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 >
=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