Software engineers inspired by A Pattern Language think of it as a way to break down a medium into its atomic parts, by which we can build back up again.

I was surprised to learn that it's considered post-modern.

But my experience with Design Patterns renders it not so. Many of the design patterns in GoF ended up patches to language weaknesses of C++

Also, the problem with patterns is they don't communicate well backwards from expert to beginners. They're often missing context.

It's not actually solving the problem. You can spend a lot of time doing busy work matching the problems to patterns. That's what I did at the beginning of my career.

The only thing remotely like a pattern in programming are mathematical in nature, like combinators.

Otherwise, it seems like...taste borne of the experiences of downsides. and they're mostly expressed as rules of thumb, because they don't apply in all instances.

That's how you get GoF Design Patterns and Clean Code that seem to get more dated with each passing year.

It's been a quiet revolution for functional programming. Lots of ideas from pure functional programming have been making their way into mainstream languages without much of a fuss. On one hand, that's a great thing, but on the other, I don't think it gets the credit it deserves.