Зачастую, когда говорят о работе в офисных приложениях, подразумевается использование ПК в качестве печатной машинки и, если честно, то это достаточно дорогая замена физическим механизмам, если не пользоваться возможностями который дает нам ПК. Давайте об этом и поговорим.
Читать полностью »
Рубрика «функциональное программирование» - 20
Для тех кто боялся, но все же готов попробовать. (Excel)
2017-12-18 в 11:13, admin, рубрики: Excel, ms office, vba, Алгоритмы, КодоБред, ненормальное программирование, Программирование, программирование для чайников, функциональное программированиеЭликсир для джавистов. Часть первая
2017-12-14 в 7:23, admin, рубрики: Elixir, Elixir/Phoenix, Erlang/OTP, java, wunsh, функциональное программированиеНе так давно я решил изменить образ мышления с помощью изучения нового языка программирования. С самого начала карьеры я работал с Джавой, и сейчас стал ощущать необходимость в совершенно другой парадигме. Так я повстречал невероятный язык под названием Эликсир.
Рубистам хорошо знакомо название этого языка, а также, возможно, имя создателя – Джозе Валима. Однако у пришедших из более многословных языков шансы быть знакомыми с Эликсиром довольно низки.
Так я решил написать несколько постов, чтобы помочь джавистам быстрее понять как устроен Эликсир. С помощью сравнения этих двух языков будет проще постичь новый для вас мир. Через эти посты я расскажу о синтаксисе, о работе языка и о ключевых особенностях, которые делают Эликсир по-настоящему потрясающим!
DevDay на функционале
2017-12-08 в 4:32, admin, рубрики: devday, meetup, scala, Блог компании 2ГИС, конференции, Программирование, функциональное программированиеПланов на декабрь много: и завалы на проекте разгрести, и новогодние праздники распланировать. Если среди всей этой предновогодней беготни захотелось пищи для ума, айда к нам — 15 декабря обсудим функциональное программирование. Мы поделимся секретами написания быстрого бекенда, вместе разрушим десяток мифов о ФП и устроим холивар про будущее ФП/ООП.
Читать полностью »
FPConf 2017. Интервью с Александром Вершиловым
2017-11-24 в 9:43, admin, рубрики: functional programming, haskell, haskell in real world, конференции, Программирование, функциональное программирование Привет!
Продолжаем говорить про Haskell со спикерами FPConf 2017.
Павел Аргентов задал несколько вопросов Senior Software Engeneer в Tweag I/O Александру Вершилову, программисту, который уже 10 лет продвигает Haskell в индустрии.
Читать полностью »
Паттерн Model-Update-View и зависимые типы
2017-11-17 в 12:21, admin, рубрики: c++, dependent type, elm, haskell, idris, Model-Updater-View, scala, зависимые типы, интерфейсы, функциональное программированиеModel-Updater-View — функциональный паттерн, успешно применяемый в языке Elm в основном для разработки пользовательских интерфейсов. Что бы им воспользоваться надо создать тип Model, представляющий полное состояние программы, тип Message, описывающий события внешней среды, на которые программа должна реагировать, меняя свое состояние, функцию updater, которая из старого состояния и сообщения создает новое состояние прораммы и функции view, которая вычисляет по состоянию программы требуемые воздействия на внешнюю среду, которые порождают события типа Message. Паттерн очень удобный, но у него есть маленький недостаток — он не позволяет описать какие собятия имеют смысл для конкретных состояний программы.
Схожая проблема возникает (и решается) и при использовании ОО-паттерна State.
Язык Elm простой, но очень строгий — он проверяет, что функция updater хоть как-то обрабатывает все возможные сочетания модели-состояние и сообщения-события. По этому приходится писать лишний, пусть и тривиальный — как правило оставляющий модель без изменений, код. Я хочу продемонстрировать, как этого можно избежать в более сложных языках — Idris, Scala, C++ и Haskell.
Читать полностью »
FPConf 2017. Интервью с Денисом Шевченко
2017-11-15 в 16:55, admin, рубрики: functional programming, haskell, haskell in real world, конференции, Криптовалюты, Программирование, функциональное программированиеПривет!
Начинаем публиковать разговоры со спикерами FPConf 2017. Павел Аргентов расспросил самого зажигательного евангелиста ФП и Haskell Дениса Шевченко.
В начале разговора — расскажи немного о себе.
Меня зовут Денис Шевченко. Я основатель сообщества ruHaskell. В данный момент тружусь Haskell-разработчиком в компании IOHK. Бывший С++-разработчик, ныне Хаскелист, начинающий ФП-евангелист и автор незаконченной книги “Haskell по-человечески”.
Читать полностью »
Приглашаем на конференцию FPConf 2017
2017-11-03 в 19:32, admin, рубрики: clojure, Elixir, Elixir/Phoenix, erlang, F#, fprog, functional programming, haskell, ocaml, scala, Блог компании «RailsClub», конференции, функциональное программированиеПривет!
2 декабря ждем всех, кто любит делать это функционально на третьей конференции FPConf — конференции о Haskell, Scala, Clojure, Elixir, Kotlin, F# и функциональных подходах в программировании фронтендов, бэкендов и чего угодно на чем угодно. Больше монад, лямбд, замыканий! Всем иммутабельность, друзья :)
Традиционно, приглашаем как опытных функциональщиков, так и тех, кто только хочет получить вдохновение и расширить горизонты.
Цена билета сейчас — 5000 рублей. Регистрация тут.
Что в программе:
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.
Функциональная архитектура — это порты и адаптеры
2017-11-01 в 12:03, admin, рубрики: .net, C#, dotnext, dotnext2017moscow, F#, Блог компании JUG.ru Group, функциональное программированиеПредставляю вашему вниманию новую статью Mark Seemann. Похоже, с таким количеством переводов он скоро станет топовым хаброавтором, даже не имея здесь аккаунта!
Чем интересна функциональная архитектура? Она имеет тенденцию попадать в так называемую «яму успеха» («Pit of Success»), в условиях которой разработчики оказываются в ситуации, вынуждающей писать хороший код.

