F# на Linux как лекарство для души
А у вас никогда не возникало ощущения, что «вот это» уже надоело? Что хочется чего-то нового? «Вот этим» может быть что угодно: игра, работа, машина. Что-то любое, что повторяется изо дня в день. А в программировании? Под катом вы найдете историю об усталости от C# и выборе более интересного подхода.
Передаю слово автору.
В последнее время я немного устал от C#, бесконечные строчки однотипного кода перестают со временем греть душу. В такие моменты иногда хочется заняться чем-то для души. В моем случае это Linux и F#.
По большей части для меня важно, чтобы я вышел из зоны комфорта. В общем-то я так и сделал, сменил систему и язык.
Организуя свой отдых, я столкнулся с тем, что немного непонятно с чего начать. Давайте же немного разберемся как дело обстоит с F# на Linux.
Основное:
- Нужен легковесный редактор с поддержкой синтаксиса
- Нужна поддержка F# Interactive
- Нужна среда .NET
- Нужен отладчик (впрочем, как и всегда)
Искушенные хаброжители уже смекнули, что »легковесный редактор» + Microsoft = Visual Studio Code. Надеюсь, она у вас уже стоит :)
Итак, с выбором редактора разобрались, теперь со всем остальным по порядку:
- Вам необходимо поставить пакет mono и fsharp, для большинства Linux систем инструкцию вы найдете здесь. Хоть в инструкции нет Arch Linux (и основанных на нем дистрибутивов), в стандартном репозитории pacman’a эти пакеты, впрочем, присутствуют, да и в инструкции показано как собрать из исходников, так что проблем возникнуть не должно.
В принципе, чтобы что-то уже запустить хватит и этого, но тогда статья быстро бы закончилась.
- Также поставим .NET Core 2.0.0 (Runtime + SDK), опять же для большинства систем, вы найдете инструкцию здесь. Для Arch Linux проше всего будет поставить пакеты dotnet и dotnet-sdk-2.0 из AUR. Если что, то вот github После этого, перейдем непосредственно уже к подготовке VS Code к нашей работе.
Поставим расширения для поддержки синтаксиса F#, сборки и управлением пакетами Nuget
Для полноты можно поставить Nuget manager совместимый с .Net Core
Поставим расширение для отладки (Да, все правильно, написано C#)
После этого клоним вот этот реп, и далее по инструкции делаем: bash dotnet restore && code
. Теперь перезагружаем VS Code
и ждем пока расширение «отладчика» докачает свои пакеты и нормально развернется.
На самом деле сейчас уже почти все готово, осталось только протестировать
- Создаем где-нибудь папку, запускаем там консоль. Далее выполняем: bash dotnet new console lang F# dotnet run. Получаем заветные Hello World from F#!
- Открываем VS Code в этой папке code .
- Идем в Program.fs и выделяем кусочек кода и жмем Alt+Enter:
запустится долгожданный F# Interactive.
Его также можно использовать для более полезных целей:
Далее посмотрим сборку и отладку.
- Для настройки директивы сборки нажимаем Ctrl+Shift+B и выбираем .Net Core
Автоматически сконфигурированный файл нам менять не нужно.
- После этого снова нажимаем
Ctrl+Shift+B
и видим, что сборка происходит успешно:
- После этого F5, выбираем также .Net Core и дальше просто меняем путь до программы
- Все, после этого можно поставить точку останова (F9) на нашей единственной строчке и проверить отладчик:
Итак, ваша машина настроена и готова к новым свершениям на замечательном функциональном языке. Приятным бонусом будет то, что ваши наработки можно будет встроить в C# проект (посредством подключения .dll)
Ну мало ли кто не знал)
Об авторе
Максимилиан Спиридонов — разработчик C#, студент МАИ, Microsoft Student Partner. В профессиональную разработку на .NET пришёл ещё в школе. Более 2,5 лет работает с реальными проектами на WPF (MVVM)+C#, MySQL, более 5,5 лет разрабатывал на C#. Основная сфера интересов сейчас — это мобильная разработка на Xamarin. Также, по воле случая в сфере интересов оказались С/С++ и Linux.