fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

8.8K
active users

#functional_programming

0 posts0 participants0 posts today

Преодоление сложности в самом сердце Анемичной Модели

Доброго времени суток, Хабр! Сегодня хотел бы поговорить об анемичной модели — одном из самых дискуссионных топиков (особенно для приверженцев DDD) и о том, как, по моему мнению, правильно её готовить. Для кого-то анемичная модель — это антипаттерн, тогда как для других это единственный правильный способ реализации приложений. Многие использовали её годами и даже не знали, как она называется, и что кем-то она считается антипаттерном. Реальность же такова, что анемичная модель — это инструмент, который может подходить или не подходить в зависимости от ситуации, но при этом является очень популярным и, по факту, «стандартом де-факто» для многих программистов и организаций. Хотя в последние годы я и вижу тенденцию к тому, что DDD и, соответственно, богатая доменная модель становятся всё популярнее, пока что, по моему мнению, им далеко до популярности анемичной модели.

habr.com/ru/articles/917012/

ХабрПреодоление сложности в самом сердце Анемичной МоделиДоброго времени суток, Хабр! Сегодня хотел бы поговорить об анемичной модели — одном из самых дискуссионных топиков (особенно для приверженцев DDD ) и о том, как, по моему мнению, правильно её...

Today I spent a LOT of time solving AoC2024 day2 puzzle.

I solved it in three ways:
1. Javascript, just how I normally write it (somewhat functional programming)
2. A fully FP javascript solution
3. clojure solution

I realized some interesting things:
1. the functional programming js solution was very pretty and clean, and I think js is pretty good at FP. (I'm just learning FP so maybe I'm wrong)

2. the effective LOC of both clojure and js solution were exactly the same, and I think in the cleanliness and readability department they are very similar. But maybe that is because I'm much more used to js

3. The effective LOC of the functional solutions were almost half the LOC of the "normal" solution

Here are the solutions
github.com/alirezaalavi87/adve

GitHubadvent-of-code/2024/day2 at main · alirezaalavi87/advent-of-codemy solutions for solving advent-of-code puzzles. The solutions might be impemented in various languages. - alirezaalavi87/advent-of-code

Как функциональщик в Go ушёл… и не вернулся

Хороших технических статей про Go было написано немало, и эта — не одна из них. Эта статья — графомания о моём субъективном и эмоциональном опыте перехода со Scala на Go. Руководитель : Хочешь техлидить новый проект? Я : Да, конечно. А что за проект? Руководитель : Распределённые бэкенды на Go. Я : Go? Но я же скалист-функциональщик… Чуть позже Коллега : Слышал, что ты будешь техлидить другой проект — вы там тоже Scala завозить будете? Я : Нет, будем писать на Go. Коллега : Ты что, бросаешь Scala и нашу тусовку?! Этот момент мне запомнился очень хорошо. Когда ты долго работаешь с каким-то языком, накапливаешь экспертность, нюансы, грабли, привыкаешь жить в его экосистеме — смена стека кажется чем-то болезненным. Будто ты уезжаешь в другой город и оставляешь старых друзей. Да, конечно же, язык — просто инструмент, а реальная компетенция — в теории, паттернах и опыте решения определённого рода задач, которые копятся за годы работы. Тяжело менять классы задач, но менять инструментарий гораздо легче...

habr.com/ru/companies/2gis/art

ХабрКак функциональщик в Go ушёл… и не вернулсяХороших технических статей про Go было написано немало, и эта — не одна из них. Эта статья — графомания о моём субъективном и эмоциональном опыте перехода со Scala на Go. Руководитель : Хочешь...
#golang#go#scala

Does *anyone* actually like Moscow ML's insistence that structures live in files with identical names (e.g., `structure Foo_Fabricator` MUST live in the file `Foo_Fabricator.sml` and MUST have a signature with identical name `signature Foo_Fabricator` which itself lives in the file `Foo_Fabricator.sig`)?

I always thought it idiomatic Standard ML to use SCREAMING_SNAKE_CASE for signature names, which breaks Moscow ML's conventions (unless you put it in SCREAMING_SNAKE_CASE-sig.sml and compiled it as a toplevel unit...which kinda breaks the whole module-as-compilation-unit idea?).

And Moscow ML *hates* it when you include the signature and a structure within the *same* file, because that violates its hardcoded assumptions about the world.

And another thing...

Разбираем конкурентность в Go: книги, блоги, выступления

Особенность Go — удобный механизм конкурентности. Создавать конкурентные задачи в парадигме языка можно буквально «бесплатно» и предельно просто: достаточно написать ключевое слово go перед вызовом функции — и она начнет выполняться в отдельном потоке. Я Владислав Белогрудов, эксперт по разработке ПО в YADRO. В свое время изучал различные источники и лучшие практики в поиске эффективных способов организации параллельных процессов в Go. Делюсь ими с вами. Пополнить библиотеку

habr.com/ru/companies/yadro/ar

ХабрРазбираем конкурентность в Go: книги, блоги, выступленияОсобенность Go — удобный механизм конкурентности. Создавать конкурентные задачи в парадигме языка можно буквально «бесплатно» и предельно просто: достаточно написать ключевое слово go перед вызовом...

Как и почему эффекты помогают писать хороший код

В этой статье я рассказываю об эффектах. Несмотря на то, что эффект – понятие столь же простое, как обычная функция, для меня оказалось не так просто найти подходящее объяснение, но, я его нашел. Вы узнаете, в чем заключается идея использования эффектов и чем они отличаются от классических функций. Я делюсь своим опытом разработчика и показываю примеры кода с использованием эффектов. Вероятно вы найдете для себя что-то интересное. Если вы никогда не слышали об эффектах или термине "побочный эффект", рекомендую ознакомиться с этой темой для повышения вашего профессионального уровня и технического кругозора! Читать об эффектах

habr.com/ru/articles/882946/

ХабрКак и почему эффекты помогают писать хороший кодПривет! В этой статье я расскажу об эффектах и надеюсь, что мой многолетний опыт работы с языками Scala, Java и TypeScript поможет мне в этом. Долгое время я размышлял, как понятнее объяснить, зачем...

Каррируем React-компоненты: функциональные паттерны на фронтенде

Современный React все больше соответствует идеалам функционального программирования. Ежедневно мы пользуемся подходами из мира ФП, зачастую даже не подозревая об этом. Эти паттерны плотно укоренились в сознании фронтенд-разработчиков, делая наш код значительно чище, читаемее и предсказуемее. В этой статье мы применим один из функциональных паттернов в React приложении и посмотрим что из этого выйдет.

habr.com/ru/articles/881546/

ХабрКаррируем React-компоненты: функциональные паттерны на фронтендеСовременный React все больше соответствует идеалам функционального программирования. Ежедневно мы пользуемся подходами из мира ФП, зачастую даже не подозревая об этом. Эти паттерны плотно укоренились...