Частина інформації в цій статтізастаріла. Ви можете допомогти,оновивши її. Можливо,сторінка обговорення містить зауваження щодо потрібних змін.(жовтень 2013)
АДА (англ.Ada) — універсальнамова програмування високого рівня, орієнтована на застосування в системах реального часу і призначена для автоматизації завдань управління процесами та пристроями, до яких висуваються високі вимоги надійності.
Першастандартизованаверсія була відома як Ада83. Першим компілятором мови, який пройшов валідацію, був NYU Ada/Ed translator, сертифікований у 1983 році. Пізніше застосування АДА було розширено до фінансового та системного програмування і новий стандарт отримав назву Ада95.
Мова АДА використовується уСША таЄвропі для розроблення програмного забезпечення військових об’єктів, також великих складних проектів, які потребують підвищеної безпеки та надійності: керування повітряним і залізничним рухом, банківською діяльністю, галузями економіки з високими ризиками[3].
АДА — структурна, модульна мова програмування, що містить високорівневі засоби програмування паралельних процесів. Синтаксис АДА успадкований від мов типуАлгол таПаскаль, однак він розширений, перевершує їх за строгістю типізації даних, гнучкістю роздільної компіляції, можливістю створення високонадійних систем реального часу, наявністю засобів суворого контролю за параметрами функцій і виходом індексів за межі масивів. АДА вимагаєстрогішого стилю програмування, ніж її попередники. Перш за все цю мову було націлено на програмуваннявбудованих (англ.embedded) систем тасистем реального часу (англ.real-time), де нею й досі успішно користуються.
У вихідному варіанті, стандартизованому 1983 року, Ада — це структурна, модульна мова програмування, що містить високорівневі засоби програмування паралельнихпроцесів. Синтаксис Ади успадковано від мов типуАлгол абоПаскаль, але розширено і зроблено строгішим та логічнішим. Ада — мова зі строгоютипізацією, в ній виключена робота з об'єктами, що не мають типів, а автоматичні перетворення типів зведені до абсолютного мінімуму. У стандарті 1995 року в мову було додано базові засобиоб'єктно-орієнтованого програмування, у стандарті 2007 ці можливості було доповнено, тому сучасна Ада — об'єктно-орієнтована мова програмування.
З особливостей синтаксису можливо відзначити:
Програмимодульні, механізм контролю імпорту-експорту описів між модулями включає дві різнідирективи: одну для підключення іншого модуля (with), іншу — для імпорту його описів (use). Також існує можливість перейменувати модуль при імпорті (rename) — цей варіант дозволяє використовувати для позначення пакета зручніші програмісту ідентифікатори.
Розвинена система типів, як вбудованих, так і породжуваних програмістом. Є безліч способів створення нових типів, мову підтримує два різних поняття: «підтип» і «похідний тип». Змінні типу і підтипу сумісні, змінні типу та його похідного типу — ні.
Підтримуєтьсяперевантаження процедур, функцій і операторів — створення декількох варіантів процедури, функції або оператора з одним і тим же ім'ям, але різними сигнатурами (типами та кількістю параметрів).
Розвинені засоби звертання до процедур і функцій: підтримуються вхідні та вихідні параметри, передача фактичних параметрів в довільному порядку із зазначенням імен формальних, параметри зі значеннями за замовчуванням.
Для задоволення вимогам надійності мову побудовано таким чином, щоб якомога більша кількість помилок виявлялася на етапікомпіляції. Крім того, однією з вимог при розробці мови була максимально легка читаність текстів програм, навіть на шкоду легкості написання[джерело?]. Результатом такого підходу став дещо «великоваговий» синтаксис і безліч обмежень, відсутніх в найбільш поширених промислових мовах (C іC++), що часто сприймаються професійними програмістами як надлишкові, наприклад, та ж строга типізація. Це призвело до формування уявлення про Аду як про складну, малозрозумілу і незручну у використанні мову[4].