После трех лет разработки представлен (http://libre.adacore.com/libre/tools/gnat-gpl-edition/) релиз GNAT GPL 2011 (http://libre.adacore.com/libre/), набора средств разработки на языке Ада-2005 (http://ru.wikipedia.org/wiki/%D0%90%D0%B.... В состав пакета входит компилятор, интегрированная среда разработчика GNAT Programming Studio (http://libre.adacore.com/libre/tools/gps/) (GPS), система профилирования кода, набор unit-тестов, отладчик и набор библиотек. Дополнительно поставляется плагин для интеграции GNAT с платформой Eclipse.<center><a href="http://www2.adacore.com/wp-content/uploads/2009/05/main-gps.... src="http://www.opennet.me/opennews/pics_base/30909_1308306550.jp... style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
Основные новшества:
- Обеспечена начальная поддержка стан...URL: http://libre.adacore.com/libre/tools/gnat-gpl-edition/
Новость: http://www.opennet.me/opennews/art.shtml?num=30909
я знал, она возродится! =)
Прошу, конечно, прощения. Но слова типа Ада напоминают мне слова типа Кобол, Фортран, ПЛ/1, даже Форт и т.д. Этот весь сонм что - ЖИВЕЕ ВСЕХ ЖИВЫХ?!!! :-)))Напомню старый, возникший на рубеже тысячелетий, анекдот о языке Кобол:
Дело идёт к 2000 году, кругом назревает заранее известная всеми своей
раздутостью и несущественностью проблема 2000...Один программист-коболист тусуется - фиксит кругом проблему-2000 всюду, где используется язык COBOL.
В общем надоело ему это всё, изобрёл/написал он какую-то супер-прогу для перевода
себя в анабиоз, думает - после Нового (2000) года проснусь, уже всё спокойно.Просыпается - кругом радостные люди кричат типа "Ура! Он проснулся!!!"
Программист-коболист думает - чё за дела, чё за радость-то такая кругом.
Через некоторое время появляется в небе
какое-то гигантское изображение лица, похожего на Б. Гейтса и это лицо
начинает диалог с проснувшимся программистом:- В обшщем, говорит, Прошло порядка 9000 лет, всё нормально, ту проблему
(проблему-2000) мы успешно решили, но в Вашей мега-программе (по анабиозу и пробуждению) прошёл сбой, Вы не проснулись вовремя, но мы
поддерживали ваше состояние в норме, и т.д...
- А что же вы меня только сейчас разбудили!!!!!
- Дык, эээ, ммм, в общем подходит 10000-й год, у нас назревает очередная
проблема (проблема-10000), у нас много программ на Коболе, сейчас на нём уже
никто не программирует, а в Вашем досье написано, что Вы программист-коболист...
Вот я по этому поводу и повторю заданный в начале сообщения вопрос - оно это вот всё - ЖИВЕЕ ВСЕХ ЖИВЫХ?!!! :-)))
если вкратце, то да
Вам бы только хоронить.
PL/1 скончался, а все остальное - живо и здорово, так как лучших инструментов для решения соответствующих задач никому придумать так и не удалось.Ада - блестящий язык для сложных проектов с высокой ценой ошибки, никакие C++ и т.п. и рядом не валялись. Фортран великолепен для матмоделирования, код получается простым, лакончиным и читаемым, а сравнимая производительность достигается только на чистом C и только ценой колоссальных усилий. Форт для встраиваемых систем с малым объемом ресурсов намного эффективнее чего-либо другого. Ну а причины жизнеспособности Кобола Вы сами описали. :)
как бы между прочим, Фортран используется много где лишь потому,что накоплена большая кодовая база, переписывать которую сейчас некому и незачем. Работает и не трогай.
То есть те же яйца, что и у Кобола, только в профиль. По удобству программирования и надежности ничем не лучше чистого С с либами. Насчет лаконичности и простоты, то большая часть традиций "суперкода" пошла именно от фортрана, от первых реализаций, это и однобуквенные переменные и прочие прелести типа кучи переменных I, N, J, Y даже там, где никаких ограничений давно уже нет.
Ну а Ада... для сложных ли проектов или нет, не скажу, скажу только что без правильной организации проекта плюсы Ады не "выстрелят". Дорогой в использовании язык :)
ага, это значит от того знакомые физики на каждый новый стандарт фортрана чуть не молятся, чтобы старый код запускать? Пушут сейчас на фортране, ещё как пишут, и всеми современными вкусностями пользуются - и модули у них сейчас есть, и ООП, и распараллеливание. Просто математики его в своё время создавали в первую очередь для понимания людьми, а потом уже компиляторы научились делать.
На Коболе сейчас в чистом виде действительно мало пишут, хотя тоже развивается помаленьку. Пишут зато на SQL , который из него произошел собственно.
> После трех лет разработки представлен релиз GNAT GPL 2011В прошлом году был релиз GNAT GPL 2010.
Его, видимо, разрабатывали с 2007.
а на нем на наших просторах кто-то что реальное пишет? интересно бы почитать о таких проектах. и понять есть ли смысл тратить время на аду. я ей немножко поигрался, понравилось:). Можно ли на ней программить и получать за это деньги у нас?
поделитесь инфой:)
Чем Ада лучше чем Си, С++, FreePascal? В чём заключается разница между Ада и этими языками? Какие преимущества?
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages. It has strong built-in language support for explicit concurrency, offering tasks, synchronous message passing (via guarded task entries), protected objects (a monitor-like construct with additional guards as in conditional critical regions) and nondeterminism (via select statements).
FreePascal с Ada даже рядом не валялся.
Хорошо тем что имеет встроенные в язык средства многопоточности, изначально проектировалось как Объектно-Ориентированный язык для америкосовских вояк, если мне память не изменяет. Синтаксис для меня, как C-фана необычен, но осваивается достаточно легко и быстро.
> FreePascal с Ada даже рядом не валялся.это верно, как можно сравнивать распространенный язык с нераспространенным и нишевым
> Хорошо тем что имеет встроенные в язык средства многопоточности,http://wiki.lazarus.freepascal.org/Multithreaded_Application...
>изначально проектировалось как Объектно-Ориентированный язык для америкосовских вояк, если мне память не изменяет.object pascal изначально проектировалсz как Объектно-Ориентированный язык для америкосовских фирмачей
> Синтаксис для меня, как C-фана необычен, но осваивается достаточно легко и быстро.Ну так паскалевский синтаксис понятно рулит
>> Хорошо тем что имеет встроенные в язык средства многопоточности,
> http://wiki.lazarus.freepascal.org/Multithreaded_Application...умение вызвать createthread или подобное, даже через обёртку, никак не является «встроеным в язык средством многопоточности». чтобы увидеть, что такое «встроеное» — можешь, например, глянуть на Active Oberon.
> Чем Ада лучше чем Си, С++, FreePascal?
> Какие преимущества?Вы правда думаете, что при сравнении зрелых языков программирования из разных "семейств" найдется хоть одно "абсолютное" (независящее от того где, как, кем и для чего применяется) преимущество одного над другим?
В языке Ada заложено много всего для написания надежных, безопасных программ. Сложная, подробная система типов. Кроме этого, интересный подход к многозадачности. ООП к нему прикрутили позже, и оно отличается от C++, например, отсутствием классов как таковых. Дженерики работают иначе, чем темплейты C++. Однозначно стоит того, чтобы ознакомиться, даже если не будете на нем писать. Все же это ни разу не COBOL.
> В языке Ada заложено много всего для написания надежных, безопасных программ.Да ладно вам, для сертификации кода как раз много всего никак не годится, все сомнительные возможности выкидываются нещадно, какие там ооп понимаешь, виртовский паскаль остается в сухом осадке
http://www.cotsjournalonline.com/articles/view/100982
A set of related restrictions can be bundled into a profile, and the Ada 2005 standard includes the definition of the so-called Ravenscar Profile, which comprises a simple set of tasking features whose usage and run-time libraries are amenable to safety certification. A program using the Ravenscar Profile consists of a set of tasks, each of which loops forever on either a simple event or a time-out. Despite its simplicity, the Ravenscar Profile is rich enough to express the kinds of concurrent programs that come up in practice.такие правила кстати и для ц есть
In 1998, the UK's Motor Industry Software Reliability Association established a set of 127 guidelines for the use of C in safety-critical systems.
http://www.iar.com/website1/1.0.1.0/474/1/
> такие правила кстати и для ц естьДаже близких аналогов нет, поскольку нет необходимых языковых и даже инструментальных средств. Профили в Ada - часть стандарта и реализованы во всех компиляторах.
> http://www.iar.com/website1/1.0.1.0/474/1/
...
Some rules, however, can't be checked automatically.
...
For example, MISRA C rule 118 forbids the use of dynamically allocated memory, rule 101 specifies that the use of pointer arithmetics is prohibited, and rule 102 says that no more than 2 levels of pointer indirection should be used.
...
Rule 23 (advisory): All declarations at file scope should be static where possible
Комментарии излишни.
>> такие правила кстати и для ц есть
> Даже близких аналогов нет, поскольку нет необходимых языковых и даже инструментальных средств.странный вы человек - эта ссылка как раз о том что мисра в иаровском компиляторе есть
>> http://www.iar.com/website1/1.0.1.0/474/1/аналогично
PC-Lint Version 8 includes support for MISRA, the Motor Industry Software Reliability Association, and the MISRA-C standard. PC-Lint detects and reports on numerous MISRA rule violations. You may use PC-Lint with the Keil Development Tools for ARM, C51, C251, and C166 microcontrollers.
а что качество проверки хуже будет для ц чем для паскалеподобного языка так это ясно
как ясно что ада в итоге все равно сольет питону, поскольку квалифицированных ада программеров не найти
кстати все эти статически проверенные проги все равно работают под осями написанными на ц, так что какая разница
"кстати все эти статически проверенные проги все равно работают под осями написанными на ц, так что какая разниц"А все это работает на процессорах архитектура которых не проще чем ось, и тоже подвержены багам, и что?
Тут говорится об языке и его возможностях, что он дает
к тому же на GNAT есть для Atmega256 например
Если бы усилия перло-моно-питонщиков например направились бы на создание открытых компилятора/среды разработки/библиотек для ADA ..., а не неадекватных и тормознутых созданий инопланетного разума.
> А все это работает на процессорах архитектура которых не проще чем ось,
> и тоже подвержены багам, и что? Тут говорится об языке и его возможностях, что он даето том и речь что хоть супер контроль одной малой части разработки мало чего дает в плане общей надежности системы, сделанной с основном на малонадежных языках. потому и все равно в общем то на чем писать. потому никто по возможности с малораспространенными языками и не парится, как бы хороши они сами по себе не были.
> Если бы усилия перло-моно-питонщиков например направились бы на создание открытых компилятора/среды разработки/библиотек для ADA ..., а не неадекватных и тормознутых созданий инопланетного разума.
да ладно мечтать то. реально то аду в критических системах заменит жаба
>>> такие правила кстати и для ц есть
>> Даже близких аналогов нет, поскольку нет необходимых языковых и даже инструментальных средств.
> странный вы человек - эта ссылка как раз о том что мисра
> в иаровском компиляторе естьЧто-то есть, но за пределами стандартов, стандартных инструментариев (особенно свободных) и большинства областей применения. Это не "такие правила", не аналог. Слишком широкое обобщение вы сделали.
> а что качество проверки хуже будет для ц чем для паскалеподобного языка
> так это ясноНе столько качество хуже. Главное, что эти правила налагают неприемлемые и не сопоставимые с Адой ограничения. Запрет на использование динамической памяти - ну что тут скажешь...
> как ясно что ада в итоге все равно сольет питону, поскольку квалифицированных
> ада программеров не найтиЯблоки апельсинам наверно тоже сольют, когда-нибудь. :)
> кстати все эти статически проверенные проги все равно работают под осями написанными
> на ц, так что какая разницаСтранные вопросы у вас. :) От себя могу сказать, что разница большая. :)
> Что-то есть, но за пределами стандартов, стандартных инструментариев (особенно свободных)вообще странно представить себе разработку софта для самолета или тачки на свободном софте. а стандартный инструментарий для этого дела к нему близко не лежит и конечно всем чем надо оснащен.
а ссылка то как раз на свободный линт. или вы его не пользуете? тогда к чему разговоры об автопроверках? ну а линт за деньги понятно получше бесплатного
> Не столько качество хуже. Главное, что эти правила налагают неприемлемые и не
> сопоставимые с Адой ограничения. Запрет на использование динамической памяти - ну
> что тут скажешь...Часть запретов рекомендательные. Но в аде в таких же применениях будет то же самое. И чем больше правил не нарушите тем легче будет сертифицировать.
а динамическая память в серьезном встраиваемом приложении понятно и так не нужна. стандарт писали понимающие люди
>> кстати все эти статически проверенные проги все равно работают под осями написанными на ц, так что какая разница
> Странные вопросы у вас. :) От себя могу сказать, что разница большая.
> :)где тут вопрос? повторю еще раз - надежность системы определяется ее самым слабым звеном. отсюда малая конечная эффективность от применения самых лучших средств но только в одном месте
> вообще странно представить себе разработку софта для самолета или тачки на свободном
> софте. а стандартный инструментарий для этого дела к нему близко не
> лежит и конечно всем чем надо оснащен.А мне вот не странно. GNAT Pro это по сути вариации GNAT GPL, с некоторыми дополнительными библиотеками и сертифицированные на соответствие различным промышленным и государственным стандартам. Со SPARK ситуация аналогичная. То есть существенная разница по сути только в сертификации, за счёт которой AdaCore коммерциализирует GNAT.
Во-вторых, профили (не только Ravenscar) для Ады можно варьировать и применять для решения любых задач, а не только для написания ПО под куцый (без динамической памяти и т.п.) embedded. Можно даже вовсе не использовать профили, и при этом типобезопасность останется при Аде, в отличие от Си, где для удостоверения таких простых свойств программы нужно применять инструменты формального моделирования и доказательства.
> а ссылка то как раз на свободный линт. или вы его не
> пользуете? тогда к чему разговоры об автопроверках? ну а линт за
> деньги понятно получше бесплатногоДа, PC-Lint я не использую, и как-то гугл не согласен с вами на тему его свободности. Бесплатный, возможно - я не вникал. Но не свободный.
>> сопоставимые с Адой ограничения. Запрет на использование динамической памяти - ну
>> что тут скажешь...
> Часть запретов рекомендательные. Но в аде в таких же применениях будет тоДанный конкретный запрет обязателен.
> же самое. И чем больше правил не нарушите тем легче будет
> сертифицировать.Откуда вы взяли, что то же самое? Где в Ravenscar или SPARK запрет на использование динамической памяти? Если вы знаете такой профиль, назовите его.
> а динамическая память в серьезном встраиваемом приложении понятно и так не нужна.
> стандарт писали понимающие людиНесусветные глупости говорите. Запрет для Си придумали потому, что ручное управление памятью там чревато ошибками, которых в Аде не бывает (кроме явных случаев unchecked) даже без профилей и правил. Что во встраиваемых системах, что в любых других.
> где тут вопрос? повторю еще раз - надежность системы определяется ее самым
> слабым звеном. отсюда малая конечная эффективность от применения самых лучших средств
> но только в одном местеАх, это не вопрос был! Мда. Знаете, мне лень вам что-либо объяснять, потому как по вашей расстановке акцентов видно, что суть и детали вас не волнуют. Я лучше задам вам вопрос: как ваше (доведённое до абсурда) утверждение о слабых звеньях согласуется с такой общепринятой в сфере ИБ парадигмой, как многоуровневая безопасность?
>> кстати все эти статически проверенные проги все равно работают под осями написанными на ц, так что какая разницаС чего ты взял? :)
Ada + Generic OS ~= EAL2
А вообще с соответствующими RTOS и железом можно доехать до EAL5
> Чем Ада лучше чем Си, С++, FreePascal? В чём заключается разница между Ада и этими языками? Какие преимущества?В том что на сертифицированной аде можно писать софт для управления аэробусом набитым пассажирами
Thales Aerospace Division Selects GNAT Pro for Airbus A350 XWB (Xtra Wide-Body)
Safety-critical systems to be implemented in Ada 2005
SAN DIEGO, NEW YORK and PARIS, June 1, 2009 – Avionics USA – AdaCore, a leading supplier of Ada development tools and support services, today announced that international electronics and systems group Thales has chosen the GNAT Pro technology, including several safety-qualified tools, to develop critical systems for the new Airbus A350 XWB (Xtra Wide-Body) family.
не, ну на гнутом ц тоже можно попробовать полетать конечно, только не пролететь бы
> на гнутом ц тоже можно попробовать полетать конечно, только не пролететь быскорее всего gcc безопаснее, потому что не допустят к сертификации :) Кто не летает, тот и не рискует.
В двух словах трудно описать. Ада - прекрасный язык.
Если постараться в кратце объяснить, то программы на Аде представлены в максимально ясной, однозначной форме, на высоком уровне (без ереси вроде поинтеров и адресов), и в то же время они не жертвуют производительностью + компилятор котролирует многие вещи. Ада по-возможности не дает писать плохой код.
>Ада по-возможности не дает писать плохой код.Об этом можно поподробнее? Все компиляторы и среды разработки, которые я видел, ПОЗВОЛЯЮТ писать хороший код, но НЕ МЕШАЮТ писать плохой =)
плохо смотрел или мало видел
> Об этом можно поподробнее? Все компиляторы и среды разработки, которые я видел, ПОЗВОЛЯЮТ писать хороший код, но НЕ МЕШАЮТ писать плохой =)на самом деле речь не столько о хорошем, сколько не подверженным дурацким ошибкам и опечаткам (типа как в ц) и легко проверяемом (в том числе и компилятором, а не как в ц где любой набор символов компилируется)
а хороший-плохой это какие-то гуманитарные категории
> где любой набор символов компилируетсяэто perl.
Нормальный такой язык. Я его увесистым томиком "Язык Ада" пугаю разного рода религиозных секстантов, то ходят по домам - реакцию видно в их глазах.
И как у него с Qt биндингами?
Легко и непренужденно.
взгляните на qtada.com.
Разработана нашими соотечественниками.
Все обыскал
Но не могу найте способа интегрирувать это чудо в visual studio 2010Ставится она превосходно не как mingw но работать из под нее не ловко
Спасибо заранее
Если поможете покажу рабочий интересный код сетевого драйвера разработанного нами!!!!
> Если поможете покажу рабочий интересный код сетевого драйвера разработанного нами!!!!Помочь вам вряд ли сумею, но на драйвер глянуть архиинтересно!