Talk:Dartmouth BASIC

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

"Basic" was not intended to be an acronym[edit]

Back in the 70's (and thereabouts) most programming language names were acronyms - FORTRAN was an acronym for "Formula Translation" and COBOL was "Common Business Oriented Language"

The original developers at Dartmouth named their language "Basic" because it was supposed to be a "basic" language, lacking the complexity and quirkiness of other languages of the day. An article in Byte Magazine sometime in the 80's printed an interview with the originators of the Basic programming language expressing that "Basic" was not originally intended to be an acronym, but the then convention that computer programming languages names be acronyms, they "invented" an acronym for it in the mid 60's.

Note that though I remember reading about it in several places, and the seminal reference book about the Basic program language was titled Basic Basic, (no acronym), I have not been able to find any of these older sources to cite. Jharris1993 (talk)

Untitled[edit]

I don't know anything about BASIC, but this sounds like an error:

> Greater Than

> Greater Than or Equal To

Recent contribution needs review[edit]

All of the following material is too informal, uncited, and lacking in NPOV. Haven't removed it yet. Maybe some of it can possibly be saved, moved elsewhere in the article, etc.

The early versions of BASIC were used and tested by other Dartmouth students working in the College Psychology labs in early 1964.[citation needed] The departments shared several IBM card punch machines that were used to run batch statistical analysis programs.
Students working on NSF grants in both departments lived in the same rural New Hampshire farmhouse during the summer of 1964.[citation needed] They often met to share ideas. A notable contribution of these late night sessions was the GOTO statement - as in "it's time to GOTO bed". The earliest printed versions of the users' manual were mimeographed with purple type and a pink cover!
Dr. Kemeny, an immigrant from Hungary and chairman of the Mathematics department at the time, eventually went on to serve with great distinction as president of the college. Mr. McGeachie, an undergraduate at the time, was called "Geach" by his friends and colleagues.
Dartmouth BASIC is best known for giving computer programming a human face and making it accessible to everyone.

Impact in Industry[edit]

DTSS had a big impact on industrial practice. Control Data Corporation's Kronos and NOS, Univac's RTB (real time basic) and Hewlett Packard (and most likely other companies) based their commercial timesharing systems on the BASIC language and interface. In the case of CDC, the sytsem was extended to multiple programming languages (BASIC, SNOBOL, FORTRAN and others) but with the same command and line-numbering system. DonPMitchell (talk) 05:27, 13 January 2008 (UTC)[reply]

True enough. You might want to add something about that to our article on the Dartmouth Time Sharing System. -- Derek Ross | Talk 07:18, 13 January 2008 (UTC)[reply]

Darthmouth?[edit]

I saw elsewhere this language called Darthmouth BASIC instead of Dartmouth BASIC. Was it a typing error, or a kind of joke reference to Darth Vader? Albmont (talk) 16:56, 10 September 2008 (UTC)[reply]

Typing error. -- Derek Ross | Talk 18:53, 10 September 2008 (UTC)[reply]

Repaired link to ANSI BASIC[edit]

The page ANSI BASIC has been redirected by the deletionists to BASIC, which says nothing whatsoever about ANSI BASIC or its peculiar interpretation of structured programming. Fortunately, a page that actually covers ANSI BASIC exists at User:PauliKL/ANSI_BASIC, otherwise the correct action would be to remove the link. My "repair" was to link to the user's page. 75.186.5.185 (talk) 21:44, 2 January 2011 (UTC)[reply]

It's been deleted? That's not right. ANSI BASIC was extremely influential on QBASIC and most of the modern implentations of BASIC. In essence it was implemented as Dartmouth BASIC 7 and its TrueBASIC successor. So why on earth did they decide to delete it ? -- Derek Ross | Talk 22:01, 2 January 2011 (UTC)[reply]

MAT?[edit]

The original Dartmouth Basic was unusual in having a matrix operator, MAT yet these are for some reason unmentioned in this article.

