пятница, 29 октября 2010 г.

[prog] Разработчики ACE заинтриговали – хотят выпустить ACE 6.0

Сегодня из рассылки ace-announce пришло письмо, в котором говорится, что ACE 5.0 вышла 31 июля 1999, и что спустя 11 лет самое время выпустить ACE 6.0. Что, собственно, разработчики ACE и собираются сделать в течении месяца.

Других подробностей пока нет, поэтому новость получается интригующей. Означает ли это, что в ACE 6.0 грядут какие-то серьезные изменения (например, более серьезное использование C++ных возможностей, в частности, исключений)? Или же это будет тот же самый ACE 5.8.*, но уже под новым именем?

Лично я уже довольно долго придерживаюсь мнения, что мажорный номер версии проекта нужно менять только при его кардинальной переделке. Т.е. когда новая реализация практически не совместима со старой. Поэтому такое громкое обещание несколько меня тревожит. Однако, кажется мне, что не будет в ACE 6.0 ничего революционного.

В общем, будем посмотреть. Но пока заинтриговали :)

4 комментария:

Анонимный комментирует...

а почему вы так ждете поддержки exceptions? в [C++NPv1] в разделе A6 написано, почему они слабо поддерживаются. вы же читали:3

eao197 комментирует...

За последнее время пришел к выводу, что при наличии исключений программы получаются надежнее и предсказумее -- если что-то не учел, сразу падает :)

Один из аргументов, AFAIK, у ACE-овцев был такой: исключения далеко не везде нормально поддерживаются. И так действительно было еще 10 лет назад. Но сейчас другая ситуация и из ACE в последнее время выбросили поддержку многих платформ.

Анонимный комментирует...

а второй аргумент - производительность.
"...даже если платформа поддерживает обработку исключений, встроенные приложения и приложения реального времени, возможно, не смогут ее использовать."

eao197 комментирует...

Да это тоже уже далеко не так однозначно.

Во-первых, за прошедшее время скорость обработки исключений в C++ сильно повысилась. Я не помню подробностей, но лет 5-6 назад обсуждалась новая схема исключений, внедренная в GCC и еще нескольких компиляторах, когда накладные расходы на исключения были снижены и, более того, стали константными и не зависили от степени вложенности вызовов функций.

Во-вторых, я себе слабо представляю использование высокоуровневых средств ACE (т.к. реакторы, проакторы и пр.) в жестком рилтайме, поскольку там, насколько я помню, активно используется динамическая память. А уж если new/delete есть, то об исключениях уже и говорить не приходится.