What Code Isn’t

Jean Jennings (left), Marlyn Wescoff (center), and Ruth Lichterman program ENIAC at the University of Pennsylvania, circa 1946. Source: http://andrewchen.co/photos-of-the-women-who-programmed-the-eniac-wrote-the-code-for-apollo-11-and-designed-the-mac/

Certain people will never tire of telling you the first computers were actually women, who sat in rows at desks with pencils and paper, calculating. They’d be arranged in a kind of assembly line, each one performing an arithmetic task and passing the calculation on, or working in parallel, with another “computer” collating their work. At Los Alamos, the computers had to model the shock-wave of various explosions so that the engineers of the bomb could get “the gadget” precisely right.

A wave is defined by a simple equation, and “solving” it amounts to putting in the right values for x and y and then calculating (or computing) the result. The computers’ manager had to figure out how to divide the work efficiently between all the desks, and how to break each task down so it could done as quickly as possible. Later, the pencil and paper was replaced with a mechanical computer which took punch cards in and spit them out. This orchestration is the code.

What is code? It’s just a form of communication by which we exert our influence to achieve some end. The only difference between “computer code” and any other communication, even the “coding” of the girls with their pencils at their desks, is that the audience we want to influence is a machine, and not a person, so the vocabulary and grammar must be incredibly simplified, and the understanding is completely obtuse. A machine plows ahead unquestioningly, and takes every instruction as literal.

I’m not saying that Paul Ford’s magnum opus, 38,000 words dropped in a special issue of Businessweek is bad or wrong, but that it’s title is misguiding. Ford does address some of what code is, but for the most part he is casting light on the vast corona of complications that decorate the simple core of code, telling a computer what to do. In the first few paragraphs, you are treated to an anxious executive, and a salad of acronyms and trade names and buzzwords: PHP, Node.js, Backbone, Drupal, JavaScript, Scrum Master, Oracle, and Magento. Later you get Java, Python, Perl, Clojure, and XSLT.

These things, the buzzwords, the trade names, the secret vocabulary of the cyber-world do not constitute code. The anxiety engendered by ignorance of them is not due to code either. These are dialects of code, conventions around code, frameworks, and organizations all born of trying to bureaucratize, corporatize, and monetize code. Knowledge and usage of these words, even understanding of them, does nothing to connect you to code itself, but signalize your suitability for insertion into a business hierarchy. the hierarchy is the cause of your anxiety, and speaking this language is only one of a host of other things holding you back from success, like your race, sex, nationality, and socioeconomic standing. And it’s not the most important one.

What Ford’s piece does is clue you in to modern digital corporate culture. If you want to know what code is, “What is Code” is akin to reading an instruction manual on how to create and manage a publishing company in early 21st century America when what you want to learn is how to write a short story that will move a reader to tears.

What isn’t code? It is and is not magic. It is magic in the sense that you can use simple instructions “Add this number to that number” “If that number is less than another number, draw a pixel somewhere on the screen” to manipulate a computer, and vast assemblages of these instructions together can immerse you in an entire imaginary world, or to impact the real world.

It is not magic in that there are many other ways open to humans to manipulate the world. Just look at an author writing a novel, or a poet, or a lawyer using the law, or an accountant moving around numbers on a balance sheet, or a navigator charting a course on the sea. A set of building plans. A painting. A new drug. Yes, computers play a huge role in almost every profession, and an understanding of computers helps to focus your efforts. But knowing Drupal or Microsoft or Agile development is immaterial. You can know all those and still lack an understanding of code.

It is not magic in that knowing how to code, knowing everything about code, is no guarantee of security in a world that is effectively an oligarchy governed by exploitative relationships between worker and capital. What an understanding of what is and what isn’t code can do is help you to understand the world as it is better. The magic of code is that it is simple, not complicated. Every line of code can be reduced to simple steps, forward or backward, add or subtract, compare. Coders are not geniuses, and once you have grasped the foundation of code, even if you don’t have the patience to build a vast edifice, you will understand the flawed, difficult nature of every edifice built of code, how imperfect and brittle.

In some ways, the sheer volume of Ford’s travel through the modern filigrees around code illuminates the ad hoc nature of our technological development. And in that way, I hope, clarifies that the towers of internet technology that we revere; Bill Gates, Mark Zuckerberg, Elon Musk; are decent, even brilliant engineers, competent managers, driven engines of corporate profit, but hardly saviors, just as computer code is one of many effective codes in our lives, and probably not the most important one.