Тёмный

Design Patterns in Functional Programming (English talk) 

Alexander Granin
Подписаться 1,1 тыс.
Просмотров 725
50% 1

Design patterns are essential to software engineering. They exist in number in OOP, and also they exist in FP. To contrary misbelief, FP design patterns are not just about applying functions to functions. Let's learn actual functional design patterns, some of them authored by me personally.
Slides:
docs.google.co...
My books:
Pragmatic Type-Level Design book:
leanpub.com/pr...
Functional Design and Architecture book:
www.manning.co...

Опубликовано:

 

7 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 5   
@MaxDaten
@MaxDaten 3 месяца назад
Thanks for the talk, really enjoyed the insights. Keep it up
@AlexanderGranin
@AlexanderGranin 3 месяца назад
Thank you for your comment! :)
@TheTubeYou251
@TheTubeYou251 3 месяца назад
As an OOP developer who is very interested in FP, I have been looking for something like this talk, thanks! I can read some Haskell, but I‘m not a Haskell developer, so it‘s a bit hard to follow. But still, you give a lot of references, so it‘s very valuable! I wonder whether, aside from idioms and patterns, are there also some principles that FP developers follow, either consciously or unconsciously? I‘m talking about things like SOLID, „Tell, Don‘t Ask“, YAGNI, DRY, etc. Specifically, which principles are applied in both OOP and FP (probably DRY), which only in OOP, which only in FP, and why? I guess you could make another very interesting talk out of this topic.
@AlexanderGranin
@AlexanderGranin 3 месяца назад
Thanks! Indeed, design principles exist in FP. I touch this topic in some other videos from this serie. In my books, Functional Design and Architecture and Pragmatic Type-Level Design, I talk about design principles a lot and show how to reason with them. It turns out that SOLID is finely applicable in FP, just has own implementations there. YAGNI, DRY, "Tell Don't Ask" and others work too. Low coupling-high cohesion is also an universal design principle from the mainstream. In FP, there are more principles: "make invalid states irrepresentable", declarativity and some others. We can also count immutability and purity as a design principle. In my PTLD book, I propose more principles specific to pragmatic programming: 1. Dumb but Uniform 2. No perfectionism 3. Pragmatism 4. Occam's razor. They are certainly universal although they become very important when programming with types. Yes, I can give such a talk. Let me see if I can do it today!
@TheTubeYou251
@TheTubeYou251 3 месяца назад
Cool! Will check out the content you referenced, thanks!
Далее
Find The Real MrBeast, Win $10,000
00:37
Просмотров 46 млн
Little kitten 💓💜❤️🥰
00:17
Просмотров 18 тыс.
Functional programming design patterns by Scott Wlaschin
1:05:44
Functional Design Patterns - Scott Wlaschin
1:05:50
Просмотров 297 тыс.
Beyond The Success Of Kotlin / The Documentary by EngX
1:29:42