KEDÉLYES

A JOVIAL az ALGOL - hoz hasonló  magas szintű programozási nyelv , amely beágyazott rendszerek fejlesztésére specializálódott .

Történelem

A JOVIAL-t 1959-ben fejlesztette ki új "kiváló minőségű" programozási nyelvként a System Development Corporation (SDC) csapata Jules Schwartz vezetésével katonai repülőgép-elektronikai szoftverek létrehozására [1] . A JOVIAL név a J ules ' Own V ersion of the International A lgebraic Anguage rövidítése . Schwartz szerint a nyelvet eredetileg OVIAL-nak hívták, de ezt a nevet különböző okok miatt elutasították. Ezután a „JOVIAL” nevet javasolták, a „J” betű jelentése nélkül ( angolul. , fr. , spanyol stb. joviális "vidám; vidám"). Viccesen felvetődött, hogy a nyelvet Schwartzról nevezték el, mivel ő elnökölt a találkozón, és ez az informális név végre elterjedt. [2]

Az 1960-as években a JOVIAL egy sor amerikai katonai projekt része volt, különösen a 465L en] projektben (a SACCS projektben ), mivel nem álltak rendelkezésre valós idejű feldolgozási nyelvek. A SACCS szoftver körülbelül 95%-a JOVIAL nyelven íródott. [3]

Az 1970-es évek végén és az 1980-as évek elején az amerikai légierő elfogadta a szabványos MIL-STD-1750A processzort , és ehhez a processzorhoz JOVIAL nyelven írtak programokat. Az ilyen processzorokhoz több kereskedelmi vállalat is kifejlesztett fordítókat és kapcsolódó JOVIAL fejlesztőeszközöket ( Advanced Computer Techniques , TLD Systems , Proprietary Software Systems és mások). [4] [5]

A JOVIAL-t 1973-ban szabványosították MIL-STD- 1589 néven ; a nyelv fejlődését 1984-ben dokumentálták a MIL-STD-1589C-ben . A nyelvet még mindig széles körben használják régebbi katonai járművek és repülőgépek szoftvereinek frissítésére és karbantartására. Három nyelvjárás létezik: J3, J3B-2 és J73.

2010-től az USAF JOVIAL Programiroda (JPO) már nem támogatja és nem terjeszti a JOVIAL-t. A JPO által korábban terjesztett szoftver továbbra is elérhető a Software Engineering Associates, Inc. kereskedelmi forrásain keresztül. (SEA), valamint más gazdagép processzorok, köztük a Microsoft Windows , Linux , Mac OS X PowerPC -n , SPARC , VAX , 1750A , PowerPC , TI-9989 , Zilog Z800x , Motorola 680x0 és IBM System 360 / System 370 / System z . Ezenkívül a DDC-I , amely megvásárolta az Advanced Computer Techniques részeit , továbbra is megjeleníti a JOVIAL fordítókat és a kapcsolódó eszközöket. [6]

A JOVIAL-on megvalósított programok többsége küldetéskritikus, és egyre nehezebb fenntartani. 2014 decemberében arról számoltak be, hogy a JOVIAL-t használó, az 1960-as években kiadott szoftver az Egyesült Királyság légiforgalmi irányítói infrastruktúrájának súlyos meghibásodásához kapcsolódik, és hogy az azt használó ügynökségnek ki kellett képeznie informatikusait a JOVIAL programozásra, hogy ezzel a szoftverrel dolgozhatnának, amit csak 2016-ban terveznek lecserélni. [7] Ezért egyre gyakoribb a JOVIAL kód átalakítása új platformokra. A JOVIAL más nyelvekre való konvertálását jelenleg a Semantic Designs végzi , a DMS Software Reengineering Toolkit segítségével a B - 2 bomberhez készült JOVIAL programokat C nyelvre konvertálták. [nyolc]

Befolyás

Schwartz szerint a JOVIAL-t olyan programozási nyelvek befolyásolták, mint a CORAL , SYMPL , Space Programming Language (SPL) és bizonyos mértékig a CMS-2 . [9] Az 1960-as években fejlesztették ki a JOVIAL interaktív részhalmazát TINT néven , hasonlóan a JOSS -hoz. [2]

Jellemzők

A JOVIAL olyan funkciókat tartalmaz, amelyek nem találhatók meg a szabványos ALGOL-ban, például rekordokat, rekordtömböket és beépített összeállítási nyelvet. [tíz]

Példa

A következő példa a JOVIAL programozási útmutatóból (J73) származik. [tizenegy]

PROC RETRIEVE(KÓD:ÉRTÉK); KEZDŐDIK CIKK KÓD U; TÉTEL ÉRTÉKE F; ÉRTÉK = -99999.; I:0 1-RE, MÉG I<1000; IF KÓD = TABCODE(I); KEZDŐDIK ÉRTÉK = TABLETÉRTÉK(I); KIJÁRAT; VÉGE VÉGE

Ez a példa egy elnevezésű eljárást határoz meg , amely előjel nélküli egész argumentumot és lebegőpontosRETRIEVE kimeneti argumentumot vesz fel . Megkeresi az 1000 elemű tömbben a megfelelő bejegyzést, majd beállítja a lebegőpontos változót a tömb azon elemére , amelyiknek ugyanaz a tömb indexe. Ha nem található egyező elem, az érték -99999.0. CODE VALUETABCODECODEVALUETABVALUEVALUE

Jegyzetek

  1. Oral History interjú Jules I. Schwartz-cal .
  2. ↑ 1 2 Jules I. Schwartz. A Jovial fejlesztése  //  ACM SIGPLAN közlemények. - 1978. - szeptember 8. ( 13. évf. , 8. sz.). — 203. o . Az eredetiből archiválva: 2018. november 5.
  3. Martin Campbell-Kelly. A légitársaságok foglalásától a Sonic the Hedgehog-ig: a szoftveripar története  //  Cambridge Mass: The MIT Press. - 2003. - ISSN 0-262-03303-8 .
  4. Szóbeli történeti interjú Oscar Schachterrel  //  Charles Babbage Institute. — 17. o .
  5. JOVIAL (J73) és MIL-STD-1750A ISA szoftvertámogató eszközök // Ada–JOVIAL hírlevél. - 1993 9. - S. 21-24 .
  6. Érett fejlesztési rendszerek, több száz alkalmazáson bevált // DDC-I.
  7. Gordon Rayner. Az Egyesült Királyság repülési káosza: Légiforgalmi irányító számítógépek az 1960-as évek szoftverét használva  //  Daily Telegraph. - 2016. - december 12. Archiválva az eredetiből 2018. július 3-án.
  8. Szemantikai tervek. A szemantikus tervek összhangban vannak a Northrop Grumman-nal a B-2 Spirit Bomber szoftverrendszerek modernizálása  érdekében . Az eredetiből archiválva : 2018. szeptember 9.
  9. Amerikai haditengerészet. Digitális számítógépes alapismeretek, sebesség képzési kézikönyv // NAVEDTRA 10088-B. – 1978.
  10. Wolfgang A. Halang, Alexander D. Stoyenko. Megjósolható valós idejű rendszerek építése  //  Springer Verlag. - 1991. - 31. o . — ISSN 978-1-4615-4032-8 .
  11. Softtech, Inc. SZÁMÍTÓGÉP-PROGRAMOZÁSI ÚTMUTATÓ A JOVIAL (J73) NYELVHEZ  // ROME AIR FEJLESZTÉSI KÖZPONT. - 1981. - június. - S. 12 . Archiválva az eredetiből 2017. március 1-jén.