JOSS

ജോസ്(JOSS) (JOHNNIAC ഓപ്പൺ ഷോപ്പ് സിസ്റ്റം എന്നതിന്റെ ചുരുക്കപ്പേരാണ്) ആദ്യത്തെ സംവേദനാത്മകവും ടൈം-ഷെയറിംഗ് പ്രോഗ്രാമിംഗ് ഭാഷകളിലൊന്നാണ്. പിന്നീടുള്ള പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ സാധാരണമായ സവിശേഷതകൾക്ക് ഈ ഭാഷയ്ക്ക് തുടക്കമിട്ടു. എഡിറ്റിംഗിനും ബ്രാഞ്ചിംഗിനും ഇത് ലൈൻ നമ്പറുകൾ ഉപയോഗിച്ചു, കൂടാതെ കണ്ടീഷണൽ സ്റ്റേറ്റ്മെന്റ്സ് അനുവദിച്ചു. ഒരു കോൺവർസ്റ്റേഷണൽ യൂസർ ഇൻ്റർഫേസ് സൃഷ്‌ടിക്കുന്നതിനും നേരിട്ട് കോഡ് എഴുതുന്നതിനും നടപ്പിലാക്കുന്നതിനുമുള്ള ഒരു ബിൽറ്റ്-ഇൻ എഡിറ്ററും ഇതിലുണ്ടായിരുന്നു. ഈ നവീകരണങ്ങൾ 1960 മുതൽ 1980 വരെ സ്വാധീനം ചെലുത്തിയിരുന്നു.

1963 മേയ് മാസത്തിൽ ജോണിയാക്(JOHNNIAC) കമ്പ്യൂട്ടറിൽ  ജാൻഡ് ക്ലിഫോർഡ് ഷാ  റാൻഡ് (RAND) കോപറേഷനിൽ ആദ്യമായി ബീറ്റ ഫോമിൽ ജാൻഡ്സ്(JANDS) I, വികസിപ്പിച്ചു. 1964 ജനവരിയിൽ അഞ്ച് ടെർമിനലുകൾ സപ്പോർട്ട് ചെയ്താണ് ഈ പദ്ധതി നടപ്പിലാക്കിയത്. പത്ത് ടെർമിനലുകൾ സഹിതം, 1965 ജനുവരിയിൽ വീണ്ടും ഇത് വിന്യസിക്കപ്പെട്ടു.കൂടുതൽ ശക്തമായ ഒരു കമ്പ്യൂട്ടർ ആവശ്യമായി വന്നു, അതിനാൽ 1966-ൽ ജോണിയാക്കിന് പകരം പിഡിപി-6(PDP-6) നിലവിൽ വന്നു. പിഡിപി-6 നിരവധി കമ്പ്യൂട്ടർ ടെർമിനലുകളെ പിന്തുണച്ചു, ഇത് ഐബിഎം സെലക്‌ട്രിക് ടൈപ്പ്റൈറ്ററുകളെ കീബോർഡുകളായി ഉപയോഗിച്ചു. ഈ നവീകരണം മൂലം കമ്പ്യൂട്ടിംഗ് കഴിവുകളും ഉപയോക്താവിനുള്ള പ്രവേശനവും സുഗമമാക്കി. ടെർമിനലുകളിൽ ഉപയോക്താവിന് ഇൻപുട്ട് നൽകുന്നതിനായി പച്ച മഷിയും കമ്പ്യൂട്ടറിൻ്റെ പ്രതികരണത്തെക്കുറിക്കാൻ കറുപ്പും ഉപയോഗിച്ചു. മനസിലാകാത്ത ഏതെങ്കിലും കമാൻഡിനെക്കുറിക്കാൻ Eh? റെസ്പോൺസാണ് ഉപയോഗിച്ചത്.ഈ സിസ്റ്റം വളരെ സ്വാധീനം ചെലുത്തുകയും സമാനമായ നിരവധി പ്രോഗ്രാമുകൾക്ക് പ്രചോദനം നൽകുകയും ചെയ്തു. പുതിയ പതിപ്പുകൾ പലപ്പോഴും ടെൽകോമ്പ്(TELCOMP), സ്ട്രിങ്കോമ്പ്(STRINGCOMP) എന്നിവ ഒറിജിനൽ പോലെയായിരുന്നു.  കാൽ(CAL), സിട്രാൻ(CITRAN), ഐസിസ്(ISIS), പിൽഐ(PIL/I), ജീൻ(JEAN (ICT 1900 series)), ആൽജിബ്രായിക് ഇൻറ്റർപ്രിറ്റീവ് ഡയലോഗ്
(AID on PDP-10) എന്നിവ യഥാർത്ഥ ജോസ് സിസ്റ്റത്തെ അടിസ്ഥാനമാക്കി വികസിപ്പിച്ച സമാന പ്രോഗ്രാമുകളുടെ ഉദാഹരണങ്ങളാണ്. ഫോക്കൽ(FOCAL) ഉം മംബ്സ്(MUMPS) ഉം പരസ്പരം വ്യത്യസ്തമായി പരിണമിച്ചു, ഓരോന്നും അതിൻ്റേതായ വികസന പാത പിന്തുടരുന്നു. 1980-കളിലെ മൈക്രോകമ്പ്യൂട്ടറുകളിൽ ഉപയോഗിച്ചിരുന്ന ബേസിക് ഇൻ്റർപ്രെറ്ററുകളോട് സാമ്യമുള്ളതാണ് ജോസ്, എന്നാൽ കമാൻഡുകളും നിർദ്ദേശങ്ങളും എഴുതുന്ന രീതിയിൽ വ്യത്യാസമുണ്ട്. രണ്ടും ആദ്യകാല പ്രോഗ്രാമിംഗ് ഭാഷകളാണ്, ഇവ എളുപ്പത്തിൽ ഉപയോഗിക്കാനും വേഗത്തിൽ പഠിക്കാനും വേണ്ടി രൂപകൽപ്പന ചെയ്തിട്ടുള്ളതാണ്.
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: "  %.0f\n"

ഇത് ഒരു യഥാർത്ഥ സാമ്പിൾ അല്ല, മറിച്ച് ഒരു ആധുനിക സിമുലേറ്ററാണ്. യഥാർത്ഥ JOSS ഭാഷയിൽ നിന്ന് ചില വാക്യങ്ങളിൽ ഇതിൽ വ്യത്യാസങ്ങൾ കാണിക്കുന്നു.
ജനറൽ

  pp. 217–226

 "JOSS Users' Reference Manual", R.L. Clark, Report R-1555/9, RAND Corp (Jan 1975)
 Oral history interview with Keith W. Uncapher, Charles Babbage Institute, University of Minnesota.  Review of projects at RAND when Keith Uncapher was hired in 1950 through the early 1970s, such as JOHNNIAC, JOSS, a survivable national network, and some work related to the ARPANET.
 അവലംബങ്ങൾ