15 Jahre, nachdem Thomas E. Kurtz und John Kemeny 1964 am Dortmouth-College die Programmiersprache BASIC veröffentlicht hatten, gab es derartig viele Dialekte, die sich nicht nur im Befehlswortschatz, sondern oft auch in der Syntax unterschieden, dass man es teilweise mit ganz anderen Programmiersprachen zu tun hatte. Ein zentrales Anliegen der BASIC-Erfinder war der klare Programmaufbau, der u.a. dadurch unterstützt werden sollte, dass – wie beim Assembler – pro Zeile nur eine Programmanweisung zugelassen war.
Viele, die BASIC in den 1980er-Jahren kennengelernt haben, wurden indes mit Möglichkeiten konfrontiert, mehrere Anweisungen in einer Zeile unterzubringen. Zu deren Trennung wurde vor allem der Doppelpunkt benutzt. Gerüchten zufolge hat Microsoft diese – wie etliche andere – Neuerung in BASIC eingeführt, als sie 1975 ihr ALTAIR-BASIC veröffentlichten. Tatsächlich findet sich darin bereits der Doppelpunkt zur Trennung.
Auf der Suche nach einem Beleg dafür, dass das hier erstmals auftaucht, bin ich allerdings auf wesentlich frühere Dialekte gestoßen, die es ebenfalls zulassen, dass mehrere Befehle pro Zeile eingegeben werden können. Der Verdacht, dass es sich dabei um eine Veränderung für Minicomputer-BASIC-Dialekte handelt, hat sich letztlich bestätigt, wie ich aus einem Programmierhandbuch für das PDP-11-BASIC aus dem Jahre 1970 entnehmen konnte:
All BASIC statements and computations must be written on a single line; they cannot be continued onto a following line. However, more than one statement may be written on a single line when each statement after the first is preceded by a colon.
(Multiple statement lines are a special feature of PDP-11 BASIC.) For example:
10 INPUT A^B> C
is a single statement line, whereas2 LET X=ll: PRINT X^Y-.Z: IF X=A THEM 10
is a multiple statement line containing three statements: LET, PRINT, and IF. Most statements may be used anywhere in a multiple state- ment line; exceptions are noted in the discussion of each statement.
Quelle: PDP-11-BASIC Programming Manual – Single User, Paper Tape Software, S. 2-1 (Hervorh. durch mich)
Spätere BASIC-Dialekte für die PDP-11 nutzten nicht nur Doppelpunkte, sondern Slashes und/oder Backslashes zur Befehlstrennung – etwa das RT-11-BASIC.
Was nun noch etwas mysteriös ist, ist die Frage, woher Gates und Allen auf die Idee gekommen sind, den Doppelpunkt zu übernehmen. Entstanden ist das ALTAIR-BASIC auf einer 8080-Emulation auf einer PDP-10. Für die PDP-10 scheint aber 1975 nach meiner ersten Suche kein BASIC-Dialekt mit Doppelpunkt-Befehlstrennung existiert zu haben. Hat sich 1975 in Harvard, wo die beiden BASIC entwickelt haben, ebenfalls eine PDP-11 befunden? Und warum haben die beiden diesen wesentlich schnelleren Rechner nicht für ihre Emulation benutzt?
Das TCS-BASIC für den TRS-80 CoCo von 1979 erlaubt sowohl den „:“ als auch den Backslash „\“ als Befehlstrennung:
In BASIC, each line begins with a line number and ends
with a carriage return. A line may contain only a
single statement or may consist of several statements
separated by colons (:) or backslashes (\).
siehe: http://bit.ly/16IaxWp