TELCOMP was a
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
developed at
Bolt, Beranek and Newman (BBN) in about 1964 and in use until at least 1974. BBN offered TELCOMP as a paid service, with first revenue in October 1965. The service was sold to
On-Line Systems, Inc. (OLS) in 1972. In the United Kingdom, TELCOMP was offered by Time Sharing, Ltd, a partnership between BBN and an entrepreneur named Richard Evans.
It was an interactive, conversational language based on
JOSS
JOSS (acronym for JOHNNIAC Open Shop System) was one of the first interactive, time-sharing programming languages. It pioneered many features that would become common in languages from the 1960s into the 1980s, including use of line numbers as bo ...
, developed by BBN after
Cliff Shaw from
RAND visited the labs in 1964 as part of the NIH survey. It was first implemented on the
PDP-1 and was used to provide a commercial
time sharing service by BBN in the Boston area and later by Time Sharing Ltd. in the United Kingdom.
In 1996,
Leo Beranek said "We even developed a programming language called TELCOMP that to this day, some say was better than the programming language that the industry adopted, namely BASIC."
There were at least three versions: TELCOMP I, TELCOMP II, and TELCOMP III.
TELCOMP I was implemented on the
PDP-1, TELCOMP II on the
PDP-7 and TELCOMP III on the
PDP-10
Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especi ...
, running on DEC
's
TOPS-10 operating system or on BBN's own
TENEX operating system.
TELCOMP programs were normally input via a
paper tape reader on a
Teletype Model 33, which would be connected to a PDP via a
modem
The Democratic Movement (, ; MoDem ) is a centre to centre-right political party in France, whose main ideological trends are liberalism and Christian democracy, and that is characterised by a strong pro-Europeanist stance. MoDem was establis ...
and acoustic telephone line. Data could be read from the paper tape reader or from the Teletype keyboard. Output was either printed to the Teletype or sent to the paper tape punch. Early versions had no facility for on-line storage of programs or data.
During data input using a Teletype, the user would type a response to a printed prompt. If, instead of hitting , the user hit , another, possibly computed, prompt would be printed on the same line. This process could be repeated for the full width of the line. This unusual feature allowed very compact data entry, comparable to full-screen CRT data entry. It saved paper, and the input section of the form became part of the program's printed output.
A later derivative of TELCOMP called
STRINGCOMP
STRINGCOMP was a programming language developed at Bolt, Beranek and Newman (BBN).
It was one of the three variants of JOSS II (along with TELCOMP and FILECOMP) that were developed by BBN. It had extended string handling capabilities to augm ...
was oriented towards string handling. Another BBN JOSS-derivative called
FILECOMP was developed for the GE
MEDINET system, which was cancelled. The implicit file handling system it contained was influential on the
MUMPS
MUMPS ("Massachusetts General Hospital Utility Multi-Programming System"), or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at Massachusetts Gen ...
global database system.
The initial research for
LOGO
A logo (abbreviation of logotype; ) is a graphic mark, emblem, or symbol used to aid and promote public identification and recognition. It may be of an abstract or figurative design or include the text of the name that it represents, as in ...
was carried out in TELCOMP, but only the
JOSS
JOSS (acronym for JOHNNIAC Open Shop System) was one of the first interactive, time-sharing programming languages. It pioneered many features that would become common in languages from the 1960s into the 1980s, including use of line numbers as bo ...
-style errors and interaction made it through to the actual language.
Commands
A TELCOMP program was made up of numbered lines, each line referred to as a Step. Steps were grouped into Parts. Each line contained one instruction.
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)
Sample Program
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
(((Y-MNPL)/(MXPL-MNPL))*2)-1
..
FORM 15
ITEM NUMBER? #####
FORM 17
MINIMUM ##### MAXIMUM ######
References
{{DEFAULTSORT:Telcomp
JOSS programming language family