The opposite of simple is not complex

Studying biology or economics, one finds organisms, ecosystems, and economies that are more than the sum of their parts. Somehow many interacting agents with limited information produce increasing organization, creating amazing complexity out of relatively simple components. In computing, if we want to harvest this potential for surprise, see results this interesting, we have to … Read moreThe opposite of simple is not complex

A third way

Programming is about translating what a human wants into instructions a computer can understand. Or is it? Thinking down this path, there are two ends of a programming language spectrum. A language can be close to the computer’s perspective: imperative languages that declare data, move and store data, carry out instructions in a fixed order. At … Read moreA third way

Get the whole story

If we understand the reasons, the story behind the requirements, we can implement them much more effectively. Then we know which pieces are important and which we shouldn’t spend weeks obsessively getting letter perfect. We can make a guess at what will change, and we know where performance is critical. In relationships, if we know … Read moreGet the whole story

Why is code so much easier than people?

Taking computers as the universe, where hardware determines the laws of nature and binary data are the basic substrate, we can understand the world bottom-up. We know at each level of abstraction, at each size of particle, what rules the components follow. Binary composes to assembler, which follows rules according to the CPU’s construction. Assembler … Read moreWhy is code so much easier than people?