# Глава 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. Здесь можно задавать вопросы и общаться.
Задонатить. Если вам нравится курс, вы можете поддержать развитие площадки!