Leave a comment

son_0f_morning September 25 2019, 18:01:39 UTC
>> "оба-на, всё то, что раньше я делал циклами, теперь можно одной командой делать на множествах! Круто! Буду знать."
Судя по этим словам вам несказанно повезло и вы крайне одарённый к обучению человек.
Ведь если говорить не про foreach и контейнеры (которые действительно лишь синтаксический сахар), а про функциональный подход, то приходится довольно прилично поломать свой подход к программированию, чтобы закрепить это в практике.

Ведь действительно в самом начале условный "for" на питоне я буду писать пару минут, а правильный map-filter-reduce (особенно для не очень очевидного случая) можно гуглить и час и два.
При этом возникает целая куча нюансов: в ситуации решения практической задачи очевидно, что вы верифицируете for куда легче, чем код в новой языковой парадигме. А если эта задача ещё и как-то ограничена по времени, то минуте к 30й поисков правильного решения (а я всего лишь про синтаксис пока!) появляются мысли: "а не бросить ли всё это нафиг и по-старинке за 3 минуты дописать".
Ну и таких соображений можно привести ещё вагон и маленькую тележку.

Reply

lex_kravetski September 25 2019, 18:21:10 UTC
> Ведь если говорить не про foreach и контейнеры (которые действительно лишь синтаксический сахар), а про функциональный подход, то приходится довольно прилично поломать свой подход к программированию, чтобы закрепить это в практике.

По моим наблюдениям, с контейнерами у людей всё тоже проходит совсем даже не так гладко, как хотелось бы. Простой пример из статьи - это да, но вот как чуть посложнее, у людей сразу же вот эта самая первая мысль: «ну нах, я лучше циклом сейчас зафигарю».

Причём так происходит даже в тех случаях, когда буквально «чуть» сложнее. Когда нужен не просто фильтр, а ещё свёртка или поиск.

Ну а так, да, если ещё и за пределы контейнеров выходить, то там совсем всё плохо.

Reply


Leave a comment

Up