[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