Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 2127 сообщений
Cообщения с меткой

функциональное программирование - Самое интересное в блогах

«  Предыдущие 30 Следующие 30  »
rss_habr

Программирование — это про общение

Вторник, 23 Августа 2022 г. 21:35 (ссылка)

Когда выгорание по внутренним (и внешним) причинам достигает максимума, когда тошнит от одного воспоминания о том как выглядит IDE, когда мнится что в седло большой разработки больше не вернутся никогда, но, при всём при этом, вносить свой вклад в развитие индустрии хочется - остаётся одно.

Сменить угол обзора.

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

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

Давайте поговорим об этом

https://habr.com/ru/post/684282/?utm_source=habrahabr&utm_medium=rss&utm_campaign=684282

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Нормальные алгоритмы Маркова как основание языка программирования

Вторник, 23 Августа 2022 г. 11:49 (ссылка)

В этой статье хотелось бы поделиться мыслями о применении Нормальных Алгоритмов Маркова (далее по тексту: НАМ) в качестве основания для языка программирования.

Заранее скажу, что представленный концепт ЯП не претендует на решение каких-либо «мировых» проблем программирования, не представляет собой замену существующим инструментам, это результат моих скромных исследований в области проектирования ЯП.

Читать далее

https://habr.com/ru/post/682972/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682972

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Нормальные алгоритмы Маркова как основание языка программирования

Вторник, 23 Августа 2022 г. 11:49 (ссылка)

В этой статье хотелось бы поделиться мыслями о применении Нормальных Алгоритмов Маркова (далее по тексту: НАМ) в качестве основания для языка программирования.

Заранее скажу, что представленный концепт ЯП не претендует на решение каких-либо «мировых» проблем программирования, не представляет собой замену существующим инструментам, это результат моих скромных исследований в области проектирования ЯП.

Читать далее

https://habr.com/ru/post/682972/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682972

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Discriminated Unions в C#

Вторник, 23 Августа 2022 г. 10:48 (ссылка)

Всем привет. Среди многих интересных концепций, имеющихся в F#, меня привлекли Discriminated Unions. Я задался вопросом, как их реализовать в C#, ведь в нем отсутствует поддержка (синтаксическая) типов объединений, и я решил найти способ их имитации.

Discriminated Unions - тип данных, представляющий собой размеченные объединения, каждый из которых может состоять из собственных типов данных (также именованных).

Идея в том, что мы имеем ограниченное количество вариантов выбора, и каждый вариант может состоять из своего набора данных, никак не связанных с другими, но все варинанты объединены общим подтипом.

Для создания своих Discriminated Unions будем использовать эту мысль

Читать далее

https://habr.com/ru/post/684104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=684104

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Discriminated Unions в C#

Вторник, 23 Августа 2022 г. 10:48 (ссылка)

Всем привет. Среди многих интересных концепций, имеющихся в F#, меня привлекли Discriminated Unions. Я задался вопросом, как их реализовать в C#, ведь в нем отсутствует поддержка (синтаксическая) типов объединений, и я решил найти способ их имитации.

Discriminated Unions - тип данных, представляющий собой размеченные объединения, каждый из которых может состоять из собственных типов данных (также именованных).

Идея в том, что мы имеем ограниченное количество вариантов выбора, и каждый вариант может состоять из своего набора данных, никак не связанных с другими, но все варинанты объединены общим подтипом.

Для создания своих Discriminated Unions будем использовать эту мысль

Читать далее

https://habr.com/ru/post/684104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=684104

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Грокаем монады

Суббота, 13 Августа 2022 г. 15:29 (ссылка)

Прим. переводчика: Это перевод первой статьи из целого цикла постов "Грокаем функциональное программирование" Мэта Тронтона. Да, это очередная статья про монады. Но она отличается от всего, что я читал по этой теме ранее. Поэтому мне захотелось перевести ее, чтобы самому внимательно вчитаться, чтобы поделиться с теми, кому трудно воспринимать такой материал на английском или кому она не попалась на глаза, чтобы, в конце концов, просто сохранить, так как сеть штука ненадежная.

Самый распространенный способ объяснить монаду - зайти через теорию категорий. Знать, что монада - это моноид в категории эндофункторов и увлекательно и полезно для общего развития, но слабо помогает в практическом смысле. Второй, равный по популярности прием - прибегнуть к помощи образов, и вот мы уже складываем значения в коробочки и достаем их оттуда (или, вообще кошмар, катимся по железной дороге). Не спорю, образы - хороший способ посмотреть на явление, но тут мы равно удалились и от теории категорий и от практики. Комментарии под такого рода статьями не перестают полниться вопросами: а что нам это дает, жили же без монады как-то?

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

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


В этом посте мы постараемся разобраться, что такое Монада собственноручно переизобретая ее на рабочем примере.

Читать далее

https://habr.com/ru/post/682340/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682340

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Проектируем DataGrid на React так, чтобы сэкономить Boilerplate

Четверг, 15 Июля 2022 г. 03:28 (ссылка)

https://habr.com/ru/post/677070/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677070

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Обработка исключений в Java в функциональном стиле

Среда, 14 Июля 2022 г. 00:49 (ссылка)

В данной статье автор предоставит информацию о собственной библиотеке для обработки исключений (Exception) в функциональном стиле.

Предпосылки

В Java начиная с версии 8 появились новые возможности в виде функциональных интерфейсов и потоков (Stream API). Эти возможности позволяют писать код в новом функциональном стиле без явных циклов, временных переменных, условий ветвления и проч. Я уверен что этот стиль программирования станет со временем основным для большинства Java программистов.

