This article is on the programming language. See also religion in China and incense, Joss Stone for the British female soul singer, or Joss Whedon for the television writer/producer

JOSS (an acronym for JOHNNIAC Open Shop System) was one of the very first interactive, time sharing programming languages.

JOSS I, developed by J. Clifford Shaw at RAND was first implemented, in beta form, on the JOHNNIAC computer in May 1963. The full implementation was deployed in January 1964, supporting 5 terminals and the final version, JOSS In, supporting 10 terminals, was deployed in January 1965.

JOSS was written in a symbolic assembly language called EasyFox (E and F in the US military's phonetic alphabet of that time). EasyFox was also developed by Cliff Shaw.

JOSS was dubbed "The Helpful Assistant" and is renowned for its conversational user interface. Originally green/black typewriter ribbons were used in its terminals with green being used for user input and black for the computer's response. Any command that was not understood elicited the response "Eh?".

JOSS II, was developed by Charles L. Baker, Joseph W. Smith, Irwin D. Greenwald, and G. Edward Bryan for the PDP-6 computer between 1964 and February 1966.

Many variants of JOSS were developed and implemented on a variety of platforms. Some of these variants remained very similar to the original: TELCOMP, FOCAL, CAL, CITRAN, ISIS, PIL/I, JEAN (ICT 1900 series); while others, such as MUMPS, developed in distinctive directions.

Sample program

1.1 Demand p,q.
1.2 Stop if q<0 or r(q,2)=0.
1.3 Set a=1.
1.4 Do part 2 while q>1 and a~=0.
1.5 Type a in form 3.
1.6 Stop.
2.1  Do part 20.
2.1  Do part 11 if p<0.
2.2  Do part 12 if p>=q.
2.3  Do part 13 if p=0.
2.4  Done if a=0.
2.5  Set p=p/4 while r(p,4)=0.
2.6  Do part 14 if r(p,2)=0.
2.7  Do part 20.
2.8  Set a=-a if r(p,4)=r(q,4)=3.
2.9  Set s=p, p=q, q=s.
2.95 Do part 20.
11.1 Set a=-a if r(q,4)=3.
11.2 Set p=|p|.
11.3 Do part 20.
12.1 Set p=r(p,q).
12.2 Do part 20.
13.1 Set a=0, p=1, q=1.
14.1 Set a=-a if r(q,8)=3 or r(q,8)=5.
14.2 Set p=p/2.
20.1 Type p, q in form 1 if a=1.
20.2 Type p, q in form 2 if a=-1.
Form 1: "  L(%.0f,%.0f)  ="
Form 2: "  -L(%.0f,%.0f)  ="
Form 3: "  %.0fn"

Note that this is not an original sample, but rather one from a modern simulator. There are some syntactic differences from the original JOSS language.


"JOSS Users' Reference Manual", R.L. Clark, Report F-1535/9, RAND Corp (Jan 1975); Sammet 1969, pp.217-226.

Search another word or see JOSSon Dictionary | Thesaurus |Spanish
Copyright © 2015, LLC. All rights reserved.
  • Please Login or Sign Up to use the Recent Searches feature