благодарна за помощь, совсем пока не понимаю ничего)
Подскажите, пожалуйста, где можно начать первые шаги.
Я нашла курс, там предлагается делать упражнения на gitpod, но не получается подтвердить аккаунт, так как не приходит смс. Нашла вариант с установкой ghcup на mac. Возможно, есть какой-то более простой вариант для начала? Или лучше сразу установить?
лучше с установки ghcup начать
почему решили начать с Haskell? просто интересно
Есть книга. Изучение хаскеля с первых принципов. На английском. Мне, как новичку, удачно зашла. Она большая, но книга пытается постепенно доносить идеи, учить. А не просто набросать материал. Даёт первые упражнения, которые не ставят в тупик, но и думать заставляют. После этой книги, когда уже понимаешь идеи книги, Москвин уже норм заходит. Москвин для тех, кто уже знает хаскель, но хочет его укрепить.
Исправляюсь. В свободном доступе найти надо постараться. Но вот как выглядит обложка . https://books.google.nl/books/about/Haskell_Programming_from_First_Principle.html?id=5FaXDAEACAAJ&redir_esc=y
Вот она в какой-то из почти окончательных редакций, она есть на либгене
А еще вопрос из любопытства. А вы сколько рассчитывается учиться? Сколько часов в день, дней в неделю и на протяжении какого времени?
2-4 часа в день В идеале 4 дня в неделю По срокам не очень представляю, но не тороплюсь, так как попутно удаленно работаю.
У вас это первый язык программирования? Есть какой-то ранее технический бекграунд? И почему хаскель? Не джава, не JS, а именно хаскель. Очень интересный выбор
Я почему интересуюсь. Сам учу хаскель. И уже зная JS, мне весьма нелегко дается новый язык. И понимание \ изучение занимает громадное количество времени.
Да, первый, в целом Немного на питоне пробовала, но совсем немного. Он не очень популярный, сложный, но перспективный. Это основное в выборе:) Технического ничего нет. Я нейропсихолог по образованию 😀 Знакома только со статистикой и программами по типу SPSS и курсом Карпова, но не знаю, насколько пригодится)
У меня сложилось впечатление по мнениям людей из айти, что без опыта может быть даже проще, так как не надо именно переучиваться. Возможно, я не права, конечно же, но так показалось.
Может вы и правы. На всякий случай тогда приведу свою статистику. Учу хаскель в несколько заходов. -> 3 месяца, -> потом полгода, ->сейчас 3 заход идет больше полугода. И... вот в той книге осилил пока половину, около 500-600 страниц. Я к тому, чтобы вы рассчитывали не на недели изучения, не на пару месяцев, а вложиться временем надо основательно. Я бы сказал, не менее года. Это тяжело. И вот возникает вопрос. Выдержите ли \ сможете ли вы? Как считаете?
о да, синдром второго языка. следующий язык пойдёт легче
Да, я примерно от года в голове прикидывала. Смогу ли в плане выдержки: думаю, да, так как в меде жестко научили 24/7 страдать + личностно я люблю ковыряться в чем-то, а как нейропсихолог хорошо умею быстро запоминать информацию, обрабатывать ее и идти дальше. В плане мотивации: это глобальный вопрос, на который ответа не знаю, так как не имею необходимости срочно менять работу и т.д. Допускаю, что если задержусь, то тоже буду волнами, но мне кажется, это супер ок, так как в линейном ритме можно только прогнозировать, а на практике в жизни все динамично. Отношусь к этому, как эксперименту и зарядке для ума, так как деятельность совершенно новая. Как минимум подольше мозг от деменции подальше подержу 😀
я тоже учился Haskell в три волны, но у меня наступало в промежутках сильное разочарование в языке, потому что не у кого было спросить. а потом оказалось, что можно тут
Если хотите, можем созвониться (предпочительно дискорд). Я покажу свой процесс обучения. Детали расскажу. Что да как. МОжет полезно будет. Может еще у кого-то посмотрите - и составите уже свой личный план
Спасибо за предложение, было бы здорово через некоторое время, пока хочу сориентироваться, понять, что будет вызывать трудности, вопросы, как раз, появятся в процессе 🙏
Мне кажется, это, прошу прощения, амбивалентно. В параллельном знании как много того, что сбивает, так и наличествует то, что помогает понять. Та же математика при изучении Haskell - вроде как мешает (требованием полной корректности определений, например - а также тем, что то же самое там про другое), а иногда порой вдруг раз, и не мешает. Человек с бэкграундом в плюсах обычно хорошо знает, как компуктор внизу устроен, это тоже важно, или, например, стандартные алгоритмы там учат строить вычисления в жанре FP-конвейера. Про современный JS я очень мало знаю, к сожалению, от старинного у меня впечатление двоякое - прототипы это интересно, а многое сделанное второпях (динамическое приведение типов под сукном, когда строки автоматически превращаются в числах, как пример) - ужасно.
https://youtu.be/W6-CV_9i8Uw?si=OLlWTVTc6VexWxcy
Могу кстати описать некоторые моменты , которые помогли на текущий момент, а которые наоборот - сделали сложно. Статическая сборка и компиляция. Это абсолютно другой процесс после динамической интерпретации джс. Мне это даётся сложно. Хорошо, что в этом вопросе мне немного помогают. А то просто утонул бы среди следующих определений : пакет, библиотека, модуль... И как это собирается. Идентификатор, работа с указателями - мимо меня прошли при изучении джс. Но зная эти моменты, хаскель изучался бы чуть легче. Композиция. Фвп. Тут повезло. В джс много где на эту тему напирают. Поэтому в хаскеле это мне помогло. Джс мало оперирует ... даже не то что формальной логикой, а скажем так мета-программированием. В нем уровень абстракции по сравнению с хаскелем не так высок. Стоило определенных усилий понять, что код хаскеля до вычисления на машине рассматривается как формула подстановок для предвычисления / редукции. Типизация. В джс ее нет. А тайпскрипт плохо описан для введения в эту тяжёлую тему. И тем более там типизация структурная. Скажем так, тут вышло наоборот. Познакомившись с типизацией хаскеля, стало легче уже в тайпскрипте. Ооп классическое пригодилось, не обьектно-прототипное. Понятие интерфейса, как договора, хорошо выручило для понимания тийпклассов и их инстансов. Так что да, что-то мешает, что-то помогает. Когда-то пойму монады философски. И станет ещё легче)
А, да, у вас там же, действительно, есть ещё фреймворки и даже языки. Например, Elm (не говоря о PureScript)
Нет. Как то пытался давным давно. Но не пошло почему то. Сейчас уже времени не найду. Надо много чего другого читать.
Есть вариант с жс
Надо содержание посмотреть, о чем там хоть. И стоит ли вместо продолжения изучения хаскеля отвлечься на эту книгу.
SICP на мой взгляд хорошая и полезная для любого языка, хотя ее, наверное, лучше читать в scheme-варианте, можно пробовать "переводить" ее примеры на haskell, там в начале про функциональную декомпозицию хорошо, про бесконечные структуры данных, про недетерминированное программирование и немного про продолжения (хотя call/cc вроде не используется). Задачи хорошие. Но это мое мнение, у знатоков Haskell может быть другое
Обсуждают сегодня