FP101x Introduction to Functional Programming
на edx.com
Определенно вхожу во вкус функциональщины всё больше и больше.
Но, я внезапно осознал, что на примитивном уровне все эти фильтры и мапы были у меня и в perl всегда, и я их всегда использовал.
Другое дело, что конечно, ребята наработали уже просто огромную базу. Начинаешь понимать. что тут дело на в мапах и не в high order functions — этим как раз никого не удивишь. А скорее в общем объеме. Ум за разум заходит как увидишь готовое решение со всеми этими моноидами когда закончишь лабу. А по отдельности, пока пишешь - очень даже ничего. Хороший метод декомпозиции задач.
Но я хотел написать не про собственно функциональщину, а про курс.
Оставил он смешанные чувства.
Плюсы:
- Очень интересный, вряд-ли его можно назвать "начальным", но мне как то в уровень попало. И не скучно и не сильно тяжело.
- Лекции мне понравились, все за исключением серии про монады. Чего там хотели добиться не понимаю. Явно что то перемудрили.
- Лабы - крутые реально, клево так придумали, что дают задание. которое ты выполняешь. что то высчитываешь и заливаешь им на проверку не саму прогу а ответ какой то зашифрованной ими функции. Типа такого:
Крутая идея и крутая реализация, просто молодцы. И руками такое не посчитаешь - приходится прогу написать, и в тоже время никакой мороки с тестированием.
И сами задания — интересные. Прямо хочется решить. - Определенно хочется продолжать, было впечатление что окончилось внезапно. Это я считаю плюс.
- Главный основной минус это задания послед лекций (homework), на мой вкус — просто отвратительно. Что тестирует вот такой тест:
В лучшем случае моё зрение. Но точно не о программировании он. Но это ягодки. Как вам такой:
Бредятина на 10 экранов которую надо в уме распарсить и найти правильное решение из 4, а отличаются они парой символов.
Такая ненависть у меня была к этим заданиям, что я просто даже заставить себя не мог эту гадость читать, в лучшем случае просто тыкал наугад, и кажется ни разу не попал.
Причем задания эти неоднородные, после некоторых лекций нормальные а после других по 15 пунктов такого дерьмища.
Это хорошо видно на графике моей успеваемости:
Те homework где прогресс по 5% это они и есть. Меня это настолько раздражало что только из за этих заданий хотел бросить курс многократно. - Jam sessions ну очень странные, я их записал в простую потерю времени. Ни идеи этого не понял, ничего полезного не вынес. Какая то ерунда.
- Мне не показалось что из этого курса можно что то целостное получить. Так, вариации на тему крутых хаскельных штучек, привлечь внимание.
Я так понял это первый запуск этого курса, можно простить некоторые шероховатости с заданиями ( а лучше их совсем выкинуть).
Плюсов очевидно больше чем минусов — думаю можно советовать курс всем заинтересованным функциональщиной.