Pull to refresh
0
Microsoft
Microsoft — мировой лидер в области ПО и ИТ-услуг

F# на Linux как лекарство для души

Reading time 3 min
Views 19K

А у вас никогда не возникало ощущения, что «вот это» уже надоело? Что хочется чего-то нового? «Вот этим» может быть что угодно: игра, работа, машина. Что-то любое, что повторяется изо дня в день. А в программировании? Под катом вы найдете историю об усталости от 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.

Tags:
Hubs:
+20
Comments 39
Comments Comments 39

Articles

Information

Website
www.microsoft.com
Registered
Founded
Employees
Unknown
Location
США