>>> def f_loop(n): ... ret = 1 ... while n > 1: ret *= n; n -= 1 ... return ret ... >>> timeit('f_loop(10)', setup='from __main__ import f_loop') 2.4275178909301758
А я и не спорил, однако он 1х в четыре раза медленнее уже готовой реализации функции данной :) И я не сказал бы, что приемущество в 20% столь существенно, чтобы везде отказываться от куда краше выглядящих имеративных циклов в пользу функциональщины.
Это уже не говоря о том, что ООП - просто костылик для того, чтобы научить программировать даже студентов-недоучек с гуманитарных факультетов. Насколько я понимаю, именно с этой стороны разрекламирован петон ^^
>И я не сказал бы, что приемущество в 20% столь существенно, чтобы везде отказываться от куда краше выглядящих имеративных циклов в пользу функциональщины.
Ты так говоришь только потому, что функциональщина в пистоне действительно убогая.
>> Да, и если ты считаешь, что используя map/reduce ты не пользуешься циклами - ты, мягко говоря, не всё знаешь.
> Ага. А если ты считаешь, что используя циклы ты не пользуешься goto - ты, мягко говоря, не всё знаешь.
По остальным пунктам возражений нет? Уже неплохо. А насчет цикла - посмотри хоть в Википедии, что такое foreach, и найди хоть одно существенное отличие от map.
>>> Да, и если ты считаешь, что используя map/reduce ты не пользуешься циклами - ты, мягко говоря, не всё знаешь.
>> Ага. А если ты считаешь, что используя циклы ты не пользуешься goto - ты, мягко говоря, не всё знаешь.
>По остальным пунктам возражений нет? Уже неплохо. А насчет цикла - посмотри хоть в Википедии, что такое foreach, и найди хоть одно существенное отличие от map.
Ты пьян уже, что ли? Посмотри выдачу gcc -S и найди хоть одно существенное отличие for/while от goto и их же от хвостовой рекурсии.
> Посмотри выдачу gcc -S и найди хоть одно существенное отличие for/while от goto и их же от хвостовой рекурсии.
Зачем? Ты намекаешь, что в машкоде это всё разворачивается в одни и те же jmp, а стек не используется? Я знаю. Какое это имеет отношение к обсуждаемому вопросу о том, что функция map и Питоновский for - это два вида записи цикла?
>Ты так говоришь только потому, что функциональщина в пистоне действительно убогая.
ну назови полноценную замену с таким количеством готовых допиленных библиотек и пригодную для обучения/скриптинга/Web/standalone приложений. пока только C# и Java. Perl догнивает, Ruby еще не допилили, семейство Lisp - синтаксис на любителя, бедные библиотеки.