return to main page

Tiny Basic for the IBM 1401

would you believe ??

- Tiny Basic early release, for IBM 1401
- A Tale about BASIC
- Alan Kay suggest we look into JOSS
- Alan Kay's comparison of interactivity of BASIC vs JOSS
- copy of Dartmouth Basic manual from 1964, from Alan Kay

Tiny Basic early release, for IBM 1401, by Paul Laughton
Subject: [1401_software] 1401 Tiny Basic, Release 01
From: Paul Laughton < >
Date: Fri, Jan 09, 2015 1:29 pm

The first release of 1401 Tiny Basic is available for testing. The program is essentially complete and has been tested. It has been tested but needs to be tested by people other than myself.

Note: This version has only been run on ROPE. It will need some small changes to run on the real 1401.

Thanks for testing,

Links to 1401 Tiny Basic Manual.txt, BRTEST.TXT, Basic ReadMe.txt, Basic.s
Files updated as of Feb 8, 2015

A Tale about BASIC (with sub-plot) by Ed Thelen
"Long Ago and Far Away" -
(sub-plot) About 1958, a young lady gave a no longer drifting ex-soldier, now engineeering student, a serious book - "Introduction to Finite Mathematics" by Professor John Kemeny, of Dartmouth College. The student was so impressed by the young lady's obvious good taste, and other things, that a year later he proposed and was accepted. Later the young lady gave the student then computer engineer three rowdy sons.
"Long Ago and Far Away" -
In about 1962 and in the land of New Hampshire is Dartmouth college.
There Professor John Kemeny and his assistant Thomas Kurtz dreamed a great dream of a simple yet effective computer language and computer system for students.

The current language was FORTRAN, run in a batch environment. The students, dealing with punched cards, could only get one compilation (and maybe execution) per day. - This caused very slow learning and software development.

Kemeny and Kurtz got funding from the National Science Foundation and set off on their quest. A language (BASIC) was designed, but needed hardware so that students could sit at multiiple Mod 33 teletypes, connected to computing equipment (via Bell 103 modems) and develop their programs, interactively.
Oh yes, the data rate was ten characters per second - seemingly just fine at the time :-| After all, how fast can you type ?? ;-))

This way students could compile and maybe execute their programs many times per hour rather than week.

For hardware, the good professor somehow made contact with "Jerry" (Ezekiel) Weiner, manager of the General Electric Computer Department, Advanced Development, in far off Phoenix, Arizona. By means unknown, a system consisting of

  • - A GE DataNet 30, a communications computer that could interact with 64 teletype lines
    The DataNet 30 would do the editing from the student terminals, write the lines to the disk, and tell the GE 225 which files were ready for processing, and then type the results to the student terminals.
  • - A GE 225 computer system, a 20 bit computer with memory cycle time of 21 microseconds
    The GE 225 was the "main computer", read lines of program from the disk, compile it, and if feasible, run the compilation, writing all results to the disk.
  • - a large shared disk,
was configured and installed at Dartmouth.

The people at Dartmouth College did most of the system software :-|
and apparently the students wrote the compiler -

A year or so later, General Electric Computer Division wanted to commercialize this effort - That may have been part of the agreement for supplying ?free? hardware. George Fraine of GE was charged with tidying up the Dartmough software and finding an infrequent but very annoying bug -
Occasionally a person's source code would just disappear - To reduce the disaster, students had developed the habit of saving their code to other files occasionally for protection..

Fortunately, George found the "disappearing user's source code" bug - There was a flaw in the end of allocated storage detection program logic. Under an unusual condition, the NEXT source code on the disk would be fatally damaged, disappear. The fact that there were three characters per computer word may have been a factor. The bug was much harder to find than to fix.

This Dartmouth time sharing system worked earlier than the much more ambitious Massachusetts Institute of Technology "Multics" system being developed under Fernando Corbató.

Soon Dartmouth's GE 225 was too heavily loaded, and the now available, three times faster, code compatible GE 235 was sent as a replacement. About a year later the GE 635, with 1 microsecond memory was being used -

My last task at General Electric was to adapt the original Dartmouth hardware and software to aid manufacturing peripheral checkout. I had barely started when a bunch of us quit GE.

GE had a thriving Time Sharing Business for a while - then one of the executives (Tom O’Rourke) split and created "TymShare", using Scientific Data Systems equipment (SDS-940) as GE wouldn't sell computing equipment to a competitor !! ?????

In the late 1970s, the Home Brew Club era, I would hear that BASIC is an "interpreted language" -
In my infinite wisdom I would assert that you can compile it also -
My antagonist and I would look cross eyed at each other -
Just to prove I'm correct, I frequently program in FreeBASIC, definitely compiled, and fast as "Blinding Electronic Speed" (used to be "Greased Lightning" ;-))

Alan Kay's comparison of interactivity of BASIC vs JOSS
Attached is a Dartmouth Basic manual from 1964 -- would be a very early version.

As you can see, it was not interactive the way JOSS, Lisp, Logo, etc were. These languages all allowed expressions of the language to be typed and gave immediate feedback (called "direct interaction"), as well as to allow procedures to be entered ("indirect interaction") for later use.

For Basic, one types in lines of code for the program in "card images", then data "cards", then you run the program and see what happens. The only interaction comes if you have written lines of code yourself that interact with the user. This way of using Basic came from their previous use of Fortran in batch mode where the programs and data cards were submitted in exactly the same way. The manual reveals later on that the batch mode was also still used.

To me, the cool things about Dartmouth Basic were about how the computer center folks decided to think about what they were doing -- as a kind of "public utility" (in synch with other parts of the ARPA community). One of the main proponents of this way of thinking was Art Leuhrmann, who used to go around giving talks which included asking the audience if they knew what it cost to take a book out of a library. Art took the Dartmouth Library budget and divided the circulation into it and got $55 per book. He pointed out that this would prohibit the use of the library by the public, so libraries were thought of as a "public benefit utility" and amortized over the entire population.

It happened that Dartmouth for many years had made their own college library such a public utility for the whole town of Hanover. So when they got Basic going, they decided to do the same thing with their time-sharing system for the whole town. The most wonderful thing I saw when I visited there in the 60s was a gas station with a TTY, and the gas station guy was doing his accounting on it in a program he had written in Basic!

Isn't that cool?

return to main page