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

в 11:06, , рубрики: .net, F#, linux, microsoft, Visual Studio, vs, Блог компании Microsoft, Настройка Linux, Программирование

А у вас никогда не возникало ощущения, что "вот это" уже надоело? Что хочется чего-то нового? "Вот этим" может быть что угодно: игра, работа, машина. Что-то любое, что повторяется изо дня в день. А в программировании? Под катом вы найдете историю об усталости от C# и выборе более интересного подхода.

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

Передаю слово автору.

В последнее время я немного устал от 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

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

Для полноты можно поставить Nuget manager совместимый с .Net Core

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

Поставим расширение для отладки (Да, все правильно, написано C#)

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

После этого клоним вот этот реп, и далее по инструкции делаем: 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# на Linux как лекарство для души - 5

запустится долгожданный F# Interactive.

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

Его также можно использовать для более полезных целей:

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

Далее посмотрим сборку и отладку.

  • Для настройки директивы сборки нажимаем Ctrl+Shift+B и выбираем .Net Core

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

Автоматически сконфигурированный файл нам менять не нужно.

  • После этого снова нажимаем Ctrl+Shift+B и видим, что сборка происходит успешно:

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

  • После этого F5, выбираем также .Net Core и дальше просто меняем путь до программы

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

  • Все, после этого можно поставить точку останова (F9) на нашей единственной строчке и проверить отладчик:

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

Итак, ваша машина настроена и готова к новым свершениям на замечательном функциональном языке. Приятным бонусом будет то, что ваши наработки можно будет встроить в C# проект (посредством подключения .dll)

Ну мало ли кто не знал)

Об авторе

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

Максимилиан Спиридонов — разработчик C#, студент МАИ, Microsoft Student Partner. В профессиональную разработку на .NET пришёл ещё в школе. Более 2,5 лет работает с реальными проектами на WPF(MVVM)+C#, MySQL, более 5,5 лет разрабатывал на C#. Основная сфера интересов сейчас — это мобильная разработка на Xamarin. Также, по воле случая в сфере интересов оказались С/С++ и Linux.

Предыдущая статья Максимилиана о С/С++ на Linux в Visual Studio Code.

Также приглашаем вас в чат по F# в Telegram.

Автор: sahsAGU

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js