Цитата:
История создания
Американский программист Джолиус Шварц (Jules Schwartz) дополнил OVIAL рядом полезных усовершенствований, прибавил к аббревиатуре первую букву своего имени, и в январе 1959 года на свет появился Jovial. Одной из главных целей создания Jovial Шварц поставил возможность создания кросс-платформных программ, способных работать в реальном режиме времени. В внутреннюю структуру Jovial-машины были заложены гибкие возможности оптимизации кода, не зависящие от платформы, и быстрый перенос программ при модификации архитектуры целевого компьютера. Жёсткая структура организации файлов с исходными текстами, не допускающая машинно-зависимых синтаксических конструкций, позволяла легко переносить программы на различные платформы. Именно эти возможности и оказались ключевыми при выборе этого языка ВВС США.
Цитата:
Применение
В силу жёстких требований, предъявляемых к языку, реализация Jovial, созданная в ВВС США, представляет собой не просто компилятор, а целый комплекс стандартизованных средств разработки. В этом на него похожа Java, в типичную поставку которой помимо компилятора обязательно входит виртуальная Java-машина, набор библиотек, средства отладки, вьюверы, имитирующие работу в Сети и т. д. Так и Jovial распространяется в комплекте разработчика под названием ITS. Этот комплект представляет собой прекрасный пример тщательно продуманного подхода к выбору и совершенствованию средства разработки ПО, которое планируется использовать в ответственных областях десятки лет. В типовой комплект ITS входят кросс-платформные компилятор и макроассемблер, поддерживающий систему команд 1750А, сборщик, символьный интерактивный отладчик, поддерживающий режим реального времени, программный симулятор процессора с набором команд 1750А, библиотека стандартных модулей и загрузчик кода в оборудование 1750 (при наличии соответствующих аппаратных плат). Первая очередь этого комплекса была закончена в 1984 году. Первоначально она функционировала только на мейнфреймах и middleframes, а сегодня работает также под управлением SCO UNIX 3.2 или MS-DOS. ITS обеспечивает генерацию кода (помимо МП 1750А) для VAX, IBM PC, Z80, M680X0, RISC-компьютеров и ряда других. Наиболее популярная реализация ITS для компьютеров серии VAX используется сегодня в более чем 50 подразделениях МО США. Её догоняет реализация для персоналок, работающая под управлением UNIX.
Цитата:
Распространение
ITS распространяется правительством США бесплатно. Для получения (или попытки получения) ITS рекомендовано обращаться к атташе по вопросам авиации американского посольства.
Сегодня имеются и коммерческие версии Jovial, распространяемые, впрочем, за пределами США только с разрешения американских компетентных органов. Стоят эти версии порядка 75 000 долл. Для их приобретения можно попробовать написать письмо на адрес mailto:usafjovial@aol.com или mailto:millerjm@sm4.ascsm.wpafb.af.mil. Одна из этих версий представляют собой компилятор Jovial для платформ VAX/VMS, SPARC/SunOS, HP-UX, позволяющий получать код для Z8000 и 1750А. В комплект дополнительно включаются ассемблер для каждой платформы, сборщик, симулятор целевых наборов команд и символьный отладчик, использующий интерфейс X Window System. Настройки оптимизации позволяют получать код, который в сравнении с кодом, написанным на ассемблере вручную, даёт выигрыш в размере программы и скорости её выполнения на 15 %.
Цитата:
МО США уделяет языку Jovial большое внимание. За последние 15 лет использования Jovial американская армия инвестировала в его совершенствование более 16 миллионов долларов. Суммы, стимулирующие написание программ на Jovial и перенос других программных систем на этот язык, увеличиваются с каждым годом. Для организации полной совместимости всего ПО, используемого в бортовых системах, американские военные приняли стандарт MIL-STD-1589 на версию этого языка J-73. Теперь всё программное обеспечение, разрабатываемое в подразделениях МО США на языке Jovial, должно соответствовать данному стандарту. В ближайшем будущем ВВС США собирается провести полный реинжиниринг своей компьютерной инфраструктуры, при этом всё ПО, работающее в бортовых микропроцессорных устройствах, планируется перенести на Jovial и Ada. В данном проекте особое внимание уделяется связке этих языков. Дело в том, что множество программ, предназначенных для решения боевых задач, довольно бессистемно разрабатывалось как на Jovial, так и на Ada. Теперь же планируется осуществить интеграцию компьютерных программ, написанных на этих языках, с целью обеспечения возможности их совместного использования и лёгкой модификации ПО. Для решения этой задачи будет активно использоваться продукт фирмы Xinotech Research — Xinotech Language Translator (XLT), предназначенный для семантического анализа языков программирования и перевода исходных текстов программ с одних языков на другие с возможностью интерактивного контроля процесса преобразования со стороны пользователя.
Цель данной темы — обменяться опытом, вдруг кто-то щупал? Инфы по самому языку довольно мало. В целом выглядит как хорошо прокачанный Паскаль. Пример кода на Jovial:
Цитата:
The JOVIAL2C translator converts source code written in JOVIAL to functionally equivalent source code in C taking advantage of some GNU 3.0 extensions of C. The tool has been constructed using the DMS Software Reengineering Toolkit, the JOVIAL Front End, and a customization of the C Front End by GNU extensions for C used by the translator.