In 1963, I joined the (now long-gone) first "service bureau" in the Country, C-E-I-R, strategically positioned in Arlington, VA, within walking distance of the Pentagon...their first major client. Our "Computer Center" had one IBM 709 (a big boxy group of racks, and 12 tape drives...disk drives hadn't yet been invented...and an adjacent IBM 1401.
To make the costly (then $800/hour) 709 more efficient, all written programs (in "assembly code" unique to the computer model, or FORTRAN, if you were lucky) were manually typed, line by line into "punch card" decks that were read and copied on the 1401 to magnetic tape reels, the reels than tagged with the project name, then carried to the other end of the room to be loaded from magnetic tape reels into IBM 709 memory for execution.
During that execution, the tape drives would whirl and the programs and starting data copied to the 709's memory. Memory capacity was, in today's terms, "vanishing small" but the program performed it's computations and produced results. It could be minutes, hours, or even (occasionally) days in duration. Then, the output of the program would be written to tape(s), and returned to the 1401 for printing of results. (One was always suspicious of quick results, because it inevitably meant that the program had a fatal "Bug" in it, which had to be diagnosed and repaired.) I've witnessed piles of printed outputs from some programs that stood taller than any person in the Center. Then, we'd likely find some gibberish in those piles of papers, necessitating finding and fixing the errant instructions on the original punched cards...and the process would be repeated until the results were deemed "bug free."
These were the fastest and sleekest way to produce meaningful results of the day. Of course, all those military projects were "Classified," so programmers and computer operators all had to have quite high-level security clearances...largely because the projects were all related to military strategy and/or predictions of likely outcomes of warfare under varying conditions. It also meant there was no sharing of programming techniques or skills outside the computer center or the clients' premises.
Then we got a magical new product: The faster, sleeker, more powerful IBM 7090, and more reliable upgrades.
But, for all that, it was an exciting time to be engaged in the design, development and coding of new mathematical algorithms (e.g., "Linear Programming", that could yield reports that shaped major decision-making in corporations and government agencies.
The cadre of programmers at C-E-I-R* even created the first (to my knowledge) shareware. It was called "CELIB"
(C-E-I-R Library, sometimes "CLIB"). It collected all the basic tools the programmer on an IBM 1401 needed to use, including stock tools for writing punched card data to tape, printing data from tape to the IBM 1402 printer, or even conducting Sorting of data in one order (e.g., by title) to another (e.g., by date). We all carried our "deck" and it's sparse manual around from project to project. It was published via IBM's SHARE project, where tools like these were made freely available to peers. On my first trip to Australia, I was amazed to see, 12 years after CELIB had been shared, that it was still in use, and had been adopted by a University in Sydney as their common convention for all IBM 1401 programmers, and was taught to students as an example of good coding style and practice.
Smaller, simpler projects (.e.g., inventory management for a chain of retail stores) were programmed for the IBM 1401, with it's arcane idea of variable-length words (an arbitrary number of adjacent 6-bit characters, marked off from one another by the "word mark", a special bit that separated groups of bits into meaningful characters. We did everything from help customers decide how a perishable product (like fruits and vegetables) should be priced to the consumer, to figuring out how many submarines the Pentagon should plan to buy in the next decade...and how they should be equipped, and even, what's the best strategy for a naval force to adopt given a challengers' resources, current weather, and known habits.
Programming the IBM 1401 was my introduction to the world of computers, and I often came to work in Monday morning, working through the night on projects...occasionally my own ideas...and all the way through 'til 5 pm Tuesday, then collapsed to bed early, the urge to create with these new expensive "toys" was so strong.
Now, more than 50 years later, my experience with a cellphone is clumsy and limited: It has been like I'd been driving a sleek sedan for the first 45 years...then replacing it with a motorcycle! But, all of it has been a learning journey...and, although retired, I still find ways to create in this marvelous environment, albeit on my small home Windows network of computers and peripherals.
So, to those committed souls reviving an aged computer model on which I learned my chops stirs in my personal satisfaction and happiness knowing that there are people still tilling that particular soil, so that others may learn just how endlessly fascinating has been this journey from Abacus to digital computer, to personal computers in our hand, to whatever new ideas will still spring forth in the near future.
It's always good to revere the past. It's what got us here!
* C-E-I-R: Council for Economic and Industry Research