15

Занятия с напарниками по Haskell (2)

Здравствуйте. Продолжаю описывать интересные моменты из наших занятий в группе по Haskell ( Предыдущий пост ). 


Прошла еще неделя. Мы стабильно выдерживаем 1ч 20мин за занятие в день. Иногда чуть подольше.

Книжка тупиков пока нам не ставит. Но после первой главы восторженное впечатление от книги подупало. Это связано скорее всего с 2 вещами. Первое, это неравномерность подачи материала в плане трудности. То есть пошли места, где все очень легко. Ты расслабляешься, читаешь в быстром темпе страницу, другую, а потом  раз - и буксуешь абзац за абзацем.


Второе - о, это особенный момент, который встречается много в каких обучающих материалах!

Этот неприятный момент -  прыжки в будущее. Можно читать, разбирать базовые операции со строками, но уже в примерах используются модули и\или монада IO. Причем автор книги уверяет читателя в том, что вы узнаете и поймете эти моменты потом. Сейчас же просто скопируйте пример кода и запустите. Сместите фокус на то, что делает функция putStrLn, а на тип не смотрите. Потом узнаете зачем в типе у этой функции написано IO.


Знаете, вот когда постигал основы JS в свое время, часто натыкался на подобное. Вот внешняя функция  возвращает внутреннюю функцию, а переменные внешней будут жить и использоваться внутренней благодаря замыканию. Да вы это обязательно поймете. Будете писать код, примеры, упражнения, и все встанет на свои места. А пока изучим следующую тему.


Теряется последовательность изложения материала. А это сбивает. И если мозг можно усмирить - реально сместить фокус на важное, то на эмоциональном уровне остаются мелкие "зазубрины". Эх, вот бы еще и то знать. А как вон ту штуку использовать, про которую рассказали? Блин, ну интересно же было бы понять. А прыгать вперед еще хуже. Это и с мысли собьет. И все равно это будет непонятно.


В общем, как всегда, не бывает ничего идеального. Мы даже уже даже начали смеяться с подобных моментов в книге. Шутили, типа ну вот, раз уже здесь про монады начали упоминать, значит на следующей неделе книжку закончим.


В начале занятий иногда проводим опросы, вдруг кто что подзабыл. Был случай: дали напарнику пример из книги на подстановки из лямбда-исчисления, применение термов. И пример был решен. Вроде даже хорошо. Только забыли про альфа-эквивалентность. И следовательно, ответ был не верен. Ничего страшного. Другой пример уже был сделан как надо.


Начали делать первые практические упражнения. Тут наши предпочтения разошлись. Моя личная цель - это изучения языка, а не его экосистемы. Поэтому я просто открываю вкладку с онлайн компилятором Haskell и тут же решаю задачи. Ребята же захотели установить среду разработки себе на компьютер локально. GhcUP или как-то так. Там еще stack, cabal. Брр, мне пока лень в этом разбираться. Наверное, напарники поступают лучше. Может, в будущем они меня мотивируют поступить так же.

Ну и поделюсь еще одним интересным случаем. Разбирали мы простейшие математические операторы в Haskell. Умножение, сложение, вычитание. И div, mod, quot, rem. Какой остаток будет от деления 20 на 6? Два - бодро отвечает вся группа. А каков будет остаток от деления 20 на -6? И все, мы поплыли. Думали, сейчас в гугле посмотрим, за 5 минут разберемся. 3 парням, которым за 30, и не справиться с таким простейшим вопросом? Ага. Не справились, ни за 5 минут, ни за оставшиеся полчаса того занятия. Справились за выходные к следующему уроку. И то, на троих. Первый разобрался, что такое делимое, делитель, неполное частное, остаток от деления. Второй указал на момент, что бывает округление в минус бесконечность и к нулю. Третий собрал эти факты в кучу, и наконец-то - вы можете нас поздравить с пониманием куска школьной программы.


Посмотрим, что будет дальше. Будут новые главы книги, будут новые вызовы. Справимся? =) 

Лига программистов

2.3K постов12K подписчика

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества