Почему разработчикам следует изучать F #
В преддверии F # eXchange в Лондоне в этом году мы попросили нескольких наших экспертов погрузиться в их роман с языком.
Деннис Гримминк
Деннис имеет докторскую степень в области физической химии, в основном связанной с молекулярной физикой, в Университете Радбауд в Неймегене. Он потратил 4 года на разработку физических моделей в ASML Research и в настоящее время является разработчиком программного обеспечения в компании «Петербургские консультанты»
Зачем людям изучать F #?
Краткий характер F # Sharp приводит, каким-то образом естественным образом, к сжатому и удобному для сопровождения коду. Написанный мной код, который так не выглядит, снова и снова говорит мне, что я не полностью понял суть проблемы кодирования. Код документирует себя посредством: системы алгебраических типов, сопоставления с образцом, активных образцов и, конечно же, парадигмы функционального приоритета (осведомленность о побочных эффектах), которая оптимально использует помощь компилятора!
Отсутствие красных волнистых линий означает, что код работает правильно 9 раз из 10. В дополнение к тому, что предлагает дизайн языка, очевидно, что экосистема .NET (взаимодействие с ней) и отличные инструменты редактора (в частности, Ionide) делают работу приятной и продуктивной.
Что вам нравится в F #?
- Я определенно люблю сообщество. Он очень разнообразен по происхождению и очень активно отвечает на вопросы и предложения. Основной доклад Альфонсо Гарсиа-Каро на FSharpX’18 был прекрасной данью уважения и описанием сообщества! Вдобавок мне нравится, что F # идет рука об руку с открытием Microsoft миру разработки программного обеспечения с открытым исходным кодом.
- Дизайн, как уже упоминалось в моем первом ответе. Но также и такие функции, как поставщики типов. Мне очень понравилось, что поставщики типов позволяют мне кодировать с данными вместо, скажем, против.
Для чего нужен F #?
- Моделирование предметной области: получение естественного описания вашей предметной области с помощью системы типов, которая позволяет вам напрямую говорить о коде с экспертами предметной области. Кроме того, здесь очень сильна идея сделать незаконные государства непредставимыми.
- Работа с данными с поставщиками типов. Это просто быстро и точно.
Каковы ваши настройки разработки?
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, подпишитесь на нашу рассылку здесь