orty years later, in 1999, I was sipping cocktails at an Equinox party in the hillside home of my best friend, the late Tom Sullivan. A software enthusiast and computer historian, Tom curated a magnificent livingroom display of venerable computer technologies -- cores and disks, printed circuit boards and chips.
Tom introduced me to his guests. "Paul here is the guy who invented the word 'software'."
Nothing but shrugs from around the room. I felt my face fluoresce. Fully conflicted, with a familiar battle raging inside my cranium between modesty and pride, I studied the tops of my shoes. Not that I am shy -- on the contrary, I enjoy giving speeches.
The typical program chairman will read his prepared introduction to the audience, stumbling over the words that describe "the inventions of this evening's speaker." A university audience will good-naturedly groan about "the radar speed meter"; an aviation audience will nod approvingly when hearing about "the altitude reporting transponder"; computer science audiences exchange glances when they are told that they will be addressed by the inventor of "the cache memory"; a school assembly will be awestruck by the presence at the podium of the owner and rider of "the largest bicycle in the world."At a cocktail party, however, each person seems intent upon his or her own relevancies, indifferent to those of others, resisting the impulse to admire, taking refuge in a private rampart of doubt. Such occasions do not constitute the best venue for advertising achievements, whether bygone or recent. People are too polite, though, to put their skepticism into words ("Oh really? I suppose you have plenty of documentary evidence for that allegation.").
On this occasion, I sensed dismissiveness in the air. I gestured toward a huge dictionary that Tom keeps open on a pedestal across the room and shrugged. "You can look it up," I said, secure in the knowledge that nobody would bother to do so. Despite its thin Bible-paper pages, the volume stands fully eight inches tall and contains an entry which reads...
soft wares = Dry goods. Dry goods Commercial -- Chiefly U.S. Textile fabrics, cottons, woolens, linens, silks, laces, etc. -- in distinction from hardware, jewelry, groceries, etc.Now, there are plenty of media references on the first radar speed meter and published papers about the altitude reporting transponder. Patent 3,938,097 for the cache memory hangs on my office. Hey, I even have my picture in the Guinness Book of World Records astride The 64-inch Columbia Expert Ordinary. Nevertheless, in 1999 there existed not one dictionary that associated my name with the word 'software'.
As the Centennial -- yea Millennium -- rang in, I became absorbed in the thought that the time had arrived for me to deal with certain matters of life-relevance. Top of my list was the authentication of my claim for the word 'software'. It should be easy, I thought.
It was not.
Then and there began a private effort that spans six years of evenings and weekends. What I like to call the "softword project" has been an adventure full of suspense and with a surprising outcome -- outcomes, plural.
out, of course, I consulted dictionaries and other references to ascertain
what is known about the origin of the word 'software'. Dictionaries
cite an earliest date of 1960. The one that really counts most is
the Oxford English Dictionary, so I took out a second mortgage on
my house and bought the 1999 edition. Appendix A
provides the complete OED entry for 'software' along with its historical
citations. Here are salients...
Given the scholarship that characterizes every entry in OED, and given the significance of the word 'software' -- indeed 'software' is a word offering itself for the naming of the present age! -- perhaps a little parsing will be tolerated here.
Of crucial significance is the fact that Sense a empowers software "to perform a specific task," while drawing the distinction enjoyed by software with respect to "physical components" -- hardware -- the latter commonly regarded as "general purpose." Sense b rightly depicts "system programs" as implements of the computer art, wherein machines have increasingly participated in their own programming. By the way, non-computer senses for the word 'software' -- books and films and videos -- are addressed elsewhere.
The OED entry expands on the definition as follows: "In early use, the word was interpreted widely to include program material written by a user, as well as systems programs...." Quite so -- but only for tardy values of "early." In its earliest uses, the word 'software' referred almost exclusively to "material written by a user." My claim not withstanding, the term would almost never have been interpreted to include "systems programs," since there were few of the latter prior to 1960 and they would have been primitive indeed. For every application of a given computer in those early days, the user necessarily created the whole program -- and in machine language, at that. The first such was binary. Still is. Lurking deep inside today's most advanced computer chips are still those primordial binary bits of old, the intrinsic machine language. In the late fifties, various "utility packages" were being developed comprising globally accessible subroutines for interfacing to the hardware for read/write functions, for sensing, bootstrapping, loading. These support services were of lesser importance than "applications" programs and in the early sixties would be absorbed inside the earliest "monitors" and "operating systems."
n the fifties, software was not in the modern sense "written." Software needed to be punched into paper tape or cards. For fixing "bugs," a programmer might even be required to operate rows of toggle switches and push-buttons on a panel to input "instructions." Each instruction comprised an "operation code" (load, add, subtract,...store) alongside an "operand address" -- all in binary. Early progress was marked by allowing clusters of binary bits to be encoded as octal digits -- a forlorn convenience. Thus the earliest software was necessarily expressed in what became pejorated as a "computer oriented language" (COL), wherein the properties of the hardware were always starkly in evidence -- registers, operations, memory addresses.
Any COL is the most unnatural form of expression if you happen to be a human being. The earliest "assemblers" came along to make COLs more readable and mnemonic, but the programmer was still required to translate the requirements of each mission, whether a scientific calculation or a business accounting, into the machine's unforgiving COL. Along came "compilers," each of which accepted a "problem oriented language" (POL) as "source code" and automatically translated POL strings into the requisite COL, known as "object code." POLs and many other kinds of software belong in the realm of tools. Tools are not jobs, and the ultimate work of the hardware must be controlled by software -- programs and procedures -- that enable a computer to perform specific jobs.
The Cobol compiler, which is mentioned in the OED 1961 citation, got its name from an acronym for COmmon Business Oriented Language. In the sixties, COBOL was a boon for coercing computers to do general ledger, receivables, payables, payroll, labor distribution, labor performance, inventory control -- the real jobs we needed machines for. Before Cobol there was a POL named Fortran (FORmula TRANslator) and before that, in 1959, there was SOAP (Symbolic Optimizing Assembly Program), for its time the most advanced form of a COL.
Despite the perceptions in many references, the use of the term did not wait until assemblers and compilers came into existence. Software created directly in machine language was there from the git-go mandating each job's specificity and putting the usefulness into the general-purpose hardware.
he earliest quotation cited in OED is from the June 1960 issue of Communications, Assocation of Computing Machinery, "Nearly every manufacturer is claiming compatibility with all other equipment via such software as Cobol."
Nota bene, the off-hand expression "...such software as..." discloses evidence (a) that in 1960, the word applied to other classes of software (non-Cobol-like, let's say), which would surely include application-specific, do-the-job programs and (b) that the word 'software' was in use before June 1960.The second citation is a June 1961 Computer Bull article, "The programming expertise, or ‘software’, that is at the disposal of the computer user comprises expert advice on all matters of machine code programming, comprehensive libraries of subroutines for all purposes, and the pegasus/sirius scientific autocode."
Here is evidence that in the 1960s, authors in the computer field were already becoming preoccupied by the magic of "systems programs," which, however attractive as programing tools, merely support the preparation of software and must eventually be trumped by the execution of software -- the ultimate purpose for software -- to do jobs.There being no documented usages in OED of the word 'software' earlier than 1960, I wrote to the Chief Editor...
Thus advised, in the summer of 2000, I took up an action plan, focusing on three searches, for...