Язык программирования Ada
А сам язык был назван в честь Ады Лавлейс, дочери Байрона. Она дружила с Чарльзом Беббиджем и потому была первой в мире программисткой, причём за 100 лет до того как была построена первая вычислительная машина.
Вот прочел что етот язык использует пентагон и пишут программы которые в последующем записываются в програмный модуль ракеты. Ктонибудь может мне сказать действительно ли ето супер пупер язык?
Можешь ознакомиться. Язык очень хороший: Адское программирование
п.з.Всем спасибо......
ADA действительно предлагалась в качестве стандарта для министерства обороны США, но только это было давно, ещё до распространения объектного программирования. Как процедурный язык ADA действительно была хороша, но я сомневаюсь, что в настоящее время про неё кто-нибудь ещё вспоминает.
А сам язык был назван в честь Ады Лавлейс, дочери Байрона. Она дружила с Чарльзом Беббиджем и потому была первой в мире программисткой, причём за 100 лет до того как была построена первая вычислительная машина.
Знаешь, не могу с тобой согласится. В KDevelop она до сих пор есть, и многие мои знакомые, как впрочем и я, им пользуются.
Знаешь, не могу с тобой согласится. В KDevelop она до сих пор есть, и многие мои знакомые, как впрочем и я, им пользуются.
Ну, если она теперь объектно-ориентированная, то почему бы и не попользоваться? Однако, за последнее время мне чаще встречались упоминания про Cobol и PL/1, чем про Аду, вот мне и показалось, что она забыта.
Это хорошо, что про неё помнят: единственный язык и приличным названием.
Ну, если она теперь объектно-ориентированная, то почему бы и не попользоваться?
ADA, как и Algol-68 разрабатывались, в отличии от C++ и ObjectPascal изначально, как объектно ориентированные языки. К сожалению они немного опередили свое время и на момент их появления не смогли создать удовлетворительно работающий промышленный компилятор. Основной недостаток нынешнего стандарта языка, это слабая библиотечная поддержка и отсутсвие удовлетворительной IDE. Хотя ObjectADA вполне прилична (Это ide а не ОО стандарт). Кроме того существует очень даже хороший компилятор под GNU лицензией - GNAT. Программирование консольных приложений в Ade легко и приятно. Да и работают они очень эффективно. Кроме того, современный стандарт языка позваляет подключать, использовать и писать пакеты на других языках программирования, таких как С++, Perl, Phyton, Prolog,asm.
ADA, как и Algol-68 разрабатывались, в отличии от C++ и ObjectPascal изначально, как объектно ориентированные языки.
Либо я чего-то не понимаю, либо тут пропущено "не" (ADA, как и Algol-68 разрабатывались ... [COLOR=blue]не[/COLOR] как объектно ориентированные языки). В 1968 и речи не могло быть ни о какой объектности, тогда структурность и модульность только начинали входить в моду.
Я читал про Аду в 197* годах, и никаких объектов там, конечно же, не было. Были (вероятно, и сейчас есть) интересные особенности вроде ключевых параметров процедур и значений по умолчанию, а также задаваемые диапазоны данных (вроде того, что целая переменная i может быть не меньше 11 и не больше 17) и что-то ещё интересное. Однако, в общем ничего революционного в Аде я тогда не обнаружил. Правда, знание моё как было, так и осталось чисто теоретическим.
Либо я чего-то не понимаю, либо тут пропущено "не" (ADA, как и Algol-68 разрабатывались ... [COLOR=blue]не[/COLOR] как объектно ориентированные языки). В 1968 и речи не могло быть ни о какой объектности, тогда структурность и модульность только начинали входить в моду.
Я читал про Аду в 197* годах, и никаких объектов там, конечно же, не было. Были (вероятно, и сейчас есть) интересные особенности вроде ключевых параметров процедур и значений по умолчанию, а также задаваемые диапазоны данных (вроде того, что целая переменная i может быть не меньше 11 и не больше 17) и что-то ещё интересное. Однако, в общем ничего революционного в Аде я тогда не обнаружил. Правда, знание моё как было, так и осталось чисто теоретическим.
Нет не опечатка. 68 у алгола это не год стандарта. А у Ada - основная концепция это package с заданием собственных типов и операций над ними. Эту - то концепцию и слямзили потом создатели С++ и назвали это классами и объектами. Хотя признаю, что сами разработчики языка ada слизали это у Algol-68. Но тот к сожалению совсем не пошел в жизнь.
68 у алгола это не год стандарта.
Ей-богу не вру: Algol-68 назван так именно потому, что сообщение о нём было опубликовано в 1968...
Кажись в Аде-83 ООП не было. Ну были пакеты, типы и операции над ними. Tagged-типы появились только в Аде-95, а следовательно наследование и полиморфизм.
Как сказал кто-то здесь на форуме, при обсуждении ООП в asm-е. Что такое ООП - это структура данных + функции для ее обработки. :).
Что такое тип? Это описатель некоего класса объектов. Что такое операция? Это метод поведения некоего объекта некоего класса (то биш типа). Что такое переменная некоторого типа. Это объект. И где же здесь отсутсвие ООП?.
Теперь по поводу наследования. Цитата:
Согласно концепции производных типов Ады, которая известна со времен стандарта Ada-83, производный тип наследует структуру данных и операции типа-предка.
И далее:
Чтобы в последствии не породить терминологической путаницы, необходимо сразу сделать одно важное замечание которое специально предназначено для знатоков ООП, активно использующих другие языки программирования (например, C++ или какой-либо современный диалект Паскаля, поддерживающий объектно-ориентированное расширение). В традиционном понимании, слово "класс" трактуется как спецификация типа данных и множество методов (операций) этого типа данных. В отличие от этого, Ада трактует понятие "класс" как набор типов которые объединены иерархией наследования.
ИМХО: Самое, что ни на есть ООП.
Конечно само понятие class для Ады скорее следует заменить на package, и расширять не тип, но пакет.
Я только что-то не понимаю, почему Ада попала в «Низкоуровневое программирование» :D
ХЗ Мош потомучто на нём мало кто програмирует :)
Я исходники поискал на Ada так тока для запуска ракет и дя самалетов кароче язык для едениц :)
Это-то да, но в Аде-83 нельзя запись (record) дополнить новыми полями. В Аде-95 это есть, что привычно для программирующих на С++.
Конечно само понятие class для Ады скорее следует заменить на package, и расширять не тип, но пакет.
Согласен на все 100%.
Кстати на www.ada-ru.org по этому поводу своя тусовка.