Обсуждая объектно-ориентированную архитектуру, мы часто сталкиваемся с идеей архитектуры портов и адаптеров, хотя часто называем ее как-либо иначе: многоуровневой, луковой или гексагональной архитектурой. Смысл состоит в том, чтобы отделить бизнес-логику от деталей технической реализации, чтобы мы могли варьировать их независимо друг от друга. Это позволяет нам маневрировать, реагируя на изменения в бизнесе или в технологиях.
Money-моноид
2017-10-31 в 17:04, admin, рубрики: C#, haskell, моноид, функциональное программированиеПеревод статьи Марка Симана «Money monoid».
Mark Seeman рассказывает о функциональном программировании просто и быстро. Для этого он начал писать цикл статей, посвященных связи между паттернами проектирования и теорией категорий. Любой ООПшник, у которого есть 15 минут свободного времени, сможет заполучить в свои руки принципиально новый набор идей и инсайтов, касающихся не только функциональщины, но и правильного объектно-ориентированного дизайна. Решающим фактором является то, что все примеры — это реальный код на C#, F# и Haskell.
Этот хабрапост — вторая статья из цикла статей о моноидах:
- Моноиды, полугруппы и все-все-все
- Money-моноид
- Convex hull monoid
- Tuple monoids
- Function monoids
- Endomorphism monoid
- Monoids accumulate
Прежде чем начать, хотелось бы сделать небольшое отступление относительно названия статьи. В 2003-м году вышла, ставшая уже бестселлером, книга Кента Бека: «Экстремальное программирование: разработка через тестирование», которая в оригинале называется «Test-Driven Development by example». Одним из таких «example» стал «Money example» — пример написания и рефакторинга приложения, которое умеет выполнять мультивалютные операции, например сложение 10 долларов и 10 франков. Название данной статьи является отсылкой к данной книге, и я настоятельно рекомендую ознакомиться с ее первой частью, чтобы лучше понимать, о чем идет речь в статье.
Читать полностью »
DotNext 2017 Moscow: возвращение хардкора
2017-10-31 в 14:08, admin, рубрики: .net, C#, dotnext, dotnext2017moscow, F#, fsharp, Блог компании JUG.ru Group, функциональное программирование12-13 ноября (то есть, всего через пару недель) состоится DotNext 2017 Moscow, крупнейшая в России конференция, посвященная разработке на платформе .NET. Среди наших докладчиков — ведущие отраслевые эксперты из России, Европы и США. Основные темы конференции — внутренности работы платформы (CLR, GC, JIT), лучшие практики по использованию инструментов, профилирование и оптимизация производительности, многопоточное программирование, нововведения платформы, решения сложных кейсов.
Под катом — детальный разбор программы, несколько слов о нововведениях этого года и секретный промокод со скидкой.