А у вас никогда не возникало ощущения, что «вот это» уже надоело? Что хочется чего-то нового? «Вот этим» может быть что угодно: игра, работа, машина. Что-то любое, что повторяется изо дня в день. А в программировании? Под катом вы найдете историю об усталости от 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#).
После этого клоним вот этот реп, и далее по инструкции делаем:
dotnet restore && code .
Теперь перезагружаем VS Code
и ждем пока расширение "отладчика" докачает свои пакеты и нормально развернется.
На самом деле, сейчас уже почти все готово, осталось только протестировать.
- Создаем где-нибудь папку, запускаем там консоль. Далее выполняем:
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.
Предыдущая статья Максимилиана о С/С++ на Linux в Visual Studio Code.
Также приглашаем вас в чат по F# в Telegram.