4 ms·
I've always described source code to non-technical people as the recipe and ingredients, compiling as the baking, and the software as the bread loaf. Seems to l
by scrps 5y ago
I've always described source code to non-technical people as the recipe and ingredients, compiling as the baking, and the software as the bread loaf. Seems to land for most people
- robtaylor 5y agoI love this - thank you.
- StavrosK 5y agoOoh I like this one, thanks!
- heavenlyblue 5y agoWhat do you achieve with this explanation? This metaphor literally has zero predictive value. For example, it may be quite hard to reverse-engineer a loaf of bread, but reading assembly is actually quite easy to understand what the program actually does.
- ryder9 5y agoit's an analogy, you're not supposed to overthink it
- apocalyptic0n3 5y agoReading Assembly may not be difficult, but reverse engineering and figuring out what it is doing is. Same as with bread. Pulling a loaf of bread apart and seeing the individual grains and how the connect isn't difficult, figuring out the process for making it is. If you're trying to explain to a non-technical person what source code is, the bread example from OP is actually a great analogy. It's simple, to the point, and almost everyone will know how bread is made. Is it oversimplified? Sure. But that's the entire point of trying to give a real brief overview to someone with no technical experience.
- wizzwizz4 5y agoThe only difference is that we have the equivalent of molecular nanoassemblers for code, but not for bread.
- apocalyptic0n3 5y agoWhich is true and fair. But as a method of describing a very technical thing to non-technical people, it seems like a useful tool. We're not trying to give them a CS degree here, just give them enough information to continue reading the article without being totally confused.
- yoz-y 5y agoWhen you know the recipe for a bread you can make another one and maybe add or remove some ingredient. If you only have the loaf then indeed you can't reverse engineer the recipe unless you are a very experienced baker. Same with code.
- nexuist 5y agoReading assembly is not really easy, especially in the context of video games using proprietary GPU I/O, it might as well be obfuscated because there is no way you're figuring out how Frostbite handles bullet drop from a page of x86 instructions. Maybe if you're willing to spend years reverse engineering game engines, you can start to form patterns in your head, but even then we're talking about niche specialties inside niche specialties. In no way is it accessible to an average software developer, unlike source code which most developers can read and understand after a few dozen hours.
- whateveracct 5y agoSource code is also the mixing & prep. Compiling is just the heat of the oven in the metaphor.
- jfrunyon 5y agoThe mixing & prep already begin to change the substance of the ingredients, just like 'compiling' is in fact usually multiple steps which all change the substance (for example, preprocessor=cutting, compiler=mixing, assembler=baking, linker=cooling)
- Wowfunhappy 5y agoThat's a fine way to put it, but it's not as relevant in the context of the BBC article, particularly focusing on why the leak matters.
- mandeepj 5y ago> I've always described source code to non-technical people as the recipe and ingredients Not bad. What would you say about saying - " a source code is a set of instructions for a computer to execute". That way, we can still keep the conversation (some what) technical.