Инструменты пользователя

Инструменты сайта


ob:docu

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ob:docu [2021/06/19 14:32]
iadenisov
ob:docu [2024/02/21 18:08] (текущий)
comdiv [Языки семейства Оберон]
Строка 1: Строка 1:
 ===== Языки семейства Оберон ===== ===== Языки семейства Оберон =====
  
 +Язык программирования [[ob:oberon|Оберон]] разработан Никлаусом Виртом при разработке одноименной операционной системы. По словам автора, разработке помогло критическое осмысления языков: Модула-2, Паскаль, Ada, Smalltalk и Cedar.
  
-[[ob:oberon|Оберон]] → [[ob:oberon-sa|Оберон-SA]] → [[ob:oberon07|Оберон-07]]+От Оберона пошло несколько веток развития языка программирования:
  
-[[ob:oberon|Оберон]] → [[ob:oberon2|Оберон-2]] → [[ao:|Активный Оберон]]+<uml> 
 +component "Oberon" as OBR #Yellow 
 +component "Oberon SA" as OSA #Gray 
 +component "Active Oberon" as AOB #LightGreen 
 +component "Oberon 2" as OB2 #LightGreen 
 +component "Оберон-07" as O07 #LightGreen 
 +component "Zonnon" as ZNN #Yellow 
 +component "Component Pascal" as CMP #LightGreen 
 +OBR -down-> OSA 
 +OBR -down-> OB2 
 +OSA -down-> O07 
 +AOB -down-> ZNN 
 +OB2 -down-> CMP 
 +OB2 -down-> AOB 
 +</uml>
  
