TELCOMP - TELCOMP

TELCOMP
Entwickler BBN
Erstmals erschienen 1965 ( 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 ######

Verweise