The Beauty of Software

Computer science is a kind of math; the math of information processing. It’s all about A + B = C.

You’re not building the rocket—that’s engineering. You’re thinking more about the chemical processes of fuel combustion, the physics of escape velocity, the equations that tell the engineers to use ceramics instead of glass for atmospheric reentry.

Unlike rockets and rocket science, the software we engineer with computer science cannot be easily seen and understood so intuitively.

The abacus has been around for a long time, but people will figure out how to use a rifle much more quickly. Projectiles don’t require many new mental models, but coming up with a creative calculation method does.

When we engage in programming, defining processes and writing them down in code, we’re telling a story in the language of mathematics.

In this story, infinitely complex characters weave a multi-dimensional plot. At any time, everyone may be teleported to a new world, the previous one being wiped out completely or abstracted away as a tiny spec of dust, Horton Hears a Who-style.

When we’re manipulating pure information, there are virtually no limits to whatever imaginary chocolate factory we seek to build—Golden Tickets and Everlasting Gobstoppers for everyone!

On the other hand, we can easily create problems for ourselves in this mind-bending sandbox universe of zeros and ones. Being in control of the universe is a big responsibility.

Intelligent life seems to enjoy expending energy to organize things. Life armed with artificial intelligence (complicated instructions encoded in software) even more so.

Thus, software—built by engineers on the foundations of computer science—continues to seep into (eat) the world around us.

And we humans are all being shaped by the pervasive, inevitable logic of A + B = C.

About | Blog | Books | Contact | Podcast | Random | Visit