АДА (англ. Ada) — універсальна мова програмування високого рівня, орієнтована на застосування в системах реального часу і призначена для автоматизації завдань управління процесами та пристроями, до яких висуваються високі вимоги надійності.
Ada | |
---|---|
![]() | |
Парадигма | об'єктно-орієнтоване програмування, імперативне програмування, структурне програмування і d |
Дата появи | 1980 |
Творці | Жан Ішбіа і d[1][2] |
Розробник | Жан Ішбіа і d[2] |
Система типізації | типобезпечність, d, статична і строга типізація |
Під впливом від | d, Pascal, d, , Smalltalk, Java, Eiffel, d, Green[d] і d |
Вебсайт | adaic.org |
|
Частина інформації в цій статті застаріла. (жовтень 2013) |
Історія
Структурована наказова мова програмування зі статичним зв'язуванням типу змінних була розроблена у 1977–1983 роках групою вчених під керівництвом Жана Ішбіа (фр. Jean David Ichbiah) на фірмі за ініціативи Міністерства оборони США. Готовий програмний продукт був названий на честь математикині Ади Лавлейс.
Перша стандартизована версія була відома як Ада83. Першим компілятором мови, який пройшов валідацію, був NYU Ada/Ed translator, сертифікований у 1983 році. Пізніше застосування АДА було розширено до фінансового та системного програмування і новий стандарт отримав назву Ада95.
Мова АДА використовується у США та Європі для розроблення програмного забезпечення військових об’єктів, також великих складних проектів, які потребують підвищеної безпеки та надійності: керування повітряним і залізничним рухом, банківською діяльністю, галузями економіки з високими ризиками.
Особливості мови
АДА — структурна, модульна мова програмування, що містить високорівневі засоби програмування паралельних процесів. Синтаксис АДА успадкований від мов типу Алгол та Паскаль, однак він розширений, перевершує їх за строгістю типізації даних, гнучкістю роздільної компіляції, можливістю створення високонадійних систем реального часу, наявністю засобів суворого контролю за параметрами функцій і виходом індексів за межі масивів. АДА вимагає строгішого стилю програмування, ніж її попередники. Перш за все цю мову було націлено на програмування вбудованих (англ. embedded) систем та систем реального часу (англ. real-time), де нею й досі успішно користуються.
У вихідному варіанті, стандартизованому 1983 року, Ада — це структурна, модульна мова програмування, що містить високорівневі засоби програмування паралельних процесів. Синтаксис Ади успадковано від мов типу Алгол або Паскаль, але розширено і зроблено строгішим та логічнішим. Ада — мова зі строгою типізацією, в ній виключена робота з об'єктами, що не мають типів, а автоматичні перетворення типів зведені до абсолютного мінімуму. У стандарті 1995 року в мову було додано базові засоби об'єктно-орієнтованого програмування, у стандарті 2007 ці можливості було доповнено, тому сучасна Ада — об'єктно-орієнтована мова програмування.
З особливостей синтаксису можливо відзначити:
- Програми модульні, механізм контролю імпорту-експорту описів між модулями включає дві різні директиви: одну для підключення іншого модуля (
with
), іншу — для імпорту його описів (use
). Також існує можливість перейменувати модуль при імпорті (rename) — цей варіант дозволяє використовувати для позначення пакета зручніші програмісту ідентифікатори. - Розвинена система типів, як вбудованих, так і породжуваних програмістом. Є безліч способів створення нових типів, мову підтримує два різних поняття: «підтип» і «похідний тип». Змінні типу і підтипу сумісні, змінні типу та його похідного типу — ні.
- Підтримується перевантаження процедур, функцій і операторів — створення декількох варіантів процедури, функції або оператора з одним і тим же ім'ям, але різними сигнатурами (типами та кількістю параметрів).
- Розвинені засоби звертання до процедур і функцій: підтримуються вхідні і вихідні параметри, передача фактичних параметрів в довільному порядку із зазначенням імен формальних, параметри зі значеннями за замовчуванням.
- Для задоволення вимогам надійності мову побудовано таким чином, щоб якомога більша кількість помилок виявлялася на етапі компіляції. Крім того, однією з вимог при розробці мови була максимально легка читаність текстів програм, навіть на шкоду легкості написання[]. Результатом такого підходу став дещо «великоваговий» синтаксис і безліч обмежень, відсутніх в найбільш поширених промислових мовах (C і ), що часто сприймаються професійними програмістами як надлишкові, наприклад, та ж строга типізація. Це призвело до формування уявлення про Аду як про складну, малозрозумілу і незручну у використанні мову.
Дизайн мови
«Hello, World»
Програма Hello world!: (hello.adb)
with Ada.Text_IO; use Ada.Text_IO; procedure Hello is begin Put_Line ("Hello, world!"); end Hello;
Компіляція компілятором :
gnatmake hello.adb
Див. також
- Ада Лавлейс — англійська математикиня, ім'ям якої названо цю мову програмування.
- SPARK (мова програмування)
Література
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 с.
Посилання
- АДА // Велика українська енциклопедія : [у 30 т.] / проф. А. М. Киридон (відп. ред.) та ін. — К. : ДНУ «Енциклопедичне видавництво», 2018— . — .
![]() | Це незавершена стаття про мови програмування. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття не містить . (жовтень 2013) |
- https://www.adahome.com/Rogues/taft.html
- АДА
- Довідкове керівництво по мові АДА83. (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
ADA angl Ada universalna mova programuvannya visokogo rivnya oriyentovana na zastosuvannya v sistemah realnogo chasu i priznachena dlya avtomatizaciyi zavdan upravlinnya procesami ta pristroyami do yakih visuvayutsya visoki vimogi nadijnosti AdaParadigmaob yektno oriyentovane programuvannya imperativne programuvannya strukturne programuvannya i dData poyavi1980TvorciZhan Ishbia i d 1 2 RozrobnikZhan Ishbia i d 2 Sistema tipizaciyitipobezpechnist d statichna i stroga tipizaciyaPid vplivom vidd Pascal d C Smalltalk Java Eiffel d Green d i dVebsajtadaic org Mediafajli u VikishovishiNe plutati z ADA kriptovalyuta Chastina informaciyi v cij statti zastarila Vi mozhete dopomogti onovivshi yiyi Mozhlivo storinka obgovorennya mistit zauvazhennya shodo potribnih zmin zhovten 2013 IstoriyaStrukturovana nakazova mova programuvannya zi statichnim zv yazuvannyam tipu zminnih bula rozroblena u 1977 1983 rokah grupoyu vchenih pid kerivnictvom Zhana Ishbia fr Jean David Ichbiah na firmi za iniciativi Ministerstva oboroni SShA Gotovij programnij produkt buv nazvanij na chest matematikini Adi Lavlejs Persha standartizovana versiya bula vidoma yak Ada83 Pershim kompilyatorom movi yakij projshov validaciyu buv NYU Ada Ed translator sertifikovanij u 1983 roci Piznishe zastosuvannya ADA bulo rozshireno do finansovogo ta sistemnogo programuvannya i novij standart otrimav nazvu Ada95 Mova ADA vikoristovuyetsya u SShA ta Yevropi dlya rozroblennya programnogo zabezpechennya vijskovih ob yektiv takozh velikih skladnih proektiv yaki potrebuyut pidvishenoyi bezpeki ta nadijnosti keruvannya povitryanim i zaliznichnim ruhom bankivskoyu diyalnistyu galuzyami ekonomiki z visokimi rizikami Osoblivosti moviADA strukturna modulna mova programuvannya sho mistit visokorivnevi zasobi programuvannya paralelnih procesiv Sintaksis ADA uspadkovanij vid mov tipu Algol ta Paskal odnak vin rozshirenij perevershuye yih za strogistyu tipizaciyi danih gnuchkistyu rozdilnoyi kompilyaciyi mozhlivistyu stvorennya visokonadijnih sistem realnogo chasu nayavnistyu zasobiv suvorogo kontrolyu za parametrami funkcij i vihodom indeksiv za mezhi masiviv ADA vimagaye strogishogo stilyu programuvannya nizh yiyi poperedniki Persh za vse cyu movu bulo nacileno na programuvannya vbudovanih angl embedded sistem ta sistem realnogo chasu angl real time de neyu j dosi uspishno koristuyutsya U vihidnomu varianti standartizovanomu 1983 roku Ada ce strukturna modulna mova programuvannya sho mistit visokorivnevi zasobi programuvannya paralelnih procesiv Sintaksis Adi uspadkovano vid mov tipu Algol abo Paskal ale rozshireno i zrobleno strogishim ta logichnishim Ada mova zi strogoyu tipizaciyeyu v nij viklyuchena robota z ob yektami sho ne mayut tipiv a avtomatichni peretvorennya tipiv zvedeni do absolyutnogo minimumu U standarti 1995 roku v movu bulo dodano bazovi zasobi ob yektno oriyentovanogo programuvannya u standarti 2007 ci mozhlivosti bulo dopovneno tomu suchasna Ada ob yektno oriyentovana mova programuvannya Z osoblivostej sintaksisu mozhlivo vidznachiti Programi modulni mehanizm kontrolyu importu eksportu opisiv mizh modulyami vklyuchaye dvi rizni direktivi odnu dlya pidklyuchennya inshogo modulya with inshu dlya importu jogo opisiv use Takozh isnuye mozhlivist perejmenuvati modul pri importi rename cej variant dozvolyaye vikoristovuvati dlya poznachennya paketa zruchnishi programistu identifikatori Rozvinena sistema tipiv yak vbudovanih tak i porodzhuvanih programistom Ye bezlich sposobiv stvorennya novih tipiv movu pidtrimuye dva riznih ponyattya pidtip i pohidnij tip Zminni tipu i pidtipu sumisni zminni tipu ta jogo pohidnogo tipu ni Pidtrimuyetsya perevantazhennya procedur funkcij i operatoriv stvorennya dekilkoh variantiv proceduri funkciyi abo operatora z odnim i tim zhe im yam ale riznimi signaturami tipami ta kilkistyu parametriv Rozvineni zasobi zvertannya do procedur i funkcij pidtrimuyutsya vhidni i vihidni parametri peredacha faktichnih parametriv v dovilnomu poryadku iz zaznachennyam imen formalnih parametri zi znachennyami za zamovchuvannyam Dlya zadovolennya vimogam nadijnosti movu pobudovano takim chinom shob yakomoga bilsha kilkist pomilok viyavlyalasya na etapi kompilyaciyi Krim togo odniyeyu z vimog pri rozrobci movi bula maksimalno legka chitanist tekstiv program navit na shkodu legkosti napisannya dzherelo Rezultatom takogo pidhodu stav desho velikovagovij sintaksis i bezlich obmezhen vidsutnih v najbilsh poshirenih promislovih movah C i C sho chasto sprijmayutsya profesijnimi programistami yak nadlishkovi napriklad ta zh stroga tipizaciya Ce prizvelo do formuvannya uyavlennya pro Adu yak pro skladnu malozrozumilu i nezruchnu u vikoristanni movu Dizajn movi Hello World Programa Hello world hello adb with Ada Text IO use Ada Text IO procedure Hello is begin Put Line Hello world end Hello Kompilyaciya kompilyatorom gnatmake hello adbDiv takozhAda Lavlejs anglijska matematikinya im yam yakoyi nazvano cyu movu programuvannya SPARK mova programuvannya Literatura1 Bar R Yazyk ADA v proektirovanii sistem Per s angl Moskva Mir 1988 320 s 2 Dzhehani N Yazyk Ada Per s angl Moskva Mir 1988 549 s 3 Korochkin A V Ada 95 Vvedenie v programmirovanie Kiev Svit 1998 160 s 4 Kovalyuk T V Osnovi programuvannya Kiyiv Vidavnicha gruppa BHV 2005 384 s 5 Armstrong Deborah J February 2006 The Quarks of Object Oriented Development Communications of the ACM 49 2 p 123 128 6 Virt N Postroenie kompilyatorov Per s angl Moskva DMK Press 2013 188 s PosilannyaADA Velika ukrayinska enciklopediya u 30 t prof A M Kiridon vidp red ta in K DNU Enciklopedichne vidavnictvo 2018 ISBN 978 617 7238 39 2 Ce nezavershena stattya pro movi programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno zhovten 2013 https www adahome com Rogues taft html https blog adacore com author taft ADA Dovidkove kerivnictvo po movi ADA83 ros