TELCOMP
TELCOMP è un linguaggio di programmazione sviluppato alla Bolt, Beranek and Newman (BBN) nel 1965 ed in uso almeno fino al 1974. È un linguaggio interattivo, discorsivo e basato su JOSS, sviluppato dopo la visita di Cliff Shaw ai laboratori BBN per conto della RAND nel 1964. La sua prima implementazione si ha sul PDP-1 ed è stato usato per fornire il servizio di time sharing dalla BBN nell'area si Boston e successivamente dalla Time Sharing Ltd. nel Regno Unito.
TELCOMP linguaggio di programmazione | |
---|---|
Autore | Raytheon BBN |
Data di origine | 1965 |
Influenzato da | JOSS |
Ha influenzato | MUMPS |
Nel 1996, Leo Beranek disse: "Avevamo sviluppato un linguaggio di programmazione chiamato TELCOMP che ad oggi, secondo alcuni, è migliore del linguaggio di programmazione adottato dal settore, e cioè il BASIC."[1]
Vennero sviluppate tre versioni: TELCOMP I, TELCOMP II, TELCOMP III.
Il TELCOMP II è stato implementato sul PDP-7 e il TELCOMP III sul PDP-10, la cui esecuzione è affidata al TOPS-10 (sistema operativo del DEC) o al TENEX (sistema operativo proprio della BBN).
I programmi TELCOMP generalmente ricevono i vari input attraverso un lettore di nastri di carta come il Teletype Model 33, il quale è connesso al PDP via modem o linea telefonica. I dati potrebbero essere comunque letti da un qualsiasi lettore di nastri di carta compatibile e dalla tastiera della telescrivente. Le prime versioni non avevano nessuna struttura per lo storage online dei dati.
Durante l'immissione dei dati, l'utente, risponde attraverso il prompt ad una richiesta inoltrata dal programma. Se invece di premere Invio si premesse il tasto Tab, o un qualunque altro tasto che assolva a questa funzione, il programma stamperebbe il proprio output sulla stessa riga. Questo processo può essere ripetuto per l'intera l'unghezza della linea.
Un'evoluzione del TELCOMP più orientata alle stringhe è il linguaggio STRINGCOMP.
Comandi
modificaIl programma TELCOMP è costituito da linee numerate, ciascuna linea indicata come uno step. Gli step sono raggruppati in "Parts". Ogni linea contiene un'istruzione.
DEMAND Legge l'input dalla tastiera/lettore di nastri DO PART Esegue tutti gli step nel PART DO STEP Esegue una singola linea DONE Ferma l'esecusione del part e ritorna al chiamante IF Condizione, suffisso di ogni istruzione FOR Ciclo, suffisso di ogni istruzione PLOT Tipo di output inviato alla telescrivente, rappresentato graficamente PRINT Stampa l'output sulla telescrivente READ Legge l'inputinviato dal lettore di nastri SEND invia l'output per farlo stampare su delle strisce di carta leggibili da un lettore di nastri SET Assegna ad una variabile un valore STOP Ferma l'esecuzione TO PART Va ad uno specifico PART TO STEP Va ad uno specifico STEP TYPE Emula la telescrivente mentre è in modalità stored. ; Commento
Programma d'esempio
modifica1.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 ######
Note
modifica- ^ IEEE - IEEE History Center Archiviato il 5 agosto 2004 in Internet Archive.