# Глава 24. Что дальше? На протяжении этого курса вы оттачивали навыки функционального программирования в online IDE. Устанавливать Haskell у себя локально не было необходимости. Теперь же вы отправляетесь в свободное плавание, и эта глава подскажет вам дальнейшие шаги. ## Установка Haskell Как вы [помните,](/courses/haskell/chapters/haskell_chapter_0020#block-stack) самый удобный способ работы с Haskell — это [The Haskell Tool Stack.](https://docs.haskellstack.org/en/stable/) Утилита `stack` умеет разворачивать всю необходимую инфраструктуру, компилировать проекты, запускать тесты и бенчмарки, устанавливать зависимости. Установим `stack`. Идём [сюда](https://docs.haskellstack.org/en/stable/install_and_upgrade/) и забираем нужную нам версию. Общий Unix-вариант установки предельно прост: ```shell curl -sSL https://get.haskellstack.org/ | sh ``` Готово. После установки нам будет доступна команда `stack`, и она — наше всё. Вместо установки на целевую машину вы можете воспользоваться [официальным docker-образом](https://hub.docker.com/_/haskell/) с Docker Hub: ```shell docker pull haskell ``` ## IDE У языка Haskell нет своей специализированной IDE. Зато есть [HLS](https://haskell-language-server.readthedocs.io/en/stable/index.html) (Haskell Language Server) — [опенсорсный](https://github.com/haskell/haskell-language-server) написанный на самом Haskell проект, реализующий [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) (LSP). LSP — это протокол взаимодействия между IDE и языковым сервером, предоставляющим такие возможности как автокомплит, переход к определению функции, поиск использований и т.д. На базе HLS и строятся плагины для Haskell под различные IDE и редакторы кода. Например, под [VS Code](https://code.visualstudio.com/) пользуется популярностью [расширение для Haskell.](https://marketplace.visualstudio.com/items?itemName=haskell.haskell) Помимо VS Code разработчики на Haskell используют такие редакторы как [Vim,](https://www.vim.org/) [Emacs,](https://www.gnu.org/software/emacs/) [Sublime Text.](https://www.sublimetext.com/) ## Что почитать, посмотреть, послушать Типичное становление хаскелиста заключается в прочтении двух книг: - «Learn You a Haskell for Great Good!», автор Miran Lipovača. - «Real World Haskell», авторы: Bryan O'Sullivan, Don Stewart, John Goerzen. А также любителям подкастов и видео с конференций горячо рекомендуются: - Выпуск подкаста Подлодка [«Функциональное программирование».](https://podlodka.io/44) Гость выпуска — Денис Шевченко, книга которого и была превращена в этот курс. - Доклад [«Не морочьте мне голову со своим функциональным программированием»](https://www.youtube.com/watch?v=mmvHC3UgYmg) от Виталия Брагилевского на Apps Conf Moscow. ## The End? Этот курс был составлен по замечательной книге Дениса Шевченко «О Haskell по-человечески». Команда проекта Senior Junior добавила в курс задачи, кое-где обновила и расширила теорию. Уважаемое комьюнити хаскелистов провело ревью наших правок, за что мы крайне признательны. К сожалению, работа над книгой Дениса заморожена. В ней отсутствуют главы о пригоршне культовых концепций языка. Тех самых, о которых все слышали, но мало кто объяснит, что они значат. Классы типов, полугруппы, моноиды, монады, функторы... О, именно эти страшные слова способствовали сгущению вокруг Haskell мистического ореола. Но будем честны: за каждым из них стоит приземленная и практичная вещь. И не нужно быть архимагистром секретного ордена, чтобы вкусить ее полезность. Более того. Разработчики по всему миру, включая джунов, вовсю применяют эти штуки в повседневной работе. Правда, сами того не подозревая. Да-да, многие фичи Haskell надежно обосновались в Kotlin, Swift, JavaScript, Python и остальных мейнстримовых языках. Про Rust вообще установлено, что у него мама C++, а папа Haskell. Haskell для мейнстрима — что-то вроде испытательной лаборатории, в которую можно зайти, осмотреться, забрать со стенда «нуль-пупсикометр», а дома его приспособить для нарезки бутербродов с сыром. И если в стенах лаборатории навороченный девайс зовется «нуль-пупсикометром», то дома это всего лишь «та штука для бутеров». И чтобы ее использовать, белый халат вовсе не требуется. Относително же этого курса предлагаем на выбор один из двух вариантов: 1. Попросить нас дописать курс. Если мы наберем достаточно заявок, то продолжим главы. 2. Завершить курс и отправиться в свободное плавание. Спасибо, что были с нами на протяжении всех 24-х глав!
Отправка...
Наша группа в telegram. Здесь можно задавать вопросы и общаться.
Задонатить. Если вам нравится курс, вы можете поддержать развитие площадки!