TELCOMP - TELCOMP
Entwickler | BBN |
---|---|
Erstmals erschienen | 1965 |
Beeinflusst von | |
JOSS | |
Beeinflusst | |
MUMPS |
TELCOMP war eine Programmiersprache, die etwa 1964 bei Bolt, Beranek und Newman (BBN) entwickelt und bis mindestens 1974 verwendet wurde. BBN bot TELCOMP als kostenpflichtigen Dienst mit ersten Einnahmen im Oktober 1965 an. Der Dienst wurde an eine Firma namens On verkauft -Line Systems im Jahr 1972. In Großbritannien wurde TELCOMP von Time Sharing, Ltd, einer Partnerschaft zwischen BBN und einem Unternehmer namens Richard Evans, angeboten.
Es war eine interaktive, auf JOSS basierende Konversationssprache , die von BBN entwickelt wurde, nachdem Cliff Shaw von RAND 1964 im Rahmen der NIH-Umfrage die Labore besucht hatte. Es wurde zuerst auf dem PDP-1 implementiert und wurde verwendet, um einen kommerziellen Time-Sharing- Service von BBN in der Region Boston und später von Time Sharing Ltd. in Großbritannien bereitzustellen .
Im Jahr 1996 sagte Leo Beranek : "Wir haben sogar eine Programmiersprache namens TELCOMP entwickelt, die bis heute besser ist als die von der Branche verwendete Programmiersprache BASIC."
Es gab mindestens drei Versionen: TELCOMP I, TELCOMP II und TELCOMP III.
TELCOMP I wurde auf dem PDP-1 , TELCOMP II auf dem PDP-7 und TELCOMP III auf dem PDP-10 implementiert und lief auf dem TOPS-10- Betriebssystem von DEC oder auf dem BBN-eigenen TENEX- Betriebssystem.
TELCOMP-Programme wurden normalerweise über einen Papierbandleser eines Teletyps Modell 33 eingegeben , der über ein Modem und eine akustische Telefonleitung mit einem PDP verbunden war . Daten können vom Papierbandleser oder von der Teletyp-Tastatur gelesen werden. Die Ausgabe wurde entweder an den Teletyp gedruckt oder an den Papierstempel gesendet. Frühere Versionen hatten keine Möglichkeit zur Online-Speicherung von Programmen oder Daten.
Während der Dateneingabe mit einem Teletyp würde der Benutzer eine Antwort auf eine gedruckte Eingabeaufforderung eingeben. Wenn Returnder Benutzer nicht trifft , sondern eine Tab ↹andere, möglicherweise berechnete Eingabeaufforderung in derselben Zeile druckt. Dieser Vorgang kann über die gesamte Breite der Linie wiederholt werden. Diese ungewöhnliche Funktion ermöglichte eine sehr kompakte Dateneingabe, vergleichbar mit der Vollbild-CRT-Dateneingabe. Es wurde Papier gespart und der Eingabeabschnitt des Formulars wurde Teil der gedruckten Ausgabe des Programms.
Eine spätere Ableitung von TELCOMP namens STRINGCOMP war auf die Handhabung von Strings ausgerichtet. Für das GE MEDINET- System wurde ein weiteres BBN JOSS-Derivat namens FILECOMP entwickelt , das eingestellt wurde. Das darin enthaltene implizite Dateiverarbeitungssystem hatte Einfluss auf das globale Datenbanksystem von MUMPS .
Die ersten Recherchen für LOGO wurden in TELCOMP durchgeführt, aber nur die Fehler und Interaktionen im JOSS- Stil haben es bis zur eigentlichen Sprache geschafft.
Befehle
Ein TELCOMP-Programm bestand aus nummerierten Zeilen, wobei jede Zeile als Schritt bezeichnet wurde. Die Schritte wurden in Teile gruppiert. Jede Zeile enthielt eine Anweisung.
DEMAND Read input from the teletype DO PART Execute all of the steps in a numbered part and then return DO STEP Execute a single line and return DONE Stop execution of current part and return to caller IF Condition, suffixed to any instruction FOR Loop, suffixed to any instruction PLOT Type output to the teletype in the form of a graph PRINT Print output to the teletype READ Read input from the paper tape reader SEND Send output to the paper tape punch SET Assign a variable to the value of an expression STOP Stop execution completely TO PART Go to a specified part TO STEP Go to a specified line TYPE Emulate teletype input while in stored operation mode (like the TCL/TK Expect functionality) ; Comment, suffixed to any line FORM A specification for formatted output (not really a command)
Beispielprogramm
1.04 TYPE #,"ENTER ONE OF THE FOLLOWING:-";MENU 1.05 TYPE FORM X FOR X=1:1:4 FOR END=10^15 1.06 READ GRNO IN FORM 15 1.065 DONE IF GRNO=END 1.07 TO STEP 1.06 IF GRNO>4 1.08 TO PART GRNO+1 2.01 DO PART 50 2.02 READ N,K 2.03 DO PART 51 2.04 TO PART 15 .. 15.01 LINE FOR X=1:1:3 15.02 TYPE MINPL,MAXPL IN FORM 17 15.03 TYPE FORM 17 15.04 DO PART GRNO+15 FOR X=MNPL:STPL:MXPL 16.01 Y=(X^N)+K 16.02 Y1[X]=(((Y-MNPL)/(MXPL-MNPL))*2)-1 .. FORM 15 ITEM NUMBER? ##### FORM 17 MINIMUM ##### MAXIMUM ######