As shown in this example from the 1968 manual (http://www.bitsavers.org/pdf/dartmouth/BASIC_4th_Edition_Jan68.pdf BASIC, 4th Edition, 1968 page 53) which averages the numbers input:

 5 LET S = 0
10 MAT INPUT V
20 LET N = NUM
30 IF N = 0 THEN 99
40 FOR I = 1 TO N
45 LET S = S + V(I)
50 NEXT I
60 PRINT S/N
70 GO TO 5
99 END
COMMENT! It is not clear how the dimension of V is known! see more my comment about MAT with the same indentation.

I believe they persisted in most micro implementations, but were of course dropped by the later micro/ROM derivatives. Snori (talk) 01:31, 14 November 2011 (UTC)[reply]

Well they are mentioned, but only just. The MAT statements weren't in the original 1964 version which is the focus of this article. That's why they haven't been discussed in any detail. Nothing wrong with adding more about them to the article, though. Especially if you discuss version 3 of Dartmouth BASIC which first introduced them. And most micro implementations didn't have the MAT statements because when you implement BASIC in an 8K ROM something's got to give. The exceptions were TrueBASIC (which is basically Dartmouth BASIC for micros) and later the Full ANSI-compatible BASICs. -- Derek Ross | Talk 07:33, 15 November 2011 (UTC)[reply]
I used BASIC in an HP-3000 computer, it had MAT and the available memory for a BASIC-3000 was either 8Kb or 16Kb, I don't remember.
The power of the MAT operations is that one can do operations like matrix products as far as I remember one could write code like this:
 10 DIM A(3,3)
 20 DIM B(3,3)
 30 DIM C(3,3)
 ... here code to MAT INPUT A and B
100 MAT C = A * B
 ... here a MAT PRINT C code
200 END
There is no need to write loops to do this product. In my experience it was rarely used because the books on numerical methods used FORTRAN and those programmers using BASIC instead, tended to transliterate the FORTRAN code to BASIC.
That was a very important feature of BASIC that could be very didactic for structuring the programmers mind thinking more abstractly instead of digging in the detail of the computation. Programmers should think in an abstract language to then implement in a computer language. But that is history and to much saliva was wasted discussing about the use or not of GOTOs, not in how to structure the programs, even using GOTOs.
The above example of MAT that was inserted in the article, is not clear, I just indented it to show the structure, but I don't remember things like the MAT INPUT instruction. If I clould, I don't know how BASIC-3000 is close to the Dartmouth BASIC. Because BASIC-3000 also had structured DO-END blocks, and functions could be recursive, but I don't remember the syntax.
Those who remember BASIC could write a clearer example of a program with MAT operations, for example reading the coefficients of linear equations solving it by computing the inverse, BASIC-3000 had a MAT operator for that purpose, and doing the MAT product to solve the system. Also make annotations about array re-dimensioning, because I remember that both FORTRAN IV and BASIC could. I also remember that MAT INPUT used a FOR LOOP, but that makes no sense, maybe my memory is confusing two different ways to enter arrays, one with MAT INPUT and other with inline FOR-NEXT loops. But that could be an extension of BASIC-3000.
Well that is all my suggestion on how to improve this article.

Citations[edit]

There are quite a few "citations needed" tags for this article. Most of them can be resolved by referring to K&K's book "Back to BASIC" which is listed in the bibliography. I'll get around to filling them in sometime. -- Derek Ross | Talk 05:06, 20 November 2012 (UTC)[reply]

goto[edit]

The remark that one night discussion session produced the GOTO statement smells like a prank contribution. GOTO had been a staple of assembly language and essentially every higher level language throughout the previous history of computing. Conceivably GOTO is a mis-recollection of GOSUB, a curious feature of BASIC that (thankfully) never was adopted anywhere else. It would indeed be interesting to know how GOSUB got started. The sidelight about "Geach" seems eminently plausible, perhaps even more so when one realizes that McGeachie is actually pronounced m'gyew. I hesitate to fix anything in the article because I have never paid enough attention to BASIC to justify pontificating about it. Mdmi (talk) 14:04, 30 April 2014 (UTC)[reply]

GOSUB just works the way that CALL works in most assemblers. I doubt that there's more to it than that. The biggest difference between it and the procedure calls of other high-level languages is that GOSUB doesn't create a local environment for parameters or variables. -- Derek Ross | Talk 19:03, 30 April 2014 (UTC)[reply]

Broken Links[edit]

There is probably a standard way to report them, but the first and third External Link are broken.

Wmdgus73 (talk) 03:55, 20 August 2015 (UTC)[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on Dartmouth BASIC. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 20:13, 4 September 2017 (UTC)[reply]

GE 225 + Datanet 30 = GE-265?[edit]

The system would work by having the DN-30 run the terminals and save the work to the disk. When the user typed RUN, the GE-225 would read that file, compile it, run it, and pass back the results to be printed on the terminal.[13] This combination of machines was later known as the GE-265, adding their model numbers. GE built about fifty additional examples of the GE-265, many for their service bureau business. GE referred to these as their Mark I time-sharing systems.[14]

Either there is some system with a '10' in the name missing (the hard drive??) in this or this statement about adding the model numbers is just wrong — Preceding unsigned comment added by Sejtam (talkcontribs) 07:05, 30 March 2021 (UTC)[reply]

Well spotted! The 225 was replaced by a 235, and it was that combo that gave its name to the 265. Fully reffed. Maury Markowitz (talk) 19:38, 17 June 2022 (UTC)[reply]