HackerTube

Functional architecture - The pits of success - Mark Seemann

NDC Conferences5 HN recommenders · recommended in 6 months, 2018–2025
YouTube
talk · intermediate · evergreen · 2018–2025 on HN

Mark Seemann argues that functional programming naturally yields many of the best practices object-oriented developers learn painfully. He shows how functional architecture leads to a pit of success, with a pure core and impure shell.

Recommended as a practical demonstration of how functional thinking improves design without going off the deep end.

10 comments from Hacker News

@Xunjin2021-07 · in “Habits of Expert Software Designers (2019)”

His videos about functional programming are amazing (Mark Seemann). "Pit of success" is one of the best. ▶ this video

Strongly recommends View on HN
@adamkl2020-10 · in “A Theory of Software Architecture”

I spend a lot of time thinking about these sorts of topics (actually, I just taught a 4 hour session yesterday that used most of the terms in this article), working with newer, less experienced developers, and trying to figure how to distill the essence of "architecture" down to something simple that everyone can start with. This is what I’ve started telling people: Use mostly functions, try to make most of them pure. I think that can get people (even new devs) 80% of the benefits (testability, composability, loose coupling, and the ability to reason about code) of more complicated, prescriptive architectures (Hexagonal, Onion, Ports & Adapters, Clean, etc) with a minimal amount of ramp up. Of course, this isn't the solution to every problem (it obviously depends on the domain you are working in, for me its webDev and backends), but I think maybe its a good way for people to start. Edit: Here is a great talk demonstrating that by following a simple functional approach, your code can naturally fall into a “pit of success”: ▶ this video

Strongly recommends View on HN
@tubthumper82025-04 · in “Why F#?”

"pit of success" from the previous comment might refer to this video, which is long but good especially to adjust to a different mindset ▶ this video

Recommends View on HN
@kirse2021-12 · in “F# Good and Bad”

Mark Seemann has a good talk on this called the "functional pits of success" -> ▶ this video Of all the languages I've used nothing is quite as fun as refactoring an F# app down to nothing. Expressive power is king in F# with the whole .NET ecosystem behind it.

Recommends View on HN
@adamkl2021-01 · in “Software engineering topics I changed my mind on”

> So while FP is just another tool, it's also a framework for thinking that helps people make better choices I’ve been getting more into functional programming this past year (via Clojure, though my day-job is mostly JavaScript/TypeScript) and this is the big takeaway for me. Type theory and monads may have their place, but thinking about separating logic from side-effects is, I think, the most valuable aspect of functional programming. That is a thought process that you can apply in pretty much any language that will give you the biggest bang for your buck. Edit: Here’s some great examples of the benefits of functional thinking without going off the deep end. 1. Boundaries by Gary Bernhardt - link 2. Pits of Success by Mark Seemann - ▶ this video 3. Grokking Simplicity by Eric Normand - link

Recommends View on HN