Почему разработчикам следует изучать F #

В преддверии F # eXchange в Лондоне в этом году мы попросили нескольких наших экспертов погрузиться в их роман с языком.

Деннис Гримминк

Деннис имеет докторскую степень в области физической химии, в основном связанной с молекулярной физикой, в Университете Радбауд в Неймегене. Он потратил 4 года на разработку физических моделей в ASML Research и в настоящее время является разработчиком программного обеспечения в компании «Петербургские консультанты»

Зачем людям изучать F #?

Краткий характер F # Sharp приводит, каким-то образом естественным образом, к сжатому и удобному для сопровождения коду. Написанный мной код, который так не выглядит, снова и снова говорит мне, что я не полностью понял суть проблемы кодирования. Код документирует себя посредством: системы алгебраических типов, сопоставления с образцом, активных образцов и, конечно же, парадигмы функционального приоритета (осведомленность о побочных эффектах), которая оптимально использует помощь компилятора!

Отсутствие красных волнистых линий означает, что код работает правильно 9 раз из 10. В дополнение к тому, что предлагает дизайн языка, очевидно, что экосистема .NET (взаимодействие с ней) и отличные инструменты редактора (в частности, Ionide) делают работу приятной и продуктивной.

Что вам нравится в F #?

  1. Я определенно люблю сообщество. Он очень разнообразен по происхождению и очень активно отвечает на вопросы и предложения. Основной доклад Альфонсо Гарсиа-Каро на FSharpX’18 был прекрасной данью уважения и описанием сообщества! Вдобавок мне нравится, что F # идет рука об руку с открытием Microsoft миру разработки программного обеспечения с открытым исходным кодом.
  2. Дизайн, как уже упоминалось в моем первом ответе. Но также и такие функции, как поставщики типов. Мне очень понравилось, что поставщики типов позволяют мне кодировать с данными вместо, скажем, против.

Для чего нужен F #?

  1. Моделирование предметной области: получение естественного описания вашей предметной области с помощью системы типов, которая позволяет вам напрямую говорить о коде с экспертами предметной области. Кроме того, здесь очень сильна идея сделать незаконные государства непредставимыми.
  2. Работа с данными с поставщиками типов. Это просто быстро и точно.

Каковы ваши настройки разработки?

VScode, плагины Ionide, пакет, F # 4.5, FsLab, DotSpatial

Роман Провазник

Роман Провазник (Roman Provazník) - разработчик .NET, архитектор программного обеспечения и основатель чешского сообщества F # и функциональных .NET под названием FSharping. Он занимается разработкой приложений более 18 лет с использованием таких языков, как Pascal, Delphi, PHP, C # и F #.

Зачем людям изучать F #?

Если вы разработчик .NET, переход на F # - логичный шаг. Вы можете перенести все свои драгоценные знания о .NET, BCL и экосистеме Microsoft на новый уровень. Возможность комбинировать функциональную парадигму и парадигму ООП, неизменность и встроенные алгебраические типы данных - все это при поддержке надежной и производительной платформы .NET - дает вам выдающийся прирост производительности.

Как разработчику C #, иногда вам нужно отойти от идеального решения, чтобы оно оставалось простым. В F # это не обязательно. Вы можете начать с того, что уже знаете о C #, и постепенно избавляться от ненужных сложностей. В конце концов, у вас есть то же решение, что и на C #, но короче и, вероятно, намного безопаснее.

Между прочим, я не видел NullReferenceException несколько месяцев ... оно все еще существует?

Что вам нравится в F #?

С чего мне начать? Мне нравятся функции первоклассного гражданина, разграниченные союзы, синтаксис машинного обучения, неизменяемость ... В F # так много всего, что можно полюбить, но если бы мне пришлось выбрать что-то одно, это была бы строгость. F # не дает вам пойти по «грязному пути» - иногда с предупреждениями, иногда вы даже не компилируете свой код, если пишете его небезопасным образом. Способ, которым компилятор F # убеждает вас выбрать лучший подход, вызывает привыкание. Если вы обнаружите, что боретесь с компилятором, вы знаете, что ваше мнение, вероятно (около 99,999%) ошибочно.

В конце концов, кто я такой, чтобы спорить с изобретением Дона Сайма?

Для чего нужен F #?

В нашей команде, имея F # как язык, мы уже пытались решить множество проблем. Служба сбора данных работает в Docker? Без проблем! REST API с использованием Giraffe и ASP.NET? Конечно! Система поиска событий работает в Azure? Держи мой F #. Индивидуальный DSL решает проблему удовлетворения ограничений для производства дверей? Почему нет! А как насчет бурных вод фронтенд-разработки? Благодаря отличным библиотекам, таким как Fable & Elmish, теперь мы можем выполнять доставку полного стека и делиться кодом через границы внешнего и внутреннего интерфейса.

Список проблем, решаемых с помощью F #, с каждым годом увеличивается, и теперь я не могу думать о чем-то из разработки корпоративного программного обеспечения, которое не может быть решено с помощью F #. В конце концов, это .NET, верно?

Каковы ваши настройки разработки?

Я все еще работаю с Windows, поэтому Windows 10. Я использую VS 2018 и VS Code с Ionide. И выпейте тонну кофе (без молока и без сахара).

Музыка: подобрать настроение с: | Великолепное общественное вещание | так себе настроение - спектакль Prago Union | Плохо - сыграйте в The Cure.

Томаш Хеймовски

Томаш - увлеченный разработчик, его основные интересы - F # и функциональное программирование в целом.

Зачем людям изучать F #?

F # - фантастический язык, который позволяет многое делать, не требуя написания кода - эффективность для победы! Функциональному программированию в настоящее время уделяется все больше и больше внимания, поэтому стоит открывать для себя языки, созданные с учетом этой парадигмы.

Что вам нравится в F #?

Мне нравится простота F #, безопасность типов и его синтаксис. В нем действительно отличный баланс между продвинутостью и практичностью.

Для чего нужен F #?

Честно говоря, я лично еще не встречал ни одного варианта использования, в котором я бы не рассматривал возможность использования F #.

Каковы ваши настройки разработки?

В настоящее время я использую MacBook Pro и Visual Studio Code с отличным плагином Ionide для поддержки F #. Я пью кофе во время утренних сеансов программирования.

Мне нравится акустическая / электронная музыка, которая не отвлекает мое внимание. Я считаю, что некоторые основные миксы BBC Radio 1 являются хорошей фоновой музыкой.

Первоначально опубликовано на skillsmatter.com. 👍 Чтобы получать новости и статьи из Skills Matter, подпишитесь на нашу рассылку здесь