Why software is like baking a cake

Software is like sex, it’s better when it’s free – Linus Torvalds

But hey, I’ve found another analogy between software and something more physical (yeah, I really should stop those kinda jokes ;-) ). As I baked a cake a little while ago (and there surely was for a good reason for that), I found that little analogy …

ingredients In order to bake a cake, one needs several ingredients. Those ingredients can be seen like the libraries required by a program. The libraries are referenced from a program using include statements and recipies reference their ingredients explicitly. libraries
kitchen_tools Once you got your ingredients ready you need some tools to handle them. It’s basically the same on the software side. You need several tools to compile your sourcecode (aka recipee) and libraries to the finished product. tools
cake That finished product is either the finished cake itself or the executable. All in all the process was pretty much the same: Use a sort of recipee (source code), put together all your ingredients (libraries) and use some tools to glue everything together application

Despite all those simillarities, there are a few more. So for example one could think of closed source cake (the stuff you can buy in the bakery) as well as open source cake (like the recipees one can find using google). And as that wasn’t enough, cake does indeed have some hackable potential. So one could make a cake that serves a special purpose besides tasting good, like providing you with the perfect nutrition for a day …

Alright I know this does not completely work out but it’s still fun though :)

The cake icons came from snmsnl and the kitchen icons from atomnett

Leave a Reply

Fork me on GitHub