| I'm curious who here knows the power of 'necessary.' Here's what I mean: if I asked what's necessary for fire, you'd say some variation of "oxygen, fuel, and enough heat." [1] But hidden is awesome potential for out of the box thinking. For instance: Say I'm camping in the woods, and I want to start a fire. Knowing what's necessary, I look around me: my clothes can be fuel, and my glasses can concentrate the sun's heat. [2] Do you see what I mean? When I want something to happen, I supply what's necessary. This lets me try new things and quickly learn why they work (or don't.) It's the fastest feedback loop I know. Now say it's 1833. Humanity's tools for artificial light are candles, gas lamps, and fireplaces. They're expensive, inconsistent, and a fire risk. But if I play with what's necessary, I may notice that fire isn't needed for artificial light, so I place some fuel and heat in a vacuum.[3] So: When I want something to stop, I suppress a necessary condition. That's a straight way to invent the electric light-bulb (based on nothing nobody's seen) and change civilization forever! I hope it's clear that needs and causation are almost the same. Necessary is just a way to explain every solution that has worked or is yet to be invented for making or preventing what happens. Thus, it may be useful for learning to code. So I entreat you, fellow hackers: what are things that happen to coders? I know bugs happen, so bugs have necessary conditions. We could invent a new way to debug. But I bet more things happen in computer science. What, though? See you in the comments. *Notes* [1]: My version is oxidizer, enough fuel for a chain reaction, and heat at the fuel's flash point. [2]: Oxygen will be in the air, of course. [3]: The first practical light-bulb was electric current (heat), passing through a carbonized bamboo string (fuel), inside a vacuum tube. |