Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Ada

Матеріал з Вікіпедії — вільної енциклопедії.
Ada
Парадигмаоб'єктно-орієнтоване програмування, імперативне програмування, структурне програмування і мультипарадигмальне програмуванняd Редагувати інформацію у Вікіданих
Дата появи1980 Редагувати інформацію у Вікіданих
ТворціЖан Ішбіа і S. Tucker Taftd[1][2] Редагувати інформацію у Вікіданих
РозробникЖан Ішбіа і S. Tucker Taftd[2] Редагувати інформацію у Вікіданих
Система типізаціїтипобезпечність, nominative typingd, статична і строга типізація Редагувати інформацію у Вікіданих
Під впливом відALGOL 68d, Pascal, Modula-2d, C++, Smalltalk, Java, Eiffel, ALGOL 60d, Green[d] і Ada 95d Редагувати інформацію у Вікіданих
Вебсайтadaic.org Редагувати інформацію у Вікіданих
Не плутати зADA (криптовалюта).
Частина інформації в цій статтізастаріла. Ви можете допомогти,оновивши її. Можливо,сторінка обговорення містить зауваження щодо потрібних змін.(жовтень 2013)

АДА (англ.Ada) — універсальнамова програмування високого рівня, орієнтована на застосування в системах реального часу і призначена для автоматизації завдань управління процесами та пристроями, до яких висуваються високі вимоги надійності.

Історія

[ред. |ред. код]

Структуровананаказовамова програмування зі статичним зв'язуваннямтипузмінних була розроблена у 1977–1983 роках групою вчених під керівництвомЖана Ішбіа (фр.Jean David Ichbiah) на фірміCii Honeywell Bull за ініціативиМіністерства оборони США. Готовий програмний продукт був названий на честь математикиніАди Лавлейс.

Першастандартизованаверсія була відома як Ада83. Першим компілятором мови, який пройшов валідацію, був NYU Ada/Ed translator, сертифікований у 1983 році. Пізніше застосування АДА було розширено до фінансового та системного програмування і новий стандарт отримав назву Ада95.

Мова АДА використовується уСША таЄвропі для розроблення програмного забезпечення військових об’єктів, також великих складних проектів, які потребують підвищеної безпеки та надійності: керування повітряним і залізничним рухом, банківською діяльністю, галузями економіки з високими ризиками[3].

Особливості мови

[ред. |ред. код]

АДА — структурна, модульна мова програмування, що містить високорівневі засоби програмування паралельних процесів. Синтаксис АДА успадкований від мов типуАлгол таПаскаль, однак він розширений, перевершує їх за строгістю типізації даних, гнучкістю роздільної компіляції, можливістю створення високонадійних систем реального часу, наявністю засобів суворого контролю за параметрами функцій і виходом індексів за межі масивів. АДА вимагаєстрогішого стилю програмування, ніж її попередники. Перш за все цю мову було націлено на програмуваннявбудованих (англ.embedded) систем тасистем реального часу (англ.real-time), де нею й досі успішно користуються.

У вихідному варіанті, стандартизованому 1983 року, Ада — це структурна, модульна мова програмування, що містить високорівневі засоби програмування паралельнихпроцесів. Синтаксис Ади успадковано від мов типуАлгол абоПаскаль, але розширено і зроблено строгішим та логічнішим. Ада — мова зі строгоютипізацією, в ній виключена робота з об'єктами, що не мають типів, а автоматичні перетворення типів зведені до абсолютного мінімуму. У стандарті 1995 року в мову було додано базові засобиоб'єктно-орієнтованого програмування, у стандарті 2007 ці можливості було доповнено, тому сучасна Ада — об'єктно-орієнтована мова програмування.

З особливостей синтаксису можливо відзначити:

  • Програмимодульні, механізм контролю імпорту-експорту описів між модулями включає дві різнідирективи: одну для підключення іншого модуля (with), іншу — для імпорту його описів (use). Також існує можливість перейменувати модуль при імпорті (rename) — цей варіант дозволяє використовувати для позначення пакета зручніші програмісту ідентифікатори.
  • Розвинена система типів, як вбудованих, так і породжуваних програмістом. Є безліч способів створення нових типів, мову підтримує два різних поняття: «підтип» і «похідний тип». Змінні типу і підтипу сумісні, змінні типу та його похідного типу — ні.
  • Підтримуєтьсяперевантаження процедур, функцій і операторів — створення декількох варіантів процедури, функції або оператора з одним і тим же ім'ям, але різними сигнатурами (типами та кількістю параметрів).
  • Розвинені засоби звертання до процедур і функцій: підтримуються вхідні та вихідні параметри, передача фактичних параметрів в довільному порядку із зазначенням імен формальних, параметри зі значеннями за замовчуванням.
Для задоволення вимогам надійності мову побудовано таким чином, щоб якомога більша кількість помилок виявлялася на етапікомпіляції. Крім того, однією з вимог при розробці мови була максимально легка читаність текстів програм, навіть на шкоду легкості написання[джерело?]. Результатом такого підходу став дещо «великоваговий» синтаксис і безліч обмежень, відсутніх в найбільш поширених промислових мовах (C іC++), що часто сприймаються професійними програмістами як надлишкові, наприклад, та ж строга типізація. Це призвело до формування уявлення про Аду як про складну, малозрозумілу і незручну у використанні мову[4].

Дизайн мови

[ред. |ред. код]

«Hello, World»

[ред. |ред. код]

ПрограмаHello world!:(hello.adb)

withAda.Text_IO;useAda.Text_IO;procedureHelloisbeginPut_Line("Hello, world!");endHello;

Компіляція компіляторомGNAT:

gnatmakehello.adb

Див. також

[ред. |ред. код]

Література

[ред. |ред. код]

1. Бар Р. Язык АДА в проектировании систем / Пер. с англ. Москва : Мир, 1988. 320 с.

2. Джехани Н. Язык Ада / Пер. с англ. Москва : Мир, 1988 . 549 с.

3. Корочкин А. В. Ада 95. Введение в программирование. Киев : Світ, 1998. 160 с.

4. Ковалюк Т. В. Основи програмування. Київ: Видавнича группа BHV, 2005. 384 с

5. Armstrong, Deborah J. (February 2006). The Quarks of Object-Oriented Development.Communications of the ACM 49 (2): p.123–128.

6. Вирт Н. Построение компиляторов / Пер. с англ. Москва : ДМК Пресс, 2013. 188 с.

Примітки

[ред. |ред. код]
  1. https://www.adahome.com/Rogues/taft.html
  2. абhttps://blog.adacore.com/author/taft
  3. АДА
  4. Довідкове керівництво по мові АДА83. (рос.)

Посилання

[ред. |ред. код]


Мова програмуванняЦе незавершена стаття промови програмування.
Ви можетедопомогти проєкту,виправивши або дописавши її.
Ця статтяне міститьпосилань на джерела. Ви можете допомогтиполіпшити цю статтю, додавши посилання нанадійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено.(жовтень 2013)
Рівень
Низькорівневі
Високорівневі
Загального
призначення
Серверні
Запитів до баз
даних[суперечливо 1]
Розмітки тавекторної
графіки
[суперечливо 1]
Синхронні
Символьних та
чисельних обчислень
Квантових обчислень
Логічні
Академічні
Езотеричні
  1. абНемає загальноприйнятого рішення, чи вважати усі ці мови саме мовами програмування
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Ada&oldid=47335774
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp