[SP-pm] atalhos toscos

Eden Cardim edencardim at gmail.com
Wed Oct 6 05:14:02 PDT 2010


>>>>> "Stanislaw" == Stanislaw Pusep <creaktive em gmail.com> writes:
    Stanislaw> Veja bem Eden, a questão que levantei não é a eficiência
    Stanislaw> (quem quer algo eficiente que faça em assembly)

Ter a ferramenta mais adequada para ser eficiente não significa que um
humano vai necessariamente ser mais eficiente. Isso é equivalente a
dizer que qualquer pessoa munida de um bisturi seria uma excelente
cirurgiã. Nem tudo escrito em assembly por um humano é mais
eficiente. Eu particularmente confio muito mais nos compiladores de hoje
do que nos programadores de hoje.

    Stanislaw> nem a legibilidade (<flame_warning>quem quer algo legível
    Stanislaw> que programe em Python</flame_warning>)

Python apenas usa whitespace como sintaxe, que eu não considero o único
critério para se obter legibilidade. Inclusive, a verbosidade excessiva
atrapalha as vezes. Compare um caso bem comum, o quicksort. Encontrei as
seguintes funções via google:

Em Python:

def qsort(list):
    if list == []: 
        return []
    else:
        pivot = list[0]
        lesser = qsort([x for x in list[1:] if x < pivot])
        greater = qsort([x for x in list[1:] if x >= pivot])
        return lesser + [pivot] + greater

Em Perl (essa eu mesmo escrevi):

sub qsort {
    return unless @_;
    my $p = shift;
    return qsort(grep {$_ < $p} @_), $p, qsort(grep {$_ >= $p} @_);
}

Em Haskell:

qsort []     = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)

-- 
   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/


More information about the SaoPaulo-pm mailing list