Занятия с напарниками по Haskell
Собирал я как-то напарников в группу для изучения haskell. Пост вот написал на пикабу ( Ищу напарника для совместного изучения haskell ). Сейчас есть немного времени. Расскажу, что происходило дальше. Вдруг кому интересно будет. Или для себя напишу, типа как дневник.
Откликнулось 2 человека. Один из дискорда, другой с пикабу. Всем нам что-то около 32-35 лет. У каждого своя судьба, но все вместе сошлись в своих стремлениях. Haskell нам интересен, но нужен мотивирующе-дисциплинирующий фактор. И группа с совместными занятиями - хорошее решение.
4 дня в неделю: вторник, среда, четверг и суббота. Читаем книжку одну. Она на английском. Но вроде как общий смысл понимаем. Если что, уточняем в переводчике. В конце главы есть вопросы, и небольшие упражнения. Уже прошло 3 занятия. Вполне неплохо. Не скучаем. Что-то полезное определенно для себя выносим.
Группа выручает. Часто бывает, что где-то один подвисает. Другие объясняют, подсказывают. Например, я затупил над выражением "Project building tools". Спрашиваю - это что такое, npm что ли? Говорят нет - это аля Gulp, Grunt. Кому-то немножко трудно было разобраться с применением абстракции в лямбда исчислении. По сути для себя сделали вывод, что это особая постановка. Заключается в три этапа, связывание параметра с аргументом, вычисления тела абстракции, и отрезания головы функции. Слово английское еще такое забавное выучил: eliminating. Потренировались в этом приеме - стало куда яснее.
Забавный случай вспомнился. Изучили определение ссылочной прозрачности. Для выполнения этого условия необходимо, чтобы функция была чистой. И кто-то по-приколу спросил, а если функция чистая, означает ли это, что она автоматически ссылочно-прозрачная. А в книжке то прямого ответа на этот вопрос нет. Погуглили, подумали. Ничего внятного не нашли. Сделали вывод. Пока не найдем опровержения, приравняем эти 2 термина друг к другу. Типа чистая функция ссылочно-прозрачная и наоборот.
Не знаю даже, что в подобных постах описывать. Дневники особо никогда не вел. Непривычно, стремно. Думаешь, вода водой. Может, стоит описывать конкретные результаты занятий. Типа конспект, что выучил, какие определения надо запомнить, какие алгоритмы разобрали. Словарь терминов завести? А может, просто делиться впечатлениями, затупами. Историями о том, как мы героически решали задачу. Посмотрим. Может вообще свободное время и желание только сейчас появилось для поста на пикабу, а потому будет некогда. Посмотрим.
Можно было бы даже проводить вечера на ютубе. То есть мы проводим занятие. И оно транслируется для всех других. И весь мир будет учить haskell вместе с нами. =) Но это так, утопия.
В любом случае учеба продолжается. Мы хотим стать чуточку умнее, реально подразобраться в функциональной парадигме. Посмотрим, насколько нас хватит =)
А можно к вам в чатик? Сам совершаю иногда набеги на хаскель, вы вот подтолкнули сделать это в очередной раз. Обещаю что с тупыми вопросами (отвлекать основную группу) не буду, но может в переписках что-то для себя открою или может в какой-то момент буду полезен вам. Ну и чтобы понимали кого пускать или не пускать собираетесь: писал в продакшен на erlang/mumps/js/golang/kotlin, + по фану пару пет проектов на clojure