Отдал бы и ползарплаты! Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

Типичная ситуация в AdaCore vs. Ada community:

Да уж. Тут одно за собой тянет другое — недоступность Ады для ряда платформ уменьшает вероятность того, что кто-то кроме AdaCore будет вкладываться в развитие Ады, да и просто использовать её для своих проектов.
На примере нашей работы: мы занимаемся телекоммуникациями (VoIP). Есть у нас продукт - сервер видеоконференцсвязи (mcu). Писан на С++. Затем появилась потребность написать к нему собственные клиенты (там используется стандартный SIP-протокол, так что сторонние клиенты тоже работают, но свой будет лучше по ряду причин) в первую очередь для Windows. Клиент процентов на 70 состоит из общего с сервером кода (сигналинг, декодинг/енкодинг и так далее). Для клиента специфичен только GUI и средства воспроизведения (звук, видео) ну и некоторая дополнительная логика.
Затем потребовался клиент для Linux. Тут было еще проще — у него процентов 90 общего кода с Win-версией клиента (только устройства подложить линуксовые, да гуй перерисовать).

А вот теперь Android и iOS. Там в общем то тоже не сложно, особенно в iOS. Процентов 90 кода будет общее с десктопными клиентами (оставшиеся 10% пишутся на системо-специфичном ЯП - в случае Android это java, в случае iOS — это ObjC).
А если бы мы изначально взяли не С++, а Аду, то на этапе поддержки мобильных платформ мы бы сели в лужу, пришлось бы переписывать 90% кода с нуля на том же С++. А затем постоянно поддерживать это дело в актуальном состоянии и ручками синхронизировать с кодом сервера.
То есть выходит, что стратегически верным решением является изначально использовать не Аду, а С++, чтобы в последствии иметь свободу манёвра (если конечно вы меньше Боинга, и не можете заказать поддержку нужной платформы у AdaCore) — когда начинали разработку, два года назад, никто о написании своих специализированных клиентов для всех платформ еще и не думал — это был эксперимент. Успешный.

http://news.gmane.org/find-root.php?message_id=%3cCAO2%2dbK%2d8mOQ8gOCrVB%2bQTmYi9Zpau2F%2bfvHS0ivMYpBd4UhXCA%40mail.gmail.com%3e

А что у Ады с компиляцией под Apple iOS? Хотя бы адский код в либу собрать, чтобы её из ObjC там дергать.
У нас есть абсолютно полноценный порт под iOS, который мы разработали из любопытства в основном. К сожалению лицензионная модель эппл не позволяет нам предложить такой продукт.

http://news.gmane.org/find-root.php?message_id=%3c276555BE%2d9B20%2d44DE%2d99CE%2d5CF5265A3248%40adacore.com%3e

