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.<div>Zé<br><br><div class="gmail_quote">Em 19 de abril de 2011 09:00, Tiago Peczenyj <span dir="ltr"><<a href="mailto:tiago.peczenyj@gmail.com">tiago.peczenyj@gmail.com</a>></span> escreveu:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Um detalhe sobre java: o unico caso de sobrecarga de operadores<br>
aconteceu com o + na classe String, para concatenação.<br>
<br>
Entretanto com o autoboxing e generics (que são casts por debaixo dos<br>
panos) eu não vejo pq não ter algo como sobrecarga de operadores<br>
trocando o + por um metodo add, por exemplo (assim como extension<br>
methods). Mas como foi dito, é design da linguagem evitar isso, assim<br>
como vc pode evitar sobreescrever algo com a palavra reservada final.<br>
Felizmente C# suporta \o/<br>
<div class="im"><br>
2011/4/19 Eden Cardim <<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>>:<br>
</div><div><div></div><div class="h5">>>>>>> "Ulisses-IBIZ" == Ulisses-IBIZ  <<a href="mailto:ulisses@ibiz.com.br">ulisses@ibiz.com.br</a>> writes:<br>
><br>
>    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<br>
>    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<br>
>    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.<br>
><br>
>    Ulisses-IBIZ> primeiro o cara precisa ter fluencia de pensamento e depois na linguagem que escolheu para 'resolver' o problema que se apresenta.<br>
><br>
> Pois é, mas algumas linguagens aleijam até o melhor dos pensadores em<br>
> alguns aspectos. Por exemplo, em java uma simples equação de Bhaskhara<br>
> implementada com bignums vira isso:<br>
><br>
><br>
> --8<---------------cut here---------------start------------->8---<br>
> ((b.pow(2) - (a.multiply(b)).multiply(4)).sqrt).divide(2)<br>
> --8<---------------cut here---------------end--------------->8---<br>
><br>
> porque java não tem sobrecarga de operadores, por design.<br>
><br>
> E como sempre, o caso do quicksort em haskell que eu sempre costumo usar<br>
> de forma ilustrativa:<br>
><br>
> --8<---------------cut here---------------start------------->8---<br>
> quicksort [] = []<br>
> quicksort (s:xs) = quicksort [x|x <- xs,x < s] ++ [s] ++ quicksort [x|x <- xs,x >= s]<br>
> --8<---------------cut here---------------end--------------->8---<br>
><br>
> Além de ser mais curta, objetiva e mais próximo do que se aprende na<br>
> escola do que qualquer outra função em qualquer outra linguagem<br>
> não-funcional, funciona com qualquer tipo de dado que implemente os<br>
> operadores '<' e '>='. O Java, logo de cara, não consegue fazer,<br>
> novamente porque falta a sobrecarga. Em C também não dá, em C++ você<br>
> consegue se (ab)usar de templates. Em alguma linguagem dinâmica como<br>
> perl ou python, você faz algo similar, mas nunca vai ser tão rápido<br>
> quanto a implementação em haskell (a propósito, essa implementação aí em<br>
> cima não é a melhor possível), porque compila direto pra binário, não é<br>
> interpretado.<br>
><br>
> Resumindo, a depender do problema, tem linguagens que vão ser bastante<br>
> melhores do que outras.<br>
><br>
> --<br>
>   Eden Cardim       Need help with your Catalyst or DBIx::Class project?<br>
>  Code Monkey                    <a href="http://www.shadowcat.co.uk/catalyst/" target="_blank">http://www.shadowcat.co.uk/catalyst/</a><br>
>  Shadowcat Systems Ltd.  Want a managed development or deployment platform?<br>
> <a href="http://blog.edencardim.com/" target="_blank">http://blog.edencardim.com/</a>            <a href="http://www.shadowcat.co.uk/servers/" target="_blank">http://www.shadowcat.co.uk/servers/</a><br>
> =begin disclaimer<br>
>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
>  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
>  L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
> =end disclaimer<br>
><br>
<br>
<br>
<br>
</div></div>--<br>
<div class="im">Tiago B. Peczenyj<br>
Linux User #405772<br>
<br>
<a href="http://pacman.blog.br" target="_blank">http://pacman.blog.br</a><br>
</div><div><div></div><div class="h5">=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
</div></div></blockquote></div><br></div>