<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8080.16413">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Zé, me interessei por "<FONT size=3 
face="Times New Roman">Python em busca/parser e tratamento de dados 
online"</FONT></FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>em relação a Perl (LWP e afins) o que Python me 
oferece? pode discorrer + sobre o assunto?</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>abraço,</FONT></DIV>
<DIV><FONT size=2 face=Arial>ulisses</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV 
  style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> 
  <A title=josef.aquino@gmail.com href="mailto:josef.aquino@gmail.com">Jose 
  Roberto Aquino</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=saopaulo-pm@mail.pm.org 
  href="mailto:saopaulo-pm@mail.pm.org">saopaulo-pm@mail.pm.org</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, April 19, 2011 9:40 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [SP-pm] [OT] 
  Apresentação</DIV>
  <DIV><BR></DIV>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 
  style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
  class=gmail_quote>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>
  <P>
  <HR>

  <P></P>=begin disclaimer<BR>   Sao Paulo Perl Mongers: 
  http://sao-paulo.pm.org/<BR> SaoPaulo-pm mailing list: 
  SaoPaulo-pm@pm.org<BR> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm><BR>=end 
  disclaimer<BR></BLOCKQUOTE></BODY></HTML>