#0MTWAG (1) / @octagram / 4168 дней назад
http://www.prleap.com/pr/196931/ В новой версии ObjectAda реализована долгожданная поддержка стандарта Ada 2005 Таким образом, у нас есть GNAT (Ada 2012), ObjectAda (Ada 2005) и Irvine ICCAda (частичная поддержка Ada 2005). Многочисленные Green Hills так и застряли в Ada 95. 2005й по сравнению с 95м более прорывной, чем 2012й по сравнению с 2005м IMHO, так что это отличная новость. Крутые адские перцы, у которых по работе под рукой несколько компиляторов, теперь будут более охотно применять фичи 2005ой в open source библиотеках. ObjectAda дешевле GNAT Pro, что должно снизить барьеры внедрения Ады в production.
#VJGHYQ (0) / @octagram / 4319 дней назад
ada
При обсуждении набор тестов соответствия для стандарта языка Ада 2005 в корректировках ошибок в тестах участвовала не только AdaCore. Был и другой участник, видимо, с прототипом компилятора нового стандарта. Теперь ясно, кто это: http://www.irvine.com/index.html
#I6ACY5 (0) / @octagram / 4393 дня назад
http://electronicdesign.com/article/embe.....ages-74107 _C++11 and Ada 2012 - renaissance of native languages?_ > In the late 90s and beginning of the 2000s, the language trend had migrated to the world of Java, or Java-like languages (such as C#). > One cycle seems to be closing, and industry is realizing that rapid development doesn't really matter when the end code doesn't fit the purpose it was developed for.
#UTJ0S8 (0) / @octagram / 4517 дней назад
Как–то я раньше не смотрел на GNAT for Lego NXT, а тем временем: > Differrently from the 2009 release of GNAT GPL for the LEGO MINDSTORMS NXT, the 2010 release does not rely on any operating system: it is an Ada-only bareboard solution leveraging on Ada 2005 features for concurrent and real-time behaviour. Среди этих фич, например, управление политиками планировщика: http://www.adaic.org/resources/add_conte.....D-2-6.html
#IKP6FJ (0+1) / @octagram / 4530 дней назад
ada
http://www.ada-auth.org/standards/12rm/h.....4-1-6.html Переняли–таки в Аду из C++ механизм ссылок и перегруженного operator [] для контейнеров. Интересное отличие — у ссылки могут быть какие–то свои действия навешены на уничтожение и копирование, и в стандартных контейнерах это используется.
#LGZLJU (0+2) / @octagram / 4533 дня назад
Сразу две новости про язык Адa 2012: выходит GNAT GPL 2012 с полной поддержкой нового стандарта ( https://libre.adacore.com/ ) И Modified GPL версия GNAT Russian Edition за 3000 рублей для всех, кому мешала GPL'ность runtime library: http://comments.gmane.org/gmane.comp.lan.....ssian/4720
#VZVQ8H (0+2) / @octagram / 4533 дня назад
http://ada-ru.qtada.com/archives/348 > До недавнего времени средства разработки Web приложений на языке программирования Ada сложно было признать пригодными для широкого использования. Фактически было доступно два варианта: использовать один из вариантов реализации протокола CGI либо же специализированный Web сервер AWS. Первый вариант не только низкоэффективен сам по себе, но является ещё более низкоэффективным при программировании на Ada за счёт накладных расходов на запуск и останов приложения. Второй вариант не позволяет использовать приложение совместно с штатными Web-серверами, что накладывает ограничения на применение конечного приложения. > Модуль FastCGI предоставляемый Матрёшкой исправил ситуацию за счёт возможности разработки приложения с одной стороны предназначенного для использования со стандартными web-серверами, а с другой — предполагающим работу приложения в виде самостоятельного процесса, не требующего запуск нового процесса для обработки каждого запроса.
#55JYP2 (0+2) / @octagram / 4542 дня назад
Помнится, раздражал меня Integer'Image в Аде, который для положительных чисел лепит пробел перед их строковым представлением, и для преобразования числа в строку либо Trim(Integer'Image(х)) нужно было как можно быстрее написать, либо из тулкита типа AdaCL функцию использовать. И implode/explode в стандарте нет. Сегодня я попытался на C++ ограничиться только STL. И как эти люди ещё могли жаловаться на стандарт Ады?
#CW5TFB (4+2) / @octagram / 4546 дней назад
Чем больше имею дело с Delphi, тем лучше вспоминаю, что мне так нравилось в Аде. Хит сезона: в Delphi файл считается принадлежащим проекту (отображается в IDE), если в dpr написано uses ... in '....pas'. IDE при этом отсчитывает путь от файла проекта, но если компилировать с командной строки, то модуль ищется относительно текущей директории, причём, search path игнорируется напрочь. Забавно, компилятор устраивает наличие .dcu в search path, но .pas ищется только относительно текущей директории. Этот GUI-CLI псевдодуализм всплывает не по отдельности, а в комплекте с ещё одним: группа проектов, созданная в IDE, по синтаксису является makefile, и, действительно, можно запустить make -B -f MyProjectGroup.bpg, и группа проектов скомпилируется, но только до тех пор, пока все проекты в той же директории, что и группа проектов. Ах, да, чуть не забыл, есть же ещё такая штука как .res файлы, которая генерится и компилируется IDE неявно и автоматически. Казалось бы, проблему можно решить, создав в явном виде .rc файлы. Проект Delphi может содержать не только .pas файлы, но и .rc файлы (.pas и .rc — это всё, что может быть в .dpr). IDE отображает .rc файлы как относящиеся к проекту, если они подключаются {$R '....res' in '....rc'}, и собирает их автоматически. Однако, dcc32 так не умеет. Совсем. На этот раз ему нужен только .res, и как–то по–простому впилить компиляцию ресурса, чтоб работало и из make, и из IDE, если открыть группу проектов, уже не получается. Заколебал этот псевдодуализм, когда IDE и консольные утилиты работают с одними и теми же форматами, но очень по–разному. Ах, да, не забыть .dof для IDE и .cfg для компилятора с этим их синхронным редактированием. А как в Аде? Есть GNAT Project с расширением .grp. GPS (GNAT Programming Studio), gnatmake и gprmake все работают с одним и тем же форматом, и ведут себя одинаково. Компилятор знает, какие модули в проекте. IDE тоже это знает, и информация поступает из одного места по одному и тому же алгоритму. А ещё вместо того, чтобы в настройках проекта пихать в search path для модулей и объектных файлов конкатенацию путей до всех зависимостей, можно из одного проекта подключить другой проект. Добавление зависимости, удаление зависимости — всё произойдёт в одном месте, и и компилятор, и IDE поймут это одинаково. В Delphi что–то похожее есть только для runtime packages.
#R0SGWW (1+1) / @octagram / 4550 дней назад
http://octagram.name/img/2012/05/AdaToDelphi.png Переписываю транслит с Ada на Delphi
#NCWY8X (0) / @octagram / 4563 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.