Today we finally broached the elusive, yet omnipresent, subject of algorithms. This is a concept I’ve heard a lot about — mostly in the context of web programming (i.e., the algorithms that determine your customized playlist on Spotify, or the ones that fire out content to fill you Facebook newsfeed.
Because it’s always sounded super computer sciencey and highly technical — and thus a bit beyond my purview — I never really sought out a solid explanation for what an algorithm actually was and what it was comprised of.
An elementary, low-level overview of an algorithm is the following:
a detailed set of instructions established to produce a specific outcome.
??? That’s it? Really?!
At it’s most basic level, the answer seems to be ‘yes’.
An algorithm is a map. It’s a recipe. It’s how to tie your shoes.
So what do algorithms contain?
- Input: this is what goes into your algorithm. These are the ingredients you use to make that new Ottolenghi dish you’ve been dying to try.
- Steps: these are the detailed, precise instructions that guide your algorithm to its desired outcome. This is the recipe.
- Output: this is the result of your algorithm. Everything is cooked and plated and you’re FINALLY ready to sit down to the meal.
Of course, the recipe example is a simple one. Of course, there are algorithms that are so complex and multi-faceted that they will have your average home cook (or home programmer) crossing their eyes.
The point I’m trying to make is that while it’s true that many algorithms we hear referenced in professional and/or social settings are enormously complex and take a good amount of syntactical and structural training to understand, they are not necessarily wildly complex or technical. Algorithms in practice are not elusive. They’re not irrelevant. AND they make our lives better.
Can’t wait to learn more.