Previous Episode: Ep 092: Freeing Limits

We search for that sweet spot between full-featured mixes and simple ingredients when crafting your software recipes.

Each week, we discuss a different topic about Clojure and functional programming.


If you have a question or topic you'd like us to discuss, tweet @clojuredesign, send an email to [email protected], or join the #clojuredesign-podcast channel on the Clojurians Slack.


This week, the topic is: "effective composition." We search for that sweet spot between full-featured mixes and simple ingredients when crafting your software recipes.


Our discussion includes:

What makes code "composable"? What makes it "not composable"?
What baking has in common with software design.
What baking does not have in common with software design.
Are you using ingredients or a box mix?
How to know when you need to split something apart.
When is a part too big? When is a part too small?
What is too flexible?
The principle of orthogonality.
Decomposing without the smell.

Selected quotes:

"This is a Clojure podcast. We have to have a definition every once in a while."
"When you try to take code that someone has made and combine it with other things, how much resistance, how much difficulty, do you begin to encounter?"
"A cake is a composition of smaller things."
"You're still composing a cake. You're just composing it out of bigger things."
"Let's compose dinner together."
"You might be fighting against some of the ingredients, because you have a whole lot of stuff that's been premixed that comes along for the ride."
"What if you want waffles?"
"Everything is made of atoms! If I could assemble atoms, I have ultimate flexibility!"
"If it's narrowly focused, it's hard for it to get in the way of other things."
"You're making well-suited things, that have small scopes of responsibility, so that you can weave them together appropriately for your domain."
"Who owns the recipe?"
"Ah yes, you are the cause and the solution of the problem!"
"Are you able to write a new recipe and reuse all the ingredients?"

Links:

Ep 033: Cake or Ice Cream? Yes!
Ep 065: Stuck in the Middle
Ep 079: Compose Thyself

Twitter Mentions