HN Hall of Fame Weekly email

Functional core, imperative shell (2012)

www.destroyallsoftware.com Audio, video & images Video Software engineering Candidate
Screenshot of www.destroyallsoftware.com captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 2 calendar years, with breakout response in 2 of them.

submissions
3
submitters
3
observed span
2018–2023
peak thread · 126 comments
389 pts
latest 20+ return · 2023-02-19
137 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

This basic idea has deeply infected how I approach software architecture and design. When someone asks me why I wrote something a particular way, it's usually because I'm trying to keep the imperative/environmental concerns separate from the functional/algorithmic concerns. I end up recommending this video at least once every year. (EDIT: Another one from Gary that pairs well is "Boundaries": https://www.destroyallsoftware.com/talks/boundaries . The core idea is that values -- data, not code -- should form the…

Twisol·389-point thread·

I like to build this way when possible. Unfortunately, I find many people - especially tech leads - resistant to this approach. The first and most common reason is, "Why do I need this? What we are doing is fine." Or when the attitude is positive about it, the common issue is, "I think this would be too difficult for our devs to adopt." I find both of these scenarios disappointing and frustrating, because technology (and software) is usually about…

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
2

100+ points or 50+ comments

Total points
528

reference only — not used in Hall rules or ranking

Total comments
165

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2018-05-13Functional Core, Imperative Shelllobo_tuerto20
2018-09-21Functional core, imperative shell (2012)First breakout · Best threadfagnerbrack389126
2023-02-19Functional Core, Imperative Shell (2012)Latest 20+ point returnkachnuv_ocasek13739