As I’ve mentioned on previous occasions, when I graduated from high school and started university in the summer of 1975, the only computer in the engineering department building itself was an analog beast that filled the room.
This monstrous machine was formed from lots of small modules, each of which provided a single analog function, like being able to compare, add, subtract, multiply, and integrate analog signals. We specified coefficients using rotary switches and potentiometers, and we connected the various functions together using cables with jack plugs on each end (see also The Analog Thing (THAT)).
The university did own a digital computer, but this was housed in its own building on the other side of the town center. One of the first programming languages I learned was FORTRAN, which was originally developed by IBM in the 1950s for scientific and engineering applications.
We captured our programs on “decks” of punched cards. Once you had created a deck, you carried it to the computer building and handed it through a window to someone on the other side who said, “Come back next week.” Almost invariably, when you returned in the hope of receiving a printout showing the results from your code, you were instead presented with your original deck of cards attached to a scrap of paper bearing a note saying something like, “Missing comma on Line 1.”
Arrgggghhh (and I mean that most sincerely). So, you would trudge back to the engineering building, create a new card for Line 1 including the wayward comma, and crawl back to the computer building, only to be invited to, “Come back next week.”
This style of programming has been compared to “playing chess by mail” (and I don’t mean email—we’re talking about snail mail with days or weeks between moves).
Having said all this, we did have Teletype machines in the engineering department that were connected by telephone lines to the main computer. We could use these to enter and run programs in the BASIC programming language.
We could also run existing programs that had been created in BASIC. One of these was the classic Animal Game in which the computer asks you a series of Yes/No questions to try to guess which animal you are thinking of.
When this game is run for the first time, it knows only a single animal, say an Elephant, so its first guess with its first player will be “Is the animal you are thinking of an Elephant?”
The player gets to pick between “Yes” and “No” options. If, by some quirk of fate, the player had been thinking of an Elephant, they would select “Yes,” and the game would be over. However, if they had been thinking of a Mouse, for example, then they would select “No.” In this case, the computer would ask them to type in the name of their animal, and they’d enter “Mouse.” Then it would ask them to enter a question that could be used to differentiate between a Mouse and an Elephant, and the player might enter something like, “Is it small?” Finally, the computer would ask the player, “What is the answer in the case of a Mouse?” and—in this case—the player would select “Yes.” The computer would now add this new animal to its collection for use with the next player.
I know all this sounds pathetically simple now, but it was mind-blowing at the time (is there anyone out there who would care to back me up on this in the comments below?).
BASIC, which stands for “Beginners’ All-purpose Symbolic Instruction Code,” was originally developed at Dartmouth College in the early 1960s. Many professional programmers tend to disparage this language, but it was ideally suited to its purpose, which was to enable students in non-scientific fields to use computers. At the same time, BASIC’s creators also developed the Dartmouth Time Sharing System (DTSS), which allowed multiple users to edit and run BASIC programs simultaneously on remote terminals.
The use of BASIC proliferated throughout universities in the 1960s and exploded with the advent of microcomputers in the mid-1970s.
The reason I’m waffling on about this here is that my chum, Jay Dowling, recently shared a link to this video that documents “The Birth of BASIC,” including interviews with many of the people who were part of its development when they were students.
As you’ll see, the two instigators of this project were John G. Kemeny and Thomas E. Kurtz. To be honest, I’d never heard of Kemeny prior to watching this video, but I now regard him as being one of my heroes. One of the commenters to the video said, “That short story while rolling the end credits is moving enough to make a grown man cry.” I agree because I had a little tear in my own eye after watching this little rascal.
What say you? Do you have any BASIC-related tales you’d care to share with the rest of us?
I attended Dartmouth 1971-1973, graduating with a Master’s in physics, so used Dartmouth BASIC a lot. At Dartmouth, BASIC was a compiler running on Dartmouth Time-Sharing System DTSS. See John G. Kemeny’s 1972 book “Man and the Computer” for details.
DTSS had a text-only integrated development environment usually accessed through uppercase-only ten-character-per-second printing Teletypes. The user typed in a line and RETURN, then waited for a response. A line starting with a digit was a line to be inserted in the current file. A line starting with a letter was a command to the operating system.
“RUN” command told DTSS to compile the current file, then run the compiled code, then discard the compiled code. “SYSTEM FORTRAN” command told the compiler to compile FORTRAN instead of BASIC. “COMPILE” command told DTSS to compile the current working file and save the object code. “NEW filename” told the system to start working with a new file. “OLD filename” told the system to resume working with an old file.
The most valuable-to-me book I acquired while at Dartmouth, was “Intel MCS-8 Micro Computer Set User’s Guide” to the 8008 family, as my first job after graduation involved 8008 hardware and software.
Peter — after all this time you still surprise me — I don;t think I ever knew you attended Dartmouth — I wish I could get my time machine working and go back and visit the campus in the late 1960s and early 1970s (if so, I’ll look you up and buy you a beer 🙂
In 1969 I took a high school summer course in “computers.” By the end of the course, each student created a one or two page program in BASIC using yellow punch tape into the Portland, Oregon School District’s central computer. The task was to calculate the interest on the $24 spent to purchase Manhattan Island in1624.
I remember being astounded that the task took less than 10 seconds to compute. Ridiculously slow now. Back then, it was the stuff of dreams.
Interesting by today’s standards, I was one of only a handful of males who were comfortable with a keyboard. Even four years later in college, it was uncommon for men to know how to type.
When I was 16 my mother begged me to learn to type, but that was 1973 and I could see no need — now I spend all day typing with the same two fingers (sob sob)
At my professor father’s urging, I took a high-school summer-school class in touch typing in 1965, and am very glad I did. I recall that I may have been the only boy in the class. I still have the typewriter I used in college 1966-1970.
Your father was a wise man — as are you — I wish I knew a fraction of the stuff you have at your metaphorical fingertips
I was four years behind you, but still sent my first programs to the big computer (277 air miles away) by punch card. We had to feed our stack of cards ourselves into the punch card reader, which was programmed with pegboards.
Our department band printer didn’t have any time-out so it was not uncommon to come back in the next morning to see an entire ream of paper on the floor because someone had an infinite loop in their print routine.
My first use of BASIC was on an Apple ][. You could stop the program mid-run, edit code or poke memory values and then restart where you had left off. That may seem cool until someone uses that “feature” to cheat in a computer game when you’re out of the room getting snacks.
“That may seem cool until someone uses that “feature” to cheat in a computer game when you’re out of the room getting snacks.” Life has not treated you kindly, old friend 🙂
When I left Dartmouth, I kept some of the BASIC programs I had written. These programs turned out to be incompatible with microcomputer BASICs which lacked local variables in subroutines. Dartmouth BASIC had local variables in subroutines.
I would love to go back in time and be a “fly on the wall” with respect to the creation Dartmouth BASIC — listen to the discussions and decisions — that sort of thing.