Data dominates. If you’ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
From Rob Pike’s 5 Rules of Programming.
P.S. I have determined the statistical law of motion of the diatomic molecule in Planck’s radiation field by means of a comical witticism, naturally under the constraint that the structure’s motion follows the laws of standard mechanics. My hope that this law is valid in reality is very small, though.
From Eugene Ferguson’s Engineering and the Mind’s Eye:
The conversion of an idea to an artifact, which engages both the designer and the maker, is a complex and subtle process that will always be far closer to art than to science.
Quoted by Glenn Vanderburg in his great talk on why software development is an engineering discipline.
Unless you’ve written a buggy program, you don’t realize that you’re addressing our intellect. This is why I think that every engineer on the planet looks at a bug report and feels a twinge of pain as they read whatever detail that was left to serve as a figurative shame sticker on the report card of their creation. It really sucks when you’re just flat out wrong.
Being wrong — rather, being incorrect — is an extremely humbling experience. The catastrophically incorrect, which is when software crashes, money is lost, or the absolute worst, data is stolen, is the kind of thing that makes you question your career choice. It makes you want to curl up into a ball and weep at how completely stupid you were when you’ve found the problem
I have the hardest time remembering what I’ve read and when I’ve read it. I’ve started several books over the past few months, but here are the ones I’ve enjoyed enough to finish:
Like our software, our society just kind of happened over the years and it’s always on the verge of coming tumbling down. Nobody really knows what they’re doing or what they’re talking about.
[P]rogramming is actually the act of bringing thought, design, language, logic, and mental construction into a form that can be stored in computer memory.
The internet is like a car horn that you can honk at the entire world.
My biggest complaint, personally, is that this fresh coat of paint does a poor job on visual contrast. Interface elements are often so light in color and/or so close to one another in color that they “bleed” into each other all the time. The effect is a blown-out look, as if a novice photographer stepped up the exposure on her camera well beyond advisability.
We are losing the capacity for attention. By which I mean the ability to focus on something and to think about it. And if we lose that ability, how then is God going to be the central, organizing thing in our lives? How are we going to become God-centered in our thoughts if we are fragmented in our thoughts? And God-honoring in our lives, if in fact our lives are just bits and pieces of information? That’s the problem.
A great interview by Tony Reinke at Desiring God with David Wells and Arthur Hunt. There’s also a good summary if you don’t want to listen to the whole thing.