Кіріспе

JOVIAL бағдарламалау тілі – ALGOL 58 негізінде құрылған, кіріктірілген жүйелерді (механикалық бөліктерді қоса алғанда, үлкен, толық құрылғының бөлігі ретінде кіріктірілген, бір немесе бірнеше арнайы функцияларды орындауға арналған мамандандырылған компьютерлік жүйелерді) әзірлеуге арналған жоғары деңгейдегі бағдарламалау тілі. Ол 1960-1970 жылдары маңызды жүйелік бағдарламалау тілі болды. 1959 жылы Жюль Шварц басқарған System Development Corporation (SDC) командасы әскери ұшақтардың электроникасы үшін бағдарламалық жасақтама жасауды бастады. JOVIAL атауы – «Жюльдің Халықаралық алгебралық тілінің өз нұсқасы» деген сөздің қысқартуы; Халықаралық алгоритмдік тіл (IAL) бастапқыда ALGOL 58 үшін ұсынылған атау еді. Шварцтың айтуынша, тіл бастапқыда OVIAL деп аталды, бірақ түрлі себептермен бұған қарсылық болды. Содан кейін JOVIAL ұсынылды, J әрпіне ешқандай мағына берілмеді. Шварц отырыстың төрағасы болғандықтан, тілге оның есімі берілуі ұсынылды, бірақ бұл ресми емес атау қалыптасып қалды. 1960 жылдары JOVIAL АҚШ әскери L жобалар сериясының, әсіресе ITT 465L Стратегиялық әуе командалық басқару жүйесінің (Стратегиялық автоматтандырылған командалық және бақылау жүйесі (SACCS) жобасының) бөлігі болды, себебі нақты уақыт есептеу бағдарламалау тілдерінің жетіспеушілігі байқалды. SACCS жобасының 95 пайызы JOVIAL-да жазылған, оны International Telephone & Telegraph (ITT) басқарды, ал бағдарламалық жасақтаманы негізінен SDC жасады. Бағдарламалық жоба екі жылға жуық және 1400-ден аз бағдарламалаушы жылдарына созылды, бұл SAGE L жобасындағы тең уақыттың жартысынан кем. 1970 жылдардың соңы мен 1980 жылдардың басында АҚШ Әскери-әуе күштері стандартталған орталық процессорды (CPU) – MIL STD 1750A қабылдады, ал одан кейінгі JOVIAL бағдарламалары осы процессор үшін жасалды. Бірнеше коммерциялық жеткізушілер MIL STD 1750A сияқты процессорлар үшін JOVIAL құруға арналған компиляторлар мен бағдарламалау құралдарын ұсынды, соның ішінде Advanced Computer Techniques (ACT), TLD Systems, Proprietary Software Systems (PSS) және басқалары. JOVIAL 1973 жылы MIL STD 1589 стандартына сәйкес стандартталды және 1984 жылы MIL STD 1589C стандартына сәйкес қайта қарастырылды. Ол әлі де ескі әскери көліктер мен ұшақтардың бағдарламалық жасақтамасын жаңарту және күтіп ұстау үшін қолданылады. Қазіргі кезде үш диалект кеңінен қолданылады: J3, J3B 2 және J73. 2010 жылдан бастап JOVIAL бағдарламасын USAF JOVIAL бағдарламалық кеңсесі (JPO) енді сақтап, таратпайды. Бұрын JPO таратқан бағдарламалық қамтамасыз ету әлі де коммерциялық ресурстар арқылы қолжетімді, Software Engineering Associates, Inc., (SEA) және Windows, Linux, Mac OS X сияқты хост/мақсатты процессорлардың басқа комбинациялары, PowerPC, SPARC, VAX, 1750A, PowerPC, TI 9989, Zilog Z800x, Motorola 680x0 және IBM System 360, System 370, System z. Сонымен қатар, Advanced Computer Techniques бөліктерін сатып алған DDC I, 2020 жылға дейін JOVIAL компиляторлары мен байланысты құралдарды тізімдейді. JOVIAL-те іске асырылған бағдарламалық жасақтаманың көп бөлігі өте маңызды, ал техникалық қызмет көрсетуге қатысты қиындықтар артып келеді. 2014 жылдың желтоқсанында 1960 жылдары жасалған JOVIAL кодынан алынған бағдарламалық қамтамасыз ету Ұлыбританияның әуе қозғалысын басқару инфрақұрылымының үлкен бұзылуына себеп болғаны және оны пайдаланатын NATS Holdings агенттігі IT қызметкерлерін JOVIAL-да оқытуға мәжбүр болғаны хабарланды, себебі бұл бағдарламалық қамтамасыз етуді 2016 жылға дейін алмастыру жоспарланбаған.

Ықпал

JOVIAL тілінен әсер көрген тілдерге CORAL, SYMPL, Space Programming Language (SPL) және белгілі бір деңгейде CMS 2 жатады. 1960 жылдары JOVIAL-дың TINT деп аталатын, JOSS-қа ұқсас интерактивті кіші жиынтығы жасалды. Ол кестелердегі "жинақталған" деректерді қамтитын мүмкіндіктерді де ұсынды. Кестеде жинақтау – дерек бірлігіндегі биттерге сәйкес, жазбадағы элементтерді сақтау сөздеріне бөлуді білдіреді. Бұл JOVIAL дәуіріндегі есептеу жүйелерінің шектеулі жады және жад көлеміне байланысты маңызды болды. Jovial-дегі Communication Pool (COMPOOL) PL/I және C сияқты тілдердегі бас файлдардың кітапханаларына ұқсас.