Vlad писал(а):
Неправда. Нормального GC нет, как и в C++.
Меня пока ещё никто не смог убедить, что GC действительно так нужен. Один дотнетчик уверенно утверждал, что с XML нельзя работать, потому что там повсюду циклические ссылки. Авторы XMLAda, expat и libxml2, видимо, не знают об этом ограничении. Другое дело, что Safari2, когда закрываешь окно с кучей вкладок, не отвечает, пока всё не освободит, но это уже другой разговор. Постепенное освобождение можно и без GC сделать.
Возможно, это зависит от рода задач, но в системном программировании GC — это заноза в. Как только в проекте появляется ЯП с GC, он в некотором смысле начинает претендовать на исключительность. Вы не можете просто взять современные реализации Modula-3 и D, и делать циклы между их объектами, надеясь, что всё освободится. Поэтому Ada может рассматриваться как альтернатива C++, а большинство прочих — нет. В .NET и Java, казалось бы, эта проблема решена, вот только чего–то одного среди этих двух пока не осталось. До тех пор, пока нет единого, абсолютно всеми используемого интерфейса GC, ГНАТу простительно не поддерживать GC.
Илья Ермаков писал(а):
Российский эксперт по Ada говорил мне, что можно, например, начать иерархию классов на С++, продолжить на Аде, а затем опять на С++
В пределах GNAT&G++ ещё можно. Но я не вижу большого смысла завязываться на этом. SWIG на всякий случай поддерживает оба режима: модуль 'gnat' генерит привязки для GNAT&G++, а 'ada' — универсальные.
Илья Ермаков писал(а):
Можно скачивать полноценную open-source версию инструментария, смотреть, сколько душе угодно, в академических целях бесплатно использовать (и даже, если от ВУЗа, то иметь их техподдержку). А вот за ком. применение - $
Если точне, то $ за не–GPL версию. А в России очень много внутренних разработок, автоматизирующих предприятия. Раньше на FoxPro, сейчас на Delphi. Само собой, все исходники у предприятия. Так что тут GPL фиолетово.
Илья Ермаков писал(а):
Степанов стал делать STL на C++, а не на Аде, именно потому, что в Аде оно не юзабельно
А ещё в C++ не стали делать многозадачность, потому что делегация от Эрланга доложила, что в Аде оно неюзабельно. Они бы ещё пару–тройку таких делегаций попринимали бы, в C++ ни ООП, ни ОП не осталось бы

Что–то нехорошее происходит с программистами, посмотревшими Монти Питон. Они начинают изобретать посредственные, но очень популярные языки программирования.
Илья Ермаков писал(а):
По поводу памяти - там действительно неплохая дисциплина работы с ней, полуавтоматическая.
Вот только не у всех, кто имеет дело с Адой, есть на неё вкус. Это особенно касается привязок. И гнатского кода тоже, кстати. GNAT.Sockets, например.
Плохо сделанными привязками в Аде тяжело пользоваться, а новички переносят это ощущение на Аду как таковую.
Vlad писал(а):
Беглый просмотр документации по Ada2005 не выявил в стандартной библиотеке никаких признаков алгоритмов, только контейнеры.
Стандартная либа весьма аскетична. Основное назначение стандарта — это определить язык, а библиотека — это минимальный API.
Я думаю, тут было бы лучше строить свои библиотеки поверх стандартной (fallback implementation) и поверх системных вызовов.
Vlad писал(а):
Так что чудес и в 2005 ревизии, похоже, не случилось

Взять хотя бы нисходящие замыкания и интерфейсы. Ещё бы и привязки всю эту благодать поддерживали...
Vlad писал(а):
P.S. Хотя конечно хотелось бы пообщаться с людьми, которые серьезно используют Аду.
http://news.gmane.org/gmane.comp.lang.ada.russian