I started programming in February 1968. As I was coding a lot during the first week of August 2020, I realized that I was programming just like I had been in 1968. The amazing thing is that the task was not that different from my coding then. Let me explain.
A bit of history
From 1966, I lived in Paris for six years. I studied linguistics, economics, and law at the University of Paris Jussieu, Sorbonne, Assas, and Dauphine campuses.
I was there in 1968. I remember well the nationwide student and worker riots in May of that year. I can be called a “soixante-huitard” – the official name for those who actually were there during those events. While I attended the university, in January 1968, I took an entry exam at one of the leading computer companies of the time – Bull General Electric (soon acquired by Honeywell). It is important to note that in 1968 there was no such thing as a computer science degree.
Typically, electrical engineers could learn about computer hardware and software as a side specialty but that was rare. IBM, Honeywell, Bull, Univac, and their brethren, hired people with certain inherent characteristics. These attributes would later be recognized as necessary to program computers. Some of the skills were good math and English proficiency, excellent pattern recognition, attention to detail, creativity, and finally, the ability to focus for long periods. The chosen candidates were then trained in-house for a year, in programming and in basic hardware design and functions. After a year, the weaker candidates were culled and the lucky ones continued to work and train as programmers and later as analysts. That is how I entered the computer field. A vocation in which I remained, in one form or another, for the rest of my career.
While in Paris, I was recruited by Honeywell’s Application Development division in Wellesley, Massachusetts. I left Paris for my home in New England. I lived, studied and worked in Massachusetts for 40 years. I started a family, several companies, and several careers. I held a variety of positions, in both middle and upper management, but I never strayed far from programming – always keeping my skills sharp. I even taught programming to engineers at college in Massachusetts — PASCAL and C++. Fun stuff!
Always a programmer
I learned how to program a computer in 1968, first in machine language on a Bull General Electric GAMMA GE-55 computer. It was developed in 1966 by BULL in France and hit the market in 1967. The GAMMA GE-55 was designed for small and middle sized companies that were too small as customers for other, larger computer systems, or had smaller budgets.
The machine was programmed in machine language and a mini-COBOL (Common Business Oriented Language). The compiler was loaded via punched cards. To start a program, a Supervisor (which was an early version of an Operating System) that was loaded by punched cards was necessary. The system was advertised with 2.5 kB, 5 kB or 10 kB of main memory (core memory). Our machine had 5 kB of memory. It is really astonishing that a high level language like COBOL – even our mini-COBOL – was feasible with such a tiny amount of memory.
As an extension, a memory drum of a whopping 750 kB was offered. This also allowed the use of a mini-FORTRAN (FORmula TRANslator). My first programming languages were the machine or assembly language, Basic, COBOL, and FORTRAN. A year later, I was part of a team that programmed a whole Inventory Management System for the Arsenal de Bourges, one of the large artillery producers for the French and allied armies. The system was to be programmed in machine language. This meant a lot of decks of cards for the programs as well as all of the product and sales data.
I quickly moved to larger computers (see above), with magnetic tapes and disks. This included programming such beauties as the the truck routes’ delivery optimization for a large beer producer in Belgium, named Piedboeuf. There are almost 800 different kinds of beer in belgium. One kind of Piedboeuf was very popular until the 1970’s. It was even given to kids at school during their lunch break!
I was typing a lot of my code on a teletypewriter (see above) which created a yellow punched tape (on the left of the machine). Programs and data would be entered into the computer by using its tape reader. I would also write my programs on sheets of paper, which would be brought to the keypunching department where keypunch operators, usually women, would translate my writing into punched cards. Like the ones below.
One of those very nice women was my future first wife, Jane Wood.
I seriously restarted programming when I retired and began helping my son, Adam, in his company, MassMonopoly Media Productions, Inc. We focus on advanced, multimedia websites helping companies with marketing, self-promotion, and products and services sales.
Recently, I was hacking at a client’s products’ database, trying to extract all the information and images we needed to create an online marketing website and an online store in Shopify. Similar to, perhaps the more familiar ones, on Amazon or Home Depot or Walmart. I realized that although there were some “environmental” differences, the coding was pretty much the same, as “it always has been…”
Of course, the environment is different. We now have terabytes and petabytes worth of data in files and databases, all in the cloud. I am not using a teletypewriter or keypunched cards but a powerful gaming computer with four screens, one of 42 inches. The modern programming languages have a lot of shortcuts and functions to take advantage of the new landscape.
If you look at the two code samples above they might look very different and confusing, For an old programmer it’s all the same. You fetch input from somewhere — user’s keyboard, database, or a file. You apply some logic to convert, sort, or combine the data. You send the new information back to the user’s screen, or a database, or a file. Maybe you even print it. No, we did not have Object Programing, recursive code, a built-in function to perform any data transformation, conversion or storage that can think of, multiprocessing, and especially no real time event tracking and response. But the coding still followed the same kind of thinking. In my opinion.
I believe that it is due to the fact that computers have not really changed in the last 60 years. OK, they are a lot faster and have a lot more storage. However, they still use 0s and 1s. A lot of the functions that we had to program in machine language or even the higher language like COBOL and FORTRAN, are nor built into the hardware — lightning fast but not different. The data operations, the variables, the “if-then-else” statements, the input and the output — no difference.
Change is coming. In five, ten, twenty years, the computer interfaces will become so smart and so function-rich that you will be able to dialog with a “virtual app builder” to create your new killer app or website or weapon system. The interface will dig into an unlimited number of building blocks to combine them and build you your new app.Like with a Google search, you will have to know what questions to ask. Beyond that, it’s anyone’s guess. When the new quantum computers arrive, with speeds rivalling human brains, they might learn to program themselves.
Back to current state of affairs, even today, most people do not do programming anymore. They use Content Management Systems and smart database interfaces that allow them to create new computer applications without touching a line of code. They spend time being creative, constructing engaging eye candy on the screens that you use to get the next purchase, that you probably do not need but that will make you happy — in the short term anyway. Only the specialists who work for Microsoft, Apple, Google, Oracle and the like, are still coding. Or guys like me, who needs to hack into a client’s product database to extract the data and build them a better mousetrap.