Рубрика «F#» - 6

Зачем изучать непопулярные языки. Пример сообщества F# - 1

Бывают культовые фильмы, игры, книги или музыка — их страшно любит сплоченное сообщество, профессионалы и критики. Но коммерческого успеха и широкой популярности нет. Мне в таких ситуациях обычно до боли обидно.

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

Я попытался узнать, в чем причина. И вообще — кто те люди, которые на нем пишут, и зачем они это делают, если язык не нужен бизнесу? Для этого я постучался поговорить в русскоязычное сообщество F# в «Телеграме». Здесь — наш круглый стол.
Читать полностью »

Здравствуйте, коллеги!

На этой неделе мы отдали в перевод амбициозную по своей сложности книгу "Concurrency in .NET" издательства Manning:

Распараллеливание задач с зависимостями —  пример на .NET - 1

Автор любезно выложил на сайте Medium отрывок из 13-й главы, который мы и предлагаем оценить задолго до премьеры.
Приятного чтения!
Читать полностью »

Друзья, продолжаем разбираться в функциональном программировании. Во второй части из этой серии статей вы познакомитесь с основными принципами этой парадигмы разработки и поймёте, как этот подход отличается от объектно-ориентированного или императивного программирования.

Функциональное мышление. Часть 2 - 1Читать полностью »

В этой серии статей вы познакомитесь с основными принципами функционального программирования и поймёте, что значит «мыслить функционально» и как этот подход отличается от объектно-ориентированного или императивного программирования.

Функциональное мышление. Часть 1 - 1

Читать полностью »

Поэтапная настройка Continuous Integration (build, test, deploy) для .NET Core WebApp + GitHub

Поэтапная настройка Continuous Integration (build, test, deploy) для .NET Core WebApp + GitHub - 1

Всем привет. Continuous Integration (CI) давным-давно проник в мир разработки программного обеспечения и для многих является его неотъемлемой частью, которое позволяет создавать более качественный код сохраняя при этом удобство разработки. И, если поначалу, настройка CI требовала значительных усилий и денег, то сейчас это стало намного доступнее, проще и даже бесплатно. Если вам интересно, как настроить CI для своего .NET Core open-source проекта, прошу под кат.

Disclaimer

В статье будет много ссылок, тривиальных моментов и отступлений, не вините автора за это, никогда не знаешь на чем читающий споткнется.

Несмотря на то, что основным языком демонстрационного проекта выбран F#, руководство полностью совместимо с проектами написанными на C#. F# выбран т.к. эта статья и связанный с ней репозиторий является основой для второй публикации — "Строим полноценное веб приложение на F# + Giraffe с нуля.", которая запланирована на июнь.

Читать полностью »

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

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

В качестве демонстрационного примера возьмем одно из тестовых заданий по WPF, которые дают соискателям на должность Junior-разработчика для проверки их знаний.

Само задание звучит так

Необходимо разработать приложение с использованием данных, представленных в файле Students.xml.

Указанный файл содержит следующие сведения о студентах: фамилия, имя, возраст, пол.

Конечно, есть дополнительные рекомендации и ограничения на реализацию, но не будем копировать их целиком. Основные части будут приведены в тексте при необходимости, а полная версия доступна здесь

Читать полностью »

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

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

Говорят, бесконечно можно смотреть на три вещи: как горит огонь, как течет вода и как работают другие люди. То есть, идеальный объект для наблюдений — прямая трансляция большой конференции.

И кстати, у нас есть для вас одна такая. В это воскресенье и понедельник проходит DotNext 2017 Moscow — крупнейшая в России конференция, посвященная разработке на платформе .NET. Три десятка спикеров выступят с докладами о настоящем и будущем платформы .NET, об оптимизации производительности и многопоточности, о внутреннем устройстве платформы .NET и CLR, о профилировании и отладке .NET-кода, и так далее.

И у вас есть возможность поучаствовать в этом — без необходимости куда-то лететь или ехать через полгорода, на YouTube, бесплатно. Как именно — читайте дальше.

Бесплатная YouTube-трансляция DotNext 2017 Moscow: Перформанс .NET, AI, микросервисы и немного F# - 1

Читать полностью »

Привет!

2 декабря ждем всех, кто любит делать это функционально на третьей конференции FPConf — конференции о Haskell, Scala, Clojure, Elixir, Kotlin, F# и функциональных подходах в программировании фронтендов, бэкендов и чего угодно на чем угодно. Больше монад, лямбд, замыканий! Всем иммутабельность, друзья :)

Традиционно, приглашаем как опытных функциональщиков, так и тех, кто только хочет получить вдохновение и расширить горизонты.
Цена билета сейчас — 5000 рублей. Регистрация тут.

Что в программе:

image Arnaud Spiwack, core-разработчик Coq Proof Assistant, старший архитектор в Tweag I/O
USING HASKELL TO GREAT EFFECT
It is beyond cliché, nowadays, to say that testing is really important. This is even more so in I/O intensive applications because so many things can go wrong. Unfortunately, testing I/O intensive applications is particularly hard. We have to mock all our files, data-bases, and so on. But even so, we're only scratching the surface: so many things can go wrong. How do we test for absence of deadlocks? Of races?
I came to the conclusion that Haskell's insistence on purity made it, paradoxically, one of the best languages to write I/O intensive programs. The reason for this is that Haskell makes it very easy to mock every single aspects of the I/O fabric, hence testing is more powerful. Up to checking for the absence of deadlocks and races. This talk will discuss the programming patterns which emerge from this point of view, and, of course, encourage you do use them in your programs.

Читать полностью »

Представляю вашему вниманию новую статью Mark Seemann. Похоже, с таким количеством переводов он скоро станет топовым хаброавтором, даже не имея здесь аккаунта!

Чем интересна функциональная архитектура? Она имеет тенденцию попадать в так называемую «яму успеха» («Pit of Success»), в условиях которой разработчики оказываются в ситуации, вынуждающей писать хороший код.

Функциональная архитектура — это порты и адаптеры - 1

Обсуждая объектно-ориентированную архитектуру, мы часто сталкиваемся с идеей архитектуры портов и адаптеров, хотя часто называем ее как-либо иначе: многоуровневой, луковой или гексагональной архитектурой. Смысл состоит в том, чтобы отделить бизнес-логику от деталей технической реализации, чтобы мы могли варьировать их независимо друг от друга. Это позволяет нам маневрировать, реагируя на изменения в бизнесе или в технологиях.

Читать полностью »


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