Читать далее

https://habr.com/ru/post/676852/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676852

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Потоковая обработка на go1.18

Пятница, 01 Июля 2022 г. 15:58 (ссылка)

В версии 1.18 языка Go появились генерики, дающие возможность писать обобщенный код, то есть код, не зависящий от конкретного типа данных. Например можно написать код, обрабатывающий потоки данных - применить к ним одну и ту же функцию, отфильтровать, просуммировать и т.д., не завязываясь на конкретные типы данных. Так как я вижу потенциал в парадигме поточной обработки с помощью итераторов/стримов и теперь есть возможность реализовать ее в Go, я решил сделать это.

Читать далее

https://habr.com/ru/post/674596/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674596

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Применение обобщённой свёртки для обработки синтаксических деревьев

Суббота, 28 Мая 2022 г. 20:06 (ссылка)

Привет, Хабр! В статье я покажу, как представить синтаксические деревья с помощью фиксированной точки для функторов. Такое представление позволяет снабжать каждый лист дерева дополнительной информацией о самом листе (например позицией выражение в файле с программой), при этом непосредственно перед обработкой листа мы можем убрать из него эту информацию. Таким образом во время обработки в конструкторах синтаксического дерева будут находиться только необходимые данные, что позволяет писать более чистый код для его обработки. К концу статьи мы напишем интерпретатор для простого императивного языка программирования, на примере которого будет показано всё вышеперечисленное

Читать далее

https://habr.com/ru/post/667058/?utm_source=habrahabr&utm_medium=rss&utm_campaign=667058

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Потоковая обработка данных в go

Воскресенье, 23 Мая 2022 г. 00:05 (ссылка)

При использовании языка Go чувствуется нехватка хорошей библиотеки для работы с потоками данных. Имеющиеся библиотеки в основном написаны во времена до дженериков и имеют не очень удобный интерфейс.

С выходом Go 1.18 появилась возможность реализовать библиотеку потоковой обработки данных goio, вдохновлённую превосходными Scala-библиотеками cats-effect и fs2.

Читать далее

https://habr.com/ru/post/667164/?utm_source=habrahabr&utm_medium=rss&utm_campaign=667164

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Что такое мемоизация? Как и когда использовать мемоизацию в JavaScript и React

Среда, 18 Мая 2022 г. 22:58 (ссылка)

В данном переводе рассказывается о том, что такое мемоизация, зачем её использовать. Также представлены основные примеры на JavaScript и React, демонстрирующие работу мемоизации.

Развернуть

https://habr.com/ru/post/666522/?utm_source=habrahabr&utm_medium=rss&utm_campaign=666522

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

С++ без классов?

Четверг, 21 Апреля 2022 г. 23:44 (ссылка)

(на картинке изображён С++ среди других функциональных языков)

Классы - это скорее всего первое, что добавил Страуструп в далёких 1980х, ознаменовав рождение С++. Если представить, что мы археологи древних плюсов, то косвенным подтверждением этого факта для нас будет this, который по прежнему в С++ является указателем, а значит, скорее всего, он был добавлен до "изобретения" ссылок!

Но речь не про это, пора окинуть взглядом пройденный с тех пор путь, изменение и языка и парадигм, естественный отбор лучших практик, внезапные "великие открытия" и понять к чему это всё привело язык, который когда то вполне официально назывался С с классами (ныне мем).

В конце(СПОЙЛЕР) мы попытаемся превратить С++ в функциональный язык за несколько простых действий.

Для начала рассмотрим базовое применение классов:

Начать погружение

https://habr.com/ru/post/662351/?utm_source=habrahabr&utm_medium=rss&utm_campaign=662351

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

С++ без классов?

Четверг, 21 Апреля 2022 г. 23:44 (ссылка)

(на картинке изображён С++ среди других функциональных языков)

Классы - это скорее всего первое, что добавил Страуструп в далёких 1980х, ознаменовав рождение С++. Если представить, что мы археологи древних плюсов, то косвенным подтверждением этого факта для нас будет this, который по прежнему в С++ является указателем, а значит, скорее всего, он был добавлен до "изобретения" ссылок!

Но речь не про это, пора окинуть взглядом пройденный с тех пор путь, изменение и языка и парадигм, естественный отбор лучших практик, внезапные "великие открытия" и понять к чему это всё привело язык, который когда то вполне официально назывался С с классами (ныне мем).

В конце(СПОЙЛЕР) мы попытаемся превратить С++ в функциональный язык за несколько простых действий.

Для начала рассмотрим базовое применение классов:

Начать погружение

https://habr.com/ru/post/662351/?utm_source=habrahabr&utm_medium=rss&utm_campaign=662351

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Агрегаты

Среда, 13 Апреля 2022 г. 04:40 (ссылка)

Я считаю, что именно агрегаты из Domain-Driven Design лежат в основе поддерживаемых информационных систем. Однако эта концепция малоизвестна за пределами DDD-сообщества и довольно сложна для понимания, поэтому я решил написать очередной пост посвящённый агрегатам. В основном для чтобы структурировать собственное понимание агрегатов и создать "методичку" для своих команд, но и широкой общественности, я надеюсь, этот пост тоже может быть полезен.

Что такое агрегат?

https://habr.com/ru/post/660599/?utm_source=habrahabr&utm_medium=rss&utm_campaign=660599

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

«  Предыдущие 30 Следующие 30  »

<функциональное программирование - Самое интересное в блогах

Страницы: 1 [2] 3 4 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda