Здравствуйте, cures, Вы писали:
C>а ещё через чуть-чуть — понимать, как линейное вычисление можно переделать в логарифмическое, заодно сами же станут определять в каждом конкретном случае, какой вариант быстрее.
Кстати, императивное программирование принципиально не препятствует логарифмической оптимизации линейно-рекуррентного кода. То есть в этом аспекте не видно преимущества от использования ФП (по крайней мере в контексте современных ФП языков).
C>Ещё один хороший пример — так любимый функциональщиками квиксорт. Что ему приходится вытворять с памятью из-за ограничения немодифицируемости существующих данных — это отдельная песня.
Суть настоящего quicksort именно в перестановке элементов in-place, это даже
упоминал Erik Meijer в одном из своих видео по Haskell. То есть настоящий quicksort на Haskell придётся реализовывать через императивный код на монадах. А тот пример который обычно называют quicksort — таковым не является.