The Early Years.
Some backstory: I got interested on mathematics in 7th grade, 1963, and began reading things like the Martin Gardner’s books and articles in SciAm. One of his books discussed pentominoes; one problem (or game) is to fit all twelve of them onto a checkerboard. I made a set out of cardboard to play with. Gardner mentioned that somebody had programmed a computer to find solutions. This seemed totally mysterious to me. My algorithm was to try placing them on a checkerboard more or less randomly and hope to stumble upon solutions. I knew absolutely nothing about computers, and couldn’t imagine what an “algorithm” might be like.
Other chapters discussed things like variations on the Sieve of Eratosthenes that produced different sets of pseudo-quasi-sort-of prime-like numbers.
Fast forward to 1968. When I was in 11th grade, Hewlett Packard came out with the HP 9100A desktop calculator, having the capabilities of a modern-day lower-end scientific pocket calculator, but the size, shape, and weight (heavy!) of an IBM electric typewriter. They placed one in my school, and sent a rep out to give a demo to our Algebra III (or IV) class. I immediately picked up a vague idea of its instruction set, and started writing programs for it at home that evening. They turned out to be totally wrong because I had such a vague notion of the instruction set, but I got some real documentation the next day and began writing actual working programs after that. The demo guy left us some material with various suggested simple programming problems (areas of various polygons; some trig problems; stuff like that). Mr. Weinstein, the algebra teacher, kept it in his room, and I and maybe two other students spent our lunch hours there for the rest of that year and the next year. My Pre-Calc teacher, Mr. Gattegno, was pissed at me for spending all my time playing with that instead of doing my homework. (I got an A anyway. So there.)
Someone told me that some math teachers from another area high school were teaching a Saturday programming class for high school students at the local community college. And somehow, I got into that. The computer was an IBM 1620, Model 1 “CADET” (Can’t Add, Doesn’t Even Try). I got into their beginning Fortran class. The IBM 1620 Fortran Reference Manual, in its entirety, was about 30 pages long. (Fortran II.) I read it in one sitting (try that with a modern beginning Java book!) and knew Fortran inside and out, sort of, and began writing fairly elaborate programs (for a beginner): Programs to do those variant Sieve of Eratosthenes pseudo-quasi-sort-of prime-like numbers; other mathematically interesting (for a beginner) stuff. And I wrote a rather elaborate Hangman game! In just about a month or so, they moved me to the Advanced Fortran class. Old-timers will remember: 4900796! (Read the caption!)
The computer room was presided over by two college students who worked there, one of whom was a total absolute unconditional asshole. The other was almost as obnoxious. Almost. All programming, of course, was done on IBM cards punched on an IBM 026 keypunch mochine. I once tried composing a program “on-line”, that is, while sitting at the keypunch machine instead of on paper ahead of time. I learned that this Does Not Work.
I finished high school (Class of 1969) and went to Berkeley that very summer (skipping my last week of classes and graduation to do so, and never regretting it). I signed up for their beginning Fortran class (that being the dominant language of the day; Pascal was still a few years off). My Big Brother, was lived there and knew some people, took me to see a professor about getting straight into the upper-division assembly language (Control Data 6400) class. The prof asked me to write an utterly trivial Fortran program on the board (print a table of the numbers from 1 to 10 and their squares), and then told me to go ahead and sign up for the upper-division class.
I got in with “that crowd” fairly quickly, and learned that there was an archaic Univac SS-90 computer in the basement of the Engineering building, donated by some company for a tax write-off. It didn’t work at all, but a few students were trying to refurbish it. Meanwhile, a lumber company in Fort Bragg (Ca.) was donating their SS-90 also for a tax write-off, so they could bring in an IBM 360. A bunch of us guys, along with a technician who worked there, had us a marvelous road trip up through the redwoods going to get it. The EE guys finally got them working, and a few of us spent the rest of our waking hours there playing with it for the next couple years.
That’s enough story for one sitting. There’s 30-some more years to tell, but I imagine that would get rather tiresome. I could probably write an entire thread on those SS-90’s alone, and our related adventures.
I played with that system too a bit. They had a BASIC program (that was implemented on many machines over the years, including on an Apple ][ by me) that generated silly little random-ish “science-fiction stories” of one or two sentences. Some examples:
Earth is invaded by tiny Betelgeusian icky things, but a priest talks to them of God and they die. The end.
Earth is attacked by horrifying monsters from the end of the galaxy who want our women, take a few, and leave. The end.
Earth falls into the sun and almost everybody dies. The end.
Somewhere over the years, I stumbled upon the script from which those stories were generated, from which I was able to write my version(s) of the program.
There was this anecdote about Multics, from the classic Famous Bugs document, which I first recall seeing kicking around Usenet circa 1985 or so: