Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 08 окт 2024, 11:35

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Разработка на языке Jovial
СообщениеДобавлено: 24 янв 2017, 22:01 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Цитата:
История создания

Американский программист Джолиус Шварц (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.



Вложения:
shaw1963.pdf [1.84 МБ]
Скачиваний: 24893
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка на языке Jovial
СообщениеДобавлено: 25 янв 2017, 19:24 
Не в сети

Сообщения: 108
Zorko писал(а):
В целом выглядит как хорошо прокачанный Паскаль. Пример кода на Jovial:


Что там от паскаля кроме BEGIN/END? :) GOTO? ;) Очень старый язык и это заметно, недаром его пытаются заменить чем-то более вменяемым...


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка на языке Jovial
СообщениеДобавлено: 25 янв 2017, 20:11 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Старый, традиционный, компилируемый в натив язык с сильной кроссплатформенностью. Вменяемым — т.е. Адой? Это неоднозначно, Ада сильно сложнее.

Про «что там от Паскаля».

P.S. Тема — информативная, так она задумана. Не для "а я на других языках работаю, и они сильно круче".


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка на языке Jovial
СообщениеДобавлено: 26 янв 2017, 08:08 
Не в сети

Сообщения: 108
Zorko писал(а):
Старый, традиционный, компилируемый в натив язык с сильной кроссплатформенностью. Вменяемым — т.е. Адой? Это неоднозначно, Ада сильно сложнее.


Ада - прошлый век :) Как насчет Rust? https://www.rust-lang.org/en-US/

Zorko писал(а):


А, да, слона то я и не заметил - КАПС же ш это наше все! Добавляет +50% к обероноподобности :)
Вот оберонщики очень любят аналогии. Я тут как раз хорошую аналогию придумал. Оценивать ЯП по синтаксису - это все равно, что оценивать людей по цвету кожи. И при этом делать далеко идущие выводы на основе своего предыдущего опыта общения с одним-двумя условно "черными".

Zorko писал(а):
P.S. Тема — информативная, так она задумана. Не для "а я на других языках работаю, и они сильно круче".


Боишься, что я С++ к ночи упомяну? :)


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка на языке Jovial
СообщениеДобавлено: 26 янв 2017, 08:49 
Не в сети

Сообщения: 108
Куча народа обсуждает языки для встроенных систем: http://systemdesign.altera.com/tomorrow ... e-still-c/

Мелькает в основном C/C++. Немножко питон и джава. Упоминается несколько раз Ada и Rust. Jovial не упоминается ни разу :)

Возможно для своего времени Jovial был неплохим языком и его заслуженно взяли военные. Напомню, что С появился на 10 лет позже. Ну а дальше понятно - куча кода, который никто не будет перписывать и специалисты, которых никто не будет переучивать. А денег и так дадут (налогоплательщики). Так оно и дожило до наших дней, когда, наконец, специалисты поуходили на пенсию, а разрыв с окружающей реальностью стал совсем уж неприличным. В итоге приняли волевое решение переписывать софт бомбардировщиков на С/С++. Чего тут удивляться то? Оберонщиков не спросили, потому что показать им нечего, кроме рассусоливаний на тему Истинной Модульности (tm) и преимуществ ":=" перед "=".


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка на языке Jovial
СообщениеДобавлено: 26 янв 2017, 15:09 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Не "истинной" модульности, а "минималистичной", каковой она и должна быть в языке, который называют ООП-ассемблером или "Эсперанто" от программирования.

Я заметил одну тенденцию, впрочем, в природе человеческой. Стоит затронуть тему редкую, в которую многие не вникали, но как-то по-своему понимают (видимо, "по аналогии"), как сразу начинается срач и выяснения, чей опыт опытнее и чьи языки языкастее. Тему я открыл для обсуждения Jovial. И понимаю под этим: нечего сказать? Милости просим, проходите. Именно так я сам общаюсь на форумах. Но обычно всегда сказать есть что, у вас же свой опыт, и он очень ценен для вас лично. Как тут не поделиться со страждущими от недостатка просвещения заблудшими овцами оберонщиками.

Ну Rust, да. И чего? Ржавый язык, читал я про него. И про Go. Не впечатляют. По-другому я представляю себе хороший ЯП универсального назначения. Разумеется, более похожим на Оберон. По семантике, не только по синтаксису.

Да, не впадай в ересь и не считай один случай переписывания софта для бомбардировщиков на С/С++ повальной тенденцией. Никто ничего на Си не спешит переписывать. Как видим, у МО США свои собственные технологии и языки, и делиться наработками и даже инфой о них никто в этих кругах особо не хочет. А Jovial видится по сути своей вовсе не таким архаичным как, например, FORTRAN.

vlad писал(а):
Оценивать ЯП по синтаксису - это все равно, что оценивать людей по цвету кожи.
Список ключевых слов Jovial видел? Из него я делаю некоторый вывод о семантических возможностях языка. Ещё я читал по нему инфу, что нашёл. Jovial действительно происходит от Алгола, как и Паскаль. Опыта разработки на Алголе у меня нет, поэтому и отнёс его к паскалеподобным. А если ты делаешь выводы о непаскалеподобности на основе синтаксиса присваивания или отсутствия секции описания переменных, то кто тебе доктор.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка на языке Jovial
СообщениеДобавлено: 26 янв 2017, 16:49 
Не в сети

Сообщения: 108
Zorko писал(а):
Я заметил одну тенденцию, впрочем, в природе человеческой. Стоит затронуть тему редкую, в которую многие не вникали, но как-то по-своему понимают (видимо, "по аналогии"), как сразу начинается срач и выяснения, чей опыт опытнее и чьи языки языкастее. Тему я открыл для обсуждения Jovial.


Дык, мы Jovial и обсуждаем! Где срач то? :) Был выдвинут тезис о родстве с паскалем. Это тезис критически оспорили (причем не только я - по той ссылке тоже). Покажи в каком месте какашки полетели? :)

Zorko писал(а):
Ну Rust, да. И чего?


Ну вот конкретно про Rust из декларируемого и важного именно для встроенных систем я бы выделил:
- zero-cost abstractions
- move semantics
- guaranteed memory safety
- threads without data races
- minimal runtime
- efficient C bindings

Zorko писал(а):
По-другому я представляю себе хороший ЯП универсального назначения. Разумеется, более похожим на Оберон. По семантике, не только по синтаксису.


О, я чувствую конструктив где-то рядом! :) Итак, что не так с семантикой у Go? Хотя бы пару пунктов можешь привести?

Zorko писал(а):
Список ключевых слов Jovial видел?


Видел. Ни о чем не говорит. Даже пресловутый GOTO может на деле представлять что угодно.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка на языке Jovial
СообщениеДобавлено: 26 янв 2017, 18:57 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
vlad писал(а):
Был выдвинут тезис о родстве с паскалем. Это тезис критически оспорили
Этот тезис не критически оспорили. Никто ни в этой теме, ни в той не разбирался с Jovial, накидали мнений на основе своего "видения", как-то так. И, как всегда, разошлись недовольные друг другом, оставшись при своих мнениях. В спорах не рождается истина, в спорах рождается самоутверждение, что, видимо, ценно для тех, кто его недополучает.

Было бы в разы интереснее поговорить с тем, кто хотя бы не по диагонали почитал док по Jovial.

Не хочу о Rust и Go. Интересуют их недостатки? Читай хабр. Гугл вроде тоже не забанили. Или ты будешь утверждать, что оных недостатков оные языки не имеют вовсе?

Мне язык D больше приглянулся. Но недостатки у него всё те же: маленькое сообщество, отсюда малая база кода и знаний, непредсказуемая стратегия развития (непонятно во что выльется в итоге? или вообще забросят?). Зависимость от одного производителя (будущее языка зависит от судьбы фирмы). Язык не настолько распространён, чтобы его поддержкой занимался кто-то, кроме производителя. Невозможность развивать и поддерживать своими силами или маленьким коллективом (сотни тысяч строк кода). Общая непредсказуемость и туманные перспективы.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка на языке Jovial
СообщениеДобавлено: 12 фев 2018, 07:55 
Не в сети

Сообщения: 203
Jovial происходит от одного из первых диалектов Алгола (видимо алгол-58 ещё), задолго до Паскаля, который был разработан на основе Алгола-60 с оглядкой на Алгол-68. Так что Джовиал всё же алголоподобный язык, а не паскалеподобный.
То что в Джовиале ключевые слова в верхнем регистре вполне понятно -- в те времена обычно использовалась 6-битная кодировка, а там строчных букв-то и нету...

Стоит ли сейчас ориентироваться на этот старинный язык? Учитывая сложности получения его бесплатного компилятора (обращения ко всяким военным атташе) и довольно высокую стоимость коммерческого транслятора (ну и опять же, нужно обращаться к "компетентным органам"), уж лучше пользоваться другими языками. Для микроконтроллеров есть не только компиляторы си, с++, но и паскаля, ады, и даже модулы-2 с обероном.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка на языке Jovial
СообщениеДобавлено: 22 май 2018, 12:05 
Не в сети
Администратор
Аватара пользователя

Сообщения: 86
Приходится по работе разбираться с Go, и с ним многое не так.
Нет нормальной модульности.
Идея интерфейса -- убогая.
Идея удовлетворению интерфейсу -- убогая.
Типизация сделана по нищебродски (непонятно зачем тогда нужны интерфейсы??)
Библиотека -- сойдёт, местами приятна.
Многопоточность заигрывает с гонками. Сама по себе недостаточно абстрагирована.
Привязка полей типов к полям JSON -- прямо скажем извращение.
По сравнению с питоном -- да, мощный шаг вперёд.
По сравнению с Компонентным Паскалем -- что-то смищное.

_________________
Действия профессионала предсказуемы. Но в мире полно любителей!


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club