TELCOMP

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
TELCOMP
linguaggio di programmazione
AutoreBBN Technologies
Data di origine1965
Influenzato daJOSS
Ha influenzatoMUMPS

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.

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[modifica | modifica wikitesto]

Il 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[modifica | modifica wikitesto]

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 ######

Note[modifica | modifica wikitesto]