first_page

Jeff Atwood on “The unexpected relationship between writing code and writing”

Buy this book at Amazon.com! I am very pleased that Jeff Atwood finally got around to writing a Blog post called, “Coding: It’s Just Writing.” His prioritizing explains why Jeff and I would not “naturally” be friends (not that friendship is everything). My background in physics should suggest to more than few that I have—since birth—possessed two qualities for which physicists are hated the world over:

  • One: I am attracted to grand-unification theorizing—which is even more annoying than theorizing. Because I tend to slur my words out of a lack of discipline when I am talking, my grand-unifying talk is often literally confusing.
  • Two: since “physics” used to be called “natural philosophy” and is the Western historical base for all science, physics people arrogantly assume they can do anything. What’s worse is when we are actually right about this because we become jack of all trades and master of none.What this means for Jeff Atwood is that I always assumed that “writing code” (instructions for machines) and “writing” in this whack-ass language of English are the same thing. So for me there is no “unexpected relationship between writing code and writing”—it has always been writing to me.

This is why is makes perfect sense to me “mix up” writing about computers and writing about poetry (and film, etc.) in the same Blog. This of course does not make sense to whomever you are reading this (very likely) because your ass is a product of the military industrial complex. And the whitest white man you will ever know (and respect), Dwight D. Eisenhower, warned your monkey ass that your very soul will be turned into a war machine:

This conjunction of an immense military establishment and a large arms industry is new in the American experience. The total influence—economic, political, even spiritual—is felt in every city, every State house, every office of the Federal government. We recognize the imperative need for this development. Yet we must not fail to comprehend its grave implications. Our toil, resources and livelihood are all involved; so is the very structure of our society.

Buy this Book at Amazon.com! I placed the bold in the quote above to emphasize that “spiritual” refers to your “soul”—and the by the very fact that there are no more precise words to describe these non-material parts of your being should wake your tricycle-riding ass up to the reasons why I call English ‘whack.’ This language was not designed (and re-designed) for your soul—especially African ones. There only so much slang can do.

Every time you open your mouth and speak of “negative” and “positive” or “good” and “bad” you are speaking in an oppositional context instead of a compositional one. When I use the word oppositional, I am trying to invoke images of warfare and warlike thinking into your imagination. What does this have to do with computer programming?

Some programmers take the warnings seriously about a “takeover” of functional programming languages over imperative ones. I whined about this briefly last year in “Haskell Links.” I referred to a talk called “Brian Beckman: Don’t fear the Monads” and I am almost certain that Jeff Atwood watched this.

You see the warlike poetry of imperative programming is in me giving orders to an inferior (in my case, a machine) that must follow my commands precisely. I have enjoyed this command-and-control as much as any red-blooded American (hey poets! Notice that there is relationship between the words imperative and imperial). But the intellect of ancient Africa is also in my blood—and these ancestral memories tell me that there is a limit to what one (or three) flesh men can tell others imperatively—this limit is governed by toxic complexity.

It is better to declare intent within the context of verifiable correctness—articulated with an interlocking symbol system of profound semantics. (Notice how ‘an interlocking symbol system of profound semantics’ has nothing to with hating white people or making overweight Negroes feel guilty—now do you see why being Black toward the ancient African root is so interesting?) There is no greater declaration of intent than the data stored in the Great Pyramids of the Old Kingdom. Do not underestimate the power of the post-Stone Age.

Buy this Book at Amazon.com! By now, a hoagie-eating guy like Jeff is saying, “What? Huh?” Now might be your time to take the position of being The Sole Voice of Reason in our “discussion” (which is more warlike talk—it is no accident that “discussion” rhymes with “concussion”). What Jeff should understand (because he is a very professional programmer) is not to be proud of building complexity into information technology systems. But too many “traditional” Americans are proud of complexity. Complexity is a weapon that can confuse the enemy (the competition) into submission. Certainly, Jeff has heard the horror story of the asshole programmer who keeps his/her job because only the proud one knows the spaghetti-code system the company depends on. Certainly most of us know how uselessly complex SharePoint still is. For those of you who truly love Steve Jobs, you then respect his desire for reduction of complexity—and why other companies competing with Apple are culturally incapable of eliminating unnecessary complexity.

My African intellect is biased for primacy (which I still confuse with simplicity). I hear that bass—the beat. When you have achieved primacy your system becomes damn near unbreakable—or shall I say blessed near unbreakable. The only way to stop the power of primacy is through murder in cold blood and child abduction—which is where massacres and missionary systems come from… So one of the most important things Brian Beckman says in his talk is that functional programming languages control complexity. When you systematically control complexity—say, over a series of thousands of years—you end up getting called “primitive” by the “sophisticated” (among other rude names). In the ever-present world of white supremacy, people of all colors have been conditioned since birth to see “primitive” as “backward” or “negative”—but there is nothing negative about 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97… I think we’ll need these numbers forever—unless we plan to stop counting.

“What?” “Huh?”

Hey, Jeff, the only technical reason why “we” are writing in imperative programming languages is because the simple machines back in the day could not handle the functional ones. Haskell was just too damn slow on an Intel 8088. Now we have the processing power to use both techniques—and I’m the guy who truly embraces diversity. I have been using XSLT for years, dude (a functional language without functions [in 1.0]). I’m also very excited about F#.

rasx()