0. Intro 🍎
A thing of beauty is a joy for ever:
Its loveliness increases; it will never
Pass into nothingness; but still will keep
– John Keats (from Endymion)
Such, such were—and are—the joys of engaging with the world of programming. (And here I was compelled to paraphrase George Orwell: Coming on the heels of the sparkling Keats quote above, invoking Orwell’s Such, Such Were the Joys was irresistible.)
But then again, if you’ll excuse my effusiveness, the glory of working with the malleable medium of software inspires such a reaction, one of many in which we partake and rejoice. For more—plenty more—on what’s afoot, I invite you to start by checking what’s up with
- Meme-Wrangling (both Part 1 and Part 2)
- On the Unreasonable Effectiveness of Patterns
- What I Saw at GopherCon 2019
And that’s just an appetizer.
1. The Changing Landscape ⛷
The cold passed reluctantly from the earth, and the retiring fogs revealed an army stretched out on the hills, resting. As the landscape changed from brown to green, the army awakened, and began to tremble with eagerness at the noise of rumors.
– Stephen Crane (in The Red Badge of Courage)
Nothing remains the same, they say, an observation doubly applicable to the wonderfully fluid world of programming. Speaking of which—and according to Heraclitus, an uncannily savvy philosopher of yesteryear who may just as well have had the modern programmer in mind—the fluidity is so pervasive that
No man ever steps in the same river twice, for it’s not the same river and he’s not the same man
There’s a lot to unpack there. I recommend you start by checking
Once you’re done with that stuff, and only then, you may proceed with a clear conscience on to the fun that awaits you in
2. The Keys To The Kingdom 💰
An important scientific innovation rarely makes its way by gradually winning over and converting its opponents: it rarely happens that Saul becomes Paul. What does happen is that its opponents gradually die out and that the growing generation is familiarized with the idea from the beginning.
– Max Planck (in The Philosophy of Physics)
To this day—and harking back to Frederick Brooks’ publishing his daring monolog titled No Silver Bullet: Essence and Accidents of Software Engineering—nobody, but nobody, has found the silver bullet with which to slay the complexity werewolf. Many have tried, including yours truly under the subterfuge of
and, I fess up, only with mixed success: I mean, how, exactly, does one slay complexity when it threatens to hang, albatross-like, over our lovingly-crafted bits of code?
But all is not lost. Not by a long shot. Rejoicing as we are in the glory of programming—reveling, really—we remains optimists at heart.
Add to that a consideration of how beautifully wrought prose, as many will agree, wields the power to make one’s heart skip a beat. And elegantly crafted code has been known to make a heart sing. So why has nobody looked at these seemingly unrelated phenomena as a unified whole?
We can, as I’ve sought to demonstrates in my new book
look to divergent thinking-style, and, by looking past the superficial similarities between the endeavor each of crafting prose and that of designing code—writers rewrite their prose while programmers refactor their code, both work with abstractions, neither is immune to the occasional blockage of creative flow, which manifests itself in the writer’s block and in the coder’s jam, respectively, and so on. That’s quotidian stuff.
Much deeper forces are at play, I believe, forces which inform their respective practice: How best to tease those out into revealing themselves so we can witness those forces in their glory? Enter this book. Written as a series of letters to the practitioner, it connects the dots between the ins and outs of crafting prose and those of designing code—tying the two together with the proverbial marriage knot—by delving deep into the interplay between the two. No longer will we have to scratch our head, wondering why nobody took on this vital interplay sooner.
So that’s another (hopefully joyful) thing for you to check as well.
3. Dialog Remains Crucial 📣
Good nature is more agreeable in conversation than wit, and gives a certain air to the countenance which is more amiable than beauty.
– Joseph Addison (in The Spectator)
Contrary to the stereotype of the lonesome programmer, we are a social bunch. Take it from someone who has written
I mean, I’ve written the book. (Don’t believe me, do you? Go ahead, and click on the link above and see for yourself, heh.)
Yep, try getting social while stranded on an island; come to think of it, we’re all stranded atop our own little island nowadays, what with the COVID-19 pandemic wreaking havoc around our planet. This, too, shall pass. But yes, I digress.
Onward. More joy ahoy.
4. The Ceaseless Cycle: Ebb And Tide 🐬
The flow of the river is ceaseless and its water is never the same. The bubbles that float in the pools, now vanishing, now forming, are not of long duration: so in the world are man and his dwellings…. [People] die in the morning, they are born in the evening, like foam on the water.
– Kamo no Chōmei (from An Account of My Hut)
“Wax on, wax off,” so said Mr Miyagi to our Karate Kid, the Timex Kid you know, who took a licking but kept on ticking. Little did we know the wisdom latent in those words hushed into his impressionable ears: Right, just as surely as night follows day, we are on to
And if that doesn’t strike you as joyful enough, may I suggest you check an even richer vein of creativity in all things programming. Put another way,
But don’t just take my word for it. Ask, do please ask, questions of your own.
I urge you: Think out of the box.
5. At Its Core, A Social Activity 🎭
Man is a social animal.
– Benedict Baruch Spinoza (in Ethics)
No doubt about it: Programming is a social endeavor.
And once the silos of specialization came tumbling down—that’s captured in Plato And The Nerd Strikes Back—our social nature came to the fore. Then it was off to the proverbial races.
Onward now to some (admittedly) “fishy” stuff.
6. Let’s Haul In Our Net 🐳
Time is but the stream I go a-fishing in.
– Henry David Thoreau (in, what else but, Walden)
Oh my! Open source, which powers our beautifully wrought algorithms, just keeps giving. Like the tireless Energizer Bunny, it keeps going and going and …
7. A Last, Hard-Nosed Look 🗿
Let observation with extensive view
Survey mankind, from China to Peru.
– Samuel Johnson (from Vanity of Human Wishes)
Wow! Our featured penguin above—with its fur all gelled back with what reeks of an LA Looks hairstyling product—means business, if you know what I mean: That no-prisoners-taken-around-here look in its eyes gives away the game, I say.
We’ve got to stay nimble; it behooves us, in other words, to be
And with that, I hope you enjoyed this unabashedly opinionated take on what makes programming such an abiding joy. And now it’s time to climb aboard: Let’s get on that water-jet.