-[[ob:oberon|Оберон]] → [[ob:oberon2|Оберон-2]] → [[cp:|Компонентный Паскаль]]+[[ob:oberon07|Оберон-07]] | [[ao:|Активный Оберон]] | [[ob:oberon2|Оберон-2]] [[cp:|Компонентный Паскаль (Блэкбокс Оберон)]]
  
 +Линия Оберон-07 — это авторское уточнение исходного языка без существенных добавлений.
 +
 +
 +===== Диаграмма наследования в развитии Оберон-технологий =====
 +
 +{{ :ob:oberongenealogy.png?1000 |}}
 +
 +[[http://pub.iadenisov.ru/blackbox/oberongenealogy.gv|исходники CC BY-SA 4.0]]
  
  
 ===== Краткая история языка Паскаль ===== ===== Краткая история языка Паскаль =====
  
-Историю языков линейки Оберон вытекает из развития языка Паскаль его автором.+История языков семейства Оберон вытекает из развития языка Паскаль его автором. 
 + 
 +{{:ob:снимок_экрана_2023-01-07_в_16.38.18.png?1000|}}
  
 ==== Алгол ==== ==== Алгол ====
Строка 33: Строка 58:
  
 Успех Модулы-2 был наиболее значителен в задачах с высокими требованиями на надеж­ность, таких как системы управления движением. <Например, бортовое программное обес­печение на запускаемых в настоящее время российских спутниках связи пишется на Модуле-2 с помощью кросс-среды разработки приложений, описанной А.А.Колташевым в докладе на конференции JMLC'2003; см. Modular Programming Languages. Lecture Notes in Computer Science (LNCS 2789), Springer-Verlag, 2003, cc. 98-101. Успех Модулы-2 был наиболее значителен в задачах с высокими требованиями на надеж­ность, таких как системы управления движением. <Например, бортовое программное обес­печение на запускаемых в настоящее время российских спутниках связи пишется на Модуле-2 с помощью кросс-среды разработки приложений, описанной А.А.Колташевым в докладе на конференции JMLC'2003; см. Modular Programming Languages. Lecture Notes in Computer Science (LNCS 2789), Springer-Verlag, 2003, cc. 98-101.
 +
  
  
Строка 41: Строка 67:
  
 В центре PARC эти идеи повлияли на другие проекты, например, паскалеподобный язык Cedar. Как и Smalltalk и позднее Оберон, Cedar представлял собой не только язык программирования, но и операционную систему. Операционная система Cedar была весьма впечатляющей и мощной, однако сложной и нестабильной. В центре PARC эти идеи повлияли на другие проекты, например, паскалеподобный язык Cedar. Как и Smalltalk и позднее Оберон, Cedar представлял собой не только язык программирования, но и операционную систему. Операционная система Cedar была весьма впечатляющей и мощной, однако сложной и нестабильной.
 +
  
  
Строка 60: Строка 87:
  
 Последнее требование компонентно-ориентированного программирования — возможность динамически загружать новые компоненты. В Обероне единица загрузки та же, что и единица компиляции — модуль. Последнее требование компонентно-ориентированного программирования — возможность динамически загружать новые компоненты. В Обероне единица загрузки та же, что и единица компиляции — модуль.
 +
  
  
Строка 70: Строка 98:
  
 Главная идея уточнений по сравнению с Обероном-2 была в том, чтобы дать проекти­ров­щику компонентного каркаса более полный контроль над ее проектируемыми свойствами в плане безопасности. Положительным результатом стало то, что теперь легче обеспечить целостность больших компонентных систем, что особенно важно во время итеративных циклов проектирования, когда библитека разрабатывается, и позднее, когда архитектура системы должна быть переработана, чтобы обес­печить дальнейшую эволюцию и поддержку. Главная идея уточнений по сравнению с Обероном-2 была в том, чтобы дать проекти­ров­щику компонентного каркаса более полный контроль над ее проектируемыми свойствами в плане безопасности. Положительным результатом стало то, что теперь легче обеспечить целостность больших компонентных систем, что особенно важно во время итеративных циклов проектирования, когда библитека разрабатывается, и позднее, когда архитектура системы должна быть переработана, чтобы обес­печить дальнейшую эволюцию и поддержку.
 +
  
  
Строка 78: Строка 107:
  
 Недавно диапазон приложений системы BlackBox Component Builder был значительно расширен за счет среды кросс-программирования Denia, которая является компонентом, расширающим систему Блэкбокс. Denia позволяет выполнять кросс-программирование на Компо­нен­тном Паскале для новой операционной системы реального времени JBed, которая полностью реализована на Компонентном Паскале. JBed предназначен для встроенных систем и приложений с жесткими требованиям реального времени [hard real-time requirements], например, в робототехнике и промышленной автоматизации. Большое применение JBed нашла в мобильных устройствах. Недавно диапазон приложений системы BlackBox Component Builder был значительно расширен за счет среды кросс-программирования Denia, которая является компонентом, расширающим систему Блэкбокс. Denia позволяет выполнять кросс-программирование на Компо­нен­тном Паскале для новой операционной системы реального времени JBed, которая полностью реализована на Компонентном Паскале. JBed предназначен для встроенных систем и приложений с жесткими требованиям реального времени [hard real-time requirements], например, в робототехнике и промышленной автоматизации. Большое применение JBed нашла в мобильных устройствах.
 +
  
  
Строка 86: Строка 116:
  
 В 1995 Н. Вирт присоединился к проекту Института автоматического контроля и измерений . Целью проекта была разработка системы позволяющая вертолету летать автономно по запрограммированному пути. Вирт разрботал систему бортового компьютера на основе процессора Strong-ARM. Кроме разработки аппаратных средств, он написал программы для различных инструментов программирования, включая разновидность компилятора Оберона с дополнительными возможностями для программирования систем реального-времени. В 1995 Н. Вирт присоединился к проекту Института автоматического контроля и измерений . Целью проекта была разработка системы позволяющая вертолету летать автономно по запрограммированному пути. Вирт разрботал систему бортового компьютера на основе процессора Strong-ARM. Кроме разработки аппаратных средств, он написал программы для различных инструментов программирования, включая разновидность компилятора Оберона с дополнительными возможностями для программирования систем реального-времени.
 +
  
  
Строка 92: Строка 123:
 На основе опыта разработки Oberon-SA в 2007 году Н. Вирт уточнил исходное определение языка Оберон. Новая версия языка получила название Oberon-07 (Revised Oberon). На основе опыта разработки Oberon-SA в 2007 году Н. Вирт уточнил исходное определение языка Оберон. Новая версия языка получила название Oberon-07 (Revised Oberon).
  
-Для языка Oberon-07 австралийская фирма CFB Sowtware выпустила компилятор Astrobe для микропроцессоров семества LPC2000 и Cortex-M3 (NXP).+Для языка Oberon-07 австралийская фирма CFB Software выпустила компилятор Astrobe для микропроцессоров ARM.
  
  
-==== Oberon v5 ====+ 
 +==== Oberon v5 2013 ====
  
  
 В  2013 году вышла новая версия языка вместе с проектом Project Oberon (New Edition 2013). В  2013 году вышла новая версия языка вместе с проектом Project Oberon (New Edition 2013).
 +
 https://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html https://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html
 +
 http://www.projectoberon.com http://www.projectoberon.com
 +
 https://www.inf.ethz.ch/personal/wirth/Oberon/Oberon07.Report.pdf https://www.inf.ethz.ch/personal/wirth/Oberon/Oberon07.Report.pdf
-Для этого варианта языка был обновлен компилятор Astrobe, а также был разработан новый компилятор O7 для микроконтроллеров с архитектурой ARMv{6,7E}-M:+ 
 +Для этого варианта языка был обновлен компилятор Astrobe, а также был разработан новый [[ob:o7|компилятор O7]] для микроконтроллеров с архитектурой ARMv{6,7E}-M: 
 https://github.com/aixp/O7 https://github.com/aixp/O7
 +
 +
 +
 +==== Active Oberon 2019 ====
 +
 +Репозиторий Active Object System (AOS aka A2) git repository (from 9.12.2022)
 +
 +https://gitlab.inf.ethz.ch/felixf/oberon/-/tree/main
 +
 +
 +**Описание языка Активный Оберон 2019 на английском** 
 +
 +ETH Oberon (2019) Language Report
 +
 +Felix Friedrich, Florian Negele, October 31, 2019
 +
 +https://gitlab.inf.ethz.ch/felixf/oberon/-/blob/main/docu/OberonLanguageReport.pdf
 +
 + 
 +
 +**Описание языка Активный Оберон 2019 на русском**
 +
 +Феликс Фридрих, Флориан Негель, 31 октября 2019
 +
 +Перевод - Николай Кондрин, Денис Будяк, 2020
 +
 +[[https://gitlab.inf.ethz.ch/felixf/oberon/-/blob/main/docu/OberonLanguageReport%20(Russian%20translation).md]]
  
  
ob/docu.1624102338.txt.gz · Последнее изменение: 2021/06/19 14:32 — iadenisov