Ada_Ru форум

Обсуждение языка Ада

В новую эру - без Ады?

Оставить новое сообщение

Сообщения

Sergei Lodyagin
В новую эру - без Ады?
2012-06-07 18:56:08

Добрый день всем участникам движения Ада-ру.

 

Жаль, что не со всеми удалось встретиться в славном городе Севастополе (уверен, что кто был - не пожалел).

 

Собственно, пишу я потому, что не использую Аду уже на протяжении длительного времени, что, принимая во внимание, всем известные

преимущества языка, кажется странным мне самому.

 

Можно ли наконец провести анализ причин и понять, куда движется Ада-ру?

Да, есть прекрасные сайты www.ada-ru.org и ada-ru.qtada.com, есть прекрасные инициативы Виктора Олеговича и бескорыстная поддержка Сергея Киркорова. Есть прекрасные программисты на Аде, с которыми я работал в одной компании. Есть ещё те, с кем я лично, увы, не знаком, но, я уверен, знают и поддерживают язык, в том числе в этой рассылке.

 

Однако вектор движения русскоязычного сообщества неясен.

 

Мне кажется, не стоит относится к Аде как к музейному экспонату, не стоит её защищать или наоборот, доказывать её слабости. Язык жив, пока мы пишем на нём приложения и эти приложения кем-то используются. И если это - всего несколько фирм, то это плохо.

 

Хочу обратить ваше внимание на то, что ниши для использования языка есть. Прежде всего - это встроенные системы, в том числе, различные роботы.

 

Посмотрите, пожалуйста, на библиотеку

http://users.dickinson.edu/~braught/dlife/dLife/dLife.html

Это один из примеров, где мы бы могли сказать слово, но пока не сказали.

Между прочим, тема роботов интересна многим. Даже у меня есть сайт, посвящённый построению роботов-яхт. Есть место, где собираются люди и обсуждают выбор платформ, операционных систем и языков для построения роботов, алгоритмы для решения задач и (довольно не простую)

многопоточную их реализацию.

 

Давайте посмотрим, с чем может прийти туда Ада.

 

1. GNAT уже имеет ARM порт. Большинство встроенных систем базируется на этой платформе.

2. Наиболее популярная OS реального времени сегодня (из разных

источников) - Free RTOS. Ядро - не Ада, но портировать на неё GNAT можно (если ещё не портирован). (В скобках замечаю - сама Free RTOS - это 3 не очень больших файла на C, но зная нелюбовь Ада-ру писать свой системный код ... даже не заикаюсь об Ада - альтернативе. Кстати, Free RTOS поддерживает много процессов).

3. Ада предоставляет более удобную модель параллелизма и лучший уровень надёжности. Уплывший в океан робот-яхта из-за переполнения буфера - это обидно.

 

Да, согласен, проект не шибко коммерческий (на данном этапе), но

наработки могут пригодиться в широком спектре реальных проектов.

Как-никак, в программировании грядёт эра робототехники.

 

Если сейчас этот момент упустить, то эта эра наступит без Ады. Вряд ли те фирмы, которые сейчас выстроили свой бизнес на Аде захотят осваивать новые рынки. Сегодня - это удел энтузиастов (как было когда то с Linux. сегодня - это промышленная платформа. Кто бы мог подумать).

 

В общем, приглашаю энтузиастов хотя бы начать обсуждение в рамках предложенной темы - позиционирование Ады как одного из решений для построения роботов. Буду благодарен всем, кто меня поддержит и изложит свои мысли по этой теме.

 

--

Сергей Лодягин

 

Собственно, пишу я потому, что не использую Аду уже на протяжении длительного времени, что, принимая во внимание, всем известные преимущества языка, кажется странным мне самому.

 

Можно ли наконец провести анализ причин и понять, куда движется Ада-ру?

 

Мое мнение - комплекс причин.

 

1) Лицензия. Вы много видели популярных языков программирования с бесплатным компилятором который принуждает лицензировать разработанное ПО под GPL? И при этом платный стоит вроде как несколько килобаксов.

2) Преимущества языка начинают как-то быть заметны на реально больших проектах. А чтобы проект на Аде дожил до большого, нужно начать с маленького проекта, где преимущества Ады в общем то не видны (зато виден большой и сложный язык, тяжелый компилятор и так далее). То есть внедрение Ады возможно только волевым решением власть имущего, который откуда-то знает что Ада потом внезапно окупится. По этой же причине в среде опенсорса Ады по факту нет и не будет (значимого присутствия Ады).

 

3) Просто компилятора под ARM совершенно не достаточно. АРМы РАЗНЫЕ, очень разные. От микроконтроллеров до 64битных серверов. Каждое применение нужно рассматривать отдельно. Например я не вижу абсолютно никакого смысла и никакого выигрыша от использования Ады на например смартфонах.

 

4) FreeRTOS... Собственно под микроконтроллеры на которые рассчитана эта "ось" даже просто кодогенерация gcc слишком толстая и проблемная. Памяти там 2-4 Кб, флэша, ну килобайт 32 (например какой-нибудь msp430). Почти ВЕСЬ код который там пишется, процентов на 90, жестко работает именно с железом, это низкоуровневый код. Например работа с i2c, с прерываниями и так далее. Какие тут у Ады преимущества перед диалектами Си заточенными именно под эти применения? Процессоры 8 и 16ти битные. Иногда 32 бита. Но памяти и вообще ресурсов где-то столько же.

 

5) По поводу программирования роботов... Смешно, или грустно, но если уж даже авионика пишется на Си и асме (

http://habrahabr.ru/post/144686/#comment_4858775), то уж хоббийные роботы... Какая разница на чем их писать?

 

6) Основной софт писан на Си. То есть ОС, posix, основные либы. У Ады никогда не получится интегрироваться с Си лучше чем Си/С++. Написав руками биндинг приходится его же руками поддерживать. В случае нескольких платформ

- это геморрой. Тут есть два пути - либо иметь совместимость с сями (как это сделано в С++ и ObjC, причем во втором лучше), либо растить вокруг себя толстую инфраструктуру, по сути являющейся своей собственной ОС, своим миром, где все будет дружественно этому самому языку (как сделали в java и c#), но на это реально нужны большие средства, и все равно средств в c# и java не хватает, все равно с матами приходится прорубать окно в мир Си и руками поддерживать биндинги.

 

Мы сейчас занимаемся разработкой софта и прибора связанного с

медициной/фитнесом (ну, то есть оно не настолько критично как оборудование в реанимации, но все же отказ неприятен). Кода у нас пока решительно мало (порядка 20-30 тыс строк) и я решительно не вижу где Ада могла бы дать какое-то преимущество перед имеющимися языками. Вот где даст преимущество например Go - вижу. Без ObjC и Java вообще прожить в данном случае нелья. Без Си тоже. А Ада не нужна. Более того, если бы вдруг было волевое решение использовать/попробовать Аду, то её использовать просто не получилось бы. Банально нет инструментария.

Мне кажется, что должна произойти какя-то крупная аврия, связанная с использованием С или С++ (про JAVA я не говорю, така как там большое количество дыр, которыми хакеры успешно пользуются ) , чтобы поняли все преимущества программирования на ADA. Я,например нашёл несколько критических ошибок с MS Visual Studio C++ компиляторе, послал сообщение в Microsoft и получил ответ робота с телефоном по которому мне могут помочь. Вот такая реакция. Трудно точно знать, когда многие прозреют,но раз вышла новая версия стандарта языка ADA-2012, значит язык жив.

Надо просто писать мощные системы, расширяющие его возможности. Главная проблема в том, что никто не хочет начинать с нуля и штопают старое до предела. Но жизнь вещь не предсказуемая,  даже Microsoft взялся за сборку собственной версии Linux, а программирование роботов на АДЕ идёт полным ходом в США и Испании. 

 

 

 

________________________________

From: Alexey Veselovsky <alexey.veselovsky@...>

To: [email protected]

Sent: Friday, June 8, 2012 1:04:09 AM

Subject: Re: [ada_ru] В новую эру - без Ады?

 

 

Собственно, пишу я потому, что не использую Аду уже на протяжении длительного времени, что, принимая во внимание, всем известные преимущества языка, кажется странным мне самому.

 

>Можно ли наконец провести анализ причин и понять, куда движется Ада-ру?

 

Мое мнение - комплекс причин.

 

1) Лицензия. Вы много видели популярных языков программирования с бесплатным компилятором который принуждает лицензировать разработанное ПО под GPL? И при этом платный стоит вроде как несколько килобаксов.

 

2) Преимущества языка начинают как-то быть заметны на реально больших проектах. А чтобы проект на Аде дожил до большого, нужно начать с маленького проекта, где преимущества Ады в общем то не видны (зато виден большой и сложный язык, тяжелый компилятор и так далее). То есть внедрение Ады возможно только волевым решением власть имущего, который откуда-то знает что Ада потом внезапно окупится. По этой же причине в среде опенсорса Ады по факту нет и не будет (значимого присутствия Ады).

 

3) Просто компилятора под ARM совершенно не достаточно. АРМы РАЗНЫЕ, очень разные. От микроконтроллеров до 64битных серверов. Каждое применение нужно рассматривать отдельно. Например я не вижу абсолютно никакого смысла и никакого выигрыша от использования Ады на например смартфонах.

 

4) FreeRTOS... Собственно под микроконтроллеры на которые рассчитана эта "ось" даже просто кодогенерация gcc слишком толстая и проблемная. Памяти там 2-4 Кб, флэша, ну килобайт 32 (например какой-нибудь msp430). Почти ВЕСЬ код который там пишется, процентов на 90, жестко работает именно с железом, это низкоуровневый код. Например работа с i2c, с прерываниями и так далее. Какие тут у Ады преимущества перед диалектами Си заточенными именно под эти применения? Процессоры 8 и 16ти битные. Иногда 32 бита. Но памяти и вообще ресурсов где-то столько же.

 

5) По поводу программирования роботов... Смешно, или грустно, но если уж даже авионика пишется на Си и асме (http://habrahabr.ru/post/144686/#comment_4858775), то уж хоббийные роботы... Какая разница на чем их писать?

 

6) Основной софт писан на Си. То есть ОС, posix, основные либы. У Ады никогда не получится интегрироваться с Си лучше чем Си/С++. Написав руками биндинг приходится его же руками поддерживать. В случае нескольких платформ - это геморрой. Тут есть два пути - либо иметь совместимость с сями (как это сделано в С++ и ObjC, причем во втором лучше), либо растить вокруг себя толстую инфраструктуру, по сути являющейся своей собственной ОС, своим миром, где все будет дружественно этому самому языку (как сделали в java и c#), но на это реально нужны

большие средства, и все равно средств в c# и java не хватает, все равно с матами приходится прорубать окно в мир Си и руками поддерживать биндинги.

 

Мы сейчас занимаемся разработкой софта и прибора связанного с медициной/фитнесом (ну, то есть оно не настолько критично как оборудование в реанимации, но все же отказ неприятен). Кода у нас пока решительно мало (порядка 20-30 тыс строк) и я решительно не вижу где Ада могла бы дать какое-то преимущество перед имеющимися языками. Вот где даст преимущество например Go - вижу. Без ObjC и Java вообще прожить в данном случае нелья. Без Си тоже. А Ада не нужна. Более того, если бы вдруг было волевое решение использовать/попробовать Аду, то её

использовать просто не получилось бы. Банально нет инструментария.

On 06/08/2012 10:54 AM, Leonid Dulman wrote:

Мне кажется, что должна произойти какя-то крупная аврия, связанная с использованием С или С++

Думаю, это слишком. Авария может произойти не чем угодно. Ада дает определенные преимущества для написания надежного кода, но не предотвращает от аварий.

А что если авария произойдет по вине безолаберного программирования на Ада ?

Тогда Ада на свалку что ли ?

Кроме того Вы сами ниже пишите, что Ада используется в различных проектах. Думаю не стоит особо беспокоиться о том что Ада не используется в ширпотребе. Она конечно для ширпотреба подходит.

Я сам пишу ширпотреб на Ада. Но у Ада достаточно прочные позиции в критических приложениях.

On Fri, 8 Jun 2012 04:54:58 +0100 (BST), you wrote:

 

Мне кажется, что должна произойти какя-то крупная аврия, связанная с использованием С или С++ (про JAVA я не говорю, така как там большое количество дыр, которыми хакеры успешно пользуются ) , чтобы поняли все преимущества программирования на ADA.

 

В теории, да. Но

 

Аварии происходят постоянно. Но, не существует судебной процедуры, которая установила бы что виноват конкретный язык или методика разработки. Как Вы себе представляете разбор "полетов" в суде или комиссии сената? Кто эксперты? Как поставить следственный эксперимент? Программирование - не наука и не инженерная деятельность. Профессиональная экспертиза, в разумном понимании этого термина, не возможна.

 

Кроме того, согласно установившейся практике сертифицикации, оной подлежит не код, а процесс его создания. Т.е. убейте пол-города, но если код был разработан согласно норме, в вас взятки - гладки. Судье предъявят вагон макулатуры по стандартам, учебники по С, и т.п. с целью показать что все - "state of the art". Что он решит?

 

Несомненно, в долгосрочной перспективе, это продолжаться не может, но не при нашем веку...

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

On 06/08/2012 03:04 AM, Alexey Veselovsky wrote:

 

5) По поводу программирования роботов... Смешно, или грустно, но если уж

даже авионика пишется на Си и асме

(http://habrahabr.ru/post/144686/#comment_4858775), то уж хоббийные

роботы... Какая разница на чем их писать?

 

Правильно сдесь было-бы использовать прошедшее время - "писалась". Да, низкоуровневые штучки так и пишутся на низкоуровневых средствах типа C/asm. Но управляющее ПО всё больше и больше не пишется привычным нам образом. В зависимости от толщины кошелька заказчика используются среды моделирования, в которых рисуется модель управляющей системы в терминах, понятных специалистам по системам управления. Потом по этой модели генерируется код под то, что хочется впихнуть заказчику. И тут не суть важно, какой из языков используется в качестве промежуточного представления - C или Ada или ассемблер или просто объектный код.

 

Посему предложил бы не тратить силы зря там, где выигрыша нет и не будет. Нужно либо делать систему соответствующего назначения с генерацией кода на Ada, либо продвигать Ada в тех областях, где кодирование будет использоваться как основная движущая сила в блищайшие 10-15 лет.

Добрый день! Спасибо за отклик, Алексей.

 

 

 

1) Лицензия. Вы много видели популярных языков программирования с бесплатным компилятором который принуждает лицензировать разработанное ПО под GPL? И при этом платный стоит вроде как несколько килобаксов.

 

1. Лицензия, собственно, на runtime. При переносе на тот же FreeRTOS предполагается написание минимального числа необходимых пакетов с постепенным переписыванием всех остальных.

2. Недавно слышал, что есть альтернативные коробочные компиляторы Ада ценой пару-несколько сот баксов. А где, вообще, посмотреть прайсы?

2) Преимущества языка начинают как-то быть заметны на реально больших проектах. А чтобы проект на Аде дожил до большого, нужно начать с маленького проекта, где преимущества Ады в общем то не видны (зато виден большой и сложный язык, тяжелый компилятор и так далее). То есть внедрение Ады возможно только волевым решением власть имущего, который откуда-то знает что Ада потом внезапно окупится. По этой же причине в среде опенсорса Ады по факту нет и не будет (значимого присутствия Ады).

 

 

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

 

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

Речь не идёт о проекте, который сразу даст финансовый результат. Речь идёт о консолидации усилий, чтобы к определённому времени было что-то, о чём можно было бы сказать похожими словами "с бесплатным компилятором который принуждает лицензировать разработанное ПО под GPL". То есть, иными словами, чтобы с разработкой было трудно не считаться. А это уже - некая доля влияния на рынок. Заметьте, находящийся в условиях

становления.

 

 

 

3) Просто компилятора под ARM совершенно не достаточно. АРМы РАЗНЫЕ, очень разные. От микроконтроллеров до 64битных серверов. Каждое

применение нужно рассматривать отдельно. Например я не вижу абсолютно никакого смысла и никакого выигрыша от использования Ады на например смартфонах.

 

 

Речь не идёт о самртофонах. Хотя бы потому, что там диктат

производителей устройств и софтверных монстров Google, Microsoft.

Речь идёт о нише, где присутствуют на данный момент небольшие коллективы или просто одиночки-любители.

 

 

 

 

4) FreeRTOS... Собственно под микроконтроллеры на которые рассчитана эта "ось" даже просто кодогенерация gcc слишком толстая и проблемная. Памяти там 2-4 Кб, флэша, ну килобайт 32 (например какой-нибудь

msp430). Почти ВЕСЬ код который там пишется, процентов на 90, жестко работает именно с железом, это низкоуровневый код. Например работа с i2c, с прерываниями и так далее. Какие тут у Ады преимущества перед диалектами Си заточенными именно под эти применения? Процессоры 8 и 16ти битные. Иногда 32 бита. Но памяти и вообще ресурсов где-то

столько же.

 

 

Посмотрите, пожалуйста, на плату

http://www.digikey.com/product-detail/en/OM13000/568-5101-ND/2346635 на которой, кстати, предполагается строить модель самоходной парусной яхты.

ОС - FreeRTOS.

 

Также, могу порекомендовать познакомиться с

http://www.amazon.com/Probabilistic-Robotics-Intelligent-Autonomous-Agents/dp/0262201623

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

 

 

5) По поводу программирования роботов... Смешно, или грустно, но если уж даже авионика пишется на Си и асме

(http://habrahabr.ru/post/144686/#comment_4858775), то уж хоббийные роботы... Какая разница на чем их писать?

 

 

См. пункт 1. Если нет разницы, выбор C или Ады будет равнозначным. Здесь ещё зависит многое от того, чему учат в институте или на чём делают в соседнем кружке или какие роботы присутствуют на соревнованиях (не говоря уже - выигрывают).

 

Один из вариантов - договорится о поставке своего окружения вместе с железом с производителями железяк. Им-то чем больше языков - тем лучше - маркетинговое выпендривание. А из 5 купивших один да и попробует. Есть шанс увеличить численность того же Ада РУ :)

 

 

 

6) Основной софт писан на Си. То есть ОС, posix, основные либы. У Ады никогда не получится интегрироваться с Си лучше чем Си/С++. Написав руками биндинг приходится его же руками поддерживать. В случае

нескольких платформ - это геморрой. Тут есть два пути - либо иметь совместимость с сями (как это сделано в С++ и ObjC, причем во втором лучше), либо растить вокруг себя толстую инфраструктуру, по сути являющейся своей собственной ОС, своим миром, где все будет

дружественно этому самому языку (как сделали в java и c#), но на это реально нужны большие средства, и все равно средств в c# и java не хватает, все равно с матами приходится прорубать окно в мир Си и руками поддерживать биндинги.

 

 

Посмотрите в сторону Free RTOS. Вполне работоспособна, сложность

минимальна. Я не зря о ней писал.

 

 

 

Мы сейчас занимаемся разработкой софта и прибора связанного с

медициной/фитнесом (ну, то есть оно не настолько критично как

оборудование в реанимации, но все же отказ неприятен). Кода у нас пока решительно мало (порядка 20-30 тыс строк) и я решительно не вижу где Ада могла бы дать какое-то преимущество перед имеющимися языками. Вот где даст преимущество например Go - вижу. Без ObjC и Java вообще прожить в данном случае нелья. Без Си тоже. А Ада не нужна. Более того, если бы вдруг было волевое решение использовать/попробовать Аду, то её использовать просто не получилось бы. Банально нет

инструментария.

 

 

Одно из важных умений - находить каждой вещи своё применение. ВПК достаточно денег вбухал в Ада-технологии, чтобы мы могли сейчас с минимальными (ну, вроде написания своего runtime) усилиями снимать сливки в некоторых областях. В некоторых мы будем использовать другие языки. У нас, кстати, сейчас задача написания OLEDB драйвера -

собираемся писать на C++. Мы не должны быть адвокатами технологии, мы должны быть её активными пользователями.

 

--

Сергей

Да, низкоуровневые штучки так и пишутся на низкоуровневых средствах типа C/asm. Но управляющее ПО всё больше и больше не пишется привычным нам образом. В зависимости от толщины кошелька заказчика используются среды моделирования, в которых рисуется модель управляющей системы в терминах, понятных специалистам по системам управления.

Там настолько простые алгоритмы и ПО вообще, что их возможно понятным образом отобразить графически?

On 06/08/2012 11:53 AM, Alexey Veselovsky wrote:

 

 

Да, низкоуровневые штучки так и пишутся на низкоуровневых средствах

типа C/asm. Но управляющее ПО всё больше и больше не пишется

привычным нам образом. В зависимости от толщины кошелька заказчика

используются среды моделирования, в которых рисуется модель

управляющей системы в терминах, понятных специалистам по системам

управления.

 

Там настолько простые алгоритмы и ПО вообще, что их возможно понятным

образом отобразить графически?

 

Зависит от сферы применения. Подобные технологии были достаточно популярны уже десяток лет назад в сфере управления производственными процессами. Да, там алгоритмы были и есть достаточно простые.

 

Сейчас волна дошла до авионики, но уже с другой стороны. Математические модели физических процессов и систем управления настолько сложны, что их "рисование" является фактически единственным путём "взять" задачу в обозримое время и с адекватным результатом.

On Fri, 08 Jun 2012 11:37:49 +0400, you wrote:

 

On 06/08/2012 03:04 AM, Alexey Veselovsky wrote:

 

5) По поводу программирования роботов... Смешно, или грустно, но если уж даже авионика пишется на Си и асме

(http://habrahabr.ru/post/144686/#comment_4858775), то уж хоббийные роботы... Какая разница на чем их писать?

 

Правильно сдесь было-бы использовать прошедшее время - "писалась". Да, низкоуровневые штучки так и пишутся на низкоуровневых средствах типа C/asm. Но управляющее ПО всё больше и больше не пишется привычным нам образом. В зависимости от толщины кошелька заказчика используются среды моделирования, в которых рисуется модель управляющей системы в терминах, понятных специалистам по системам управления. Потом по этой модели генерируется код под то, что хочется впихнуть заказчику. И тут не суть важно, какой из языков используется в качестве промежуточного

представления - C или Ada или ассемблер или просто объектный код.

Посему предложил бы не тратить силы зря там, где выигрыша нет и не будет. Нужно либо делать систему соответствующего назначения с

генерацией кода на Ada, либо продвигать Ada в тех областях, где кодирование будет использоваться как основная движущая сила в блищайшие 10-15 лет.

 

Верно, но прошедшее время. Языки моделирования действительно активно используются сейчас. Но, мой прогноз, - что их популярность будет снижаться по мере достижения "звукового барьера" сложности систем, где отсутствие средств абстракции, модульности, контрактов, поддержки и т.п. характерное для языков приложений, типа SIMULINK, ASCET и.т.п. становится важнее краткосрочных преимуществ. А идея, что "кухарка" (инженер) должен разрабатывать код идущий в серию с помощью магических tools - полная утопия. Так что универсальные языки свое еще возьмут.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

 

Здравствуйте, All!

По поводу влияния рынка и финансов на выбор средств разработки можно рассмотреть статью

Руслан Богатырев. СУДЬБА ОБЕРОНА. Москва, Мир ПК, №10, 2005. Постоянный URL статьи: http://www.osp.ru/pcworld/2005/10/317207 в PDF формате можно загрузить ЗДЕСЬ или http://www.mediascan.by/index.files/www.osp.ru.317207.pdf

Из неё покрайне мере видно откуда ноги растут у той же Java.

 

Мне кажется перспективным создание кодогенераторов для Ada из различных пакетов визуального моделирования.

В частности для MatLab/Simulink , который в последнее время завоёвывает всё новые ниши индустрии. В этом ключе - средства автоматизации верификации и формального доказательства правильности программного кода для Ada имеют явные преимущества перед C/C++ (C# & Java и другие аналогичные однозначно не подходят для некоторых применений). С учётом что эпоха ассемблере или машинного кода в общем то прошла.

Показательно в этом ключе успехи Российской фирмы Компанией AVD Systems http://www.avdsys.ru/

 

С уважением, Сергей.

Email: ksiby@...

http://www.mediascan.by

 

----- Original Message -----

From: Sergei Lodyagin

To: [email protected]

Sent: Friday, June 08, 2012 10:39 AM

Subject: Re: [ada_ru] В новую эру - без Ады?

 

 

Добрый день! Спасибо за отклик, Алексей.

 

 

 

 

 

 

1) Лицензия. Вы много видели популярных языков программирования с бесплатным компилятором который принуждает лицензировать разработанное ПО под GPL? И при этом платный стоит вроде как несколько килобаксов.

 

1. Лицензия, собственно, на runtime. При переносе на тот же FreeRTOS предполагается написание минимального числа необходимых пакетов с постепенным переписыванием всех остальных.

2. Недавно слышал, что есть альтернативные коробочные компиляторы Ада ценой пару-несколько сот баксов. А где, вообще, посмотреть прайсы?

 

 

2) Преимущества языка начинают как-то быть заметны на реально больших проектах. А чтобы проект на Аде дожил до большого, нужно начать с маленького проекта, где преимущества Ады в общем то не видны (зато виден большой и сложный язык, тяжелый компилятор и так далее). То есть внедрение Ады возможно только волевым решением власть имущего, который откуда-то знает что Ада потом внезапно окупится. По этой же причине в среде опенсорса Ады по факту нет и не будет (значимого присутствия Ады).

 

 

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

 

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

 

Речь не идёт о проекте, который сразу даст финансовый результат. Речь идёт о консолидации усилий, чтобы к определённому времени было что-то, о чём можно было бы сказать похожими словами "с бесплатным компилятором который принуждает лицензировать разработанное ПО под GPL". То есть, иными словами, чтобы с разработкой было трудно не считаться. А это уже - некая доля влияния на рынок. Заметьте, находящийся в условиях становления.

 

 

 

 

 

3) Просто компилятора под ARM совершенно не достаточно. АРМы РАЗНЫЕ, очень разные. От микроконтроллеров до 64битных серверов. Каждое применение нужно рассматривать отдельно. Например я не вижу абсолютно никакого смысла и никакого выигрыша от использования Ады на например смартфонах.

 

 

Речь не идёт о самртофонах. Хотя бы потому, что там диктат производителей устройств и софтверных монстров Google, Microsoft.

 

Речь идёт о нише, где присутствуют на данный момент небольшие коллективы или просто одиночки-любители.

 

 

 

 

 

 

4) FreeRTOS... Собственно под микроконтроллеры на которые рассчитана эта "ось" даже просто кодогенерация gcc слишком толстая и проблемная. Памяти там 2-4 Кб, флэша, ну килобайт 32 (например какой-нибудь msp430). Почти ВЕСЬ код который там пишется, процентов на 90, жестко работает именно с железом, это низкоуровневый код. Например работа с i2c, с прерываниями и так далее. Какие тут у Ады преимущества перед диалектами Си заточенными именно под эти применения? Процессоры 8 и 16ти битные. Иногда 32 бита. Но памяти и вообще ресурсов где-то столько же.

 

 

Посмотрите, пожалуйста, на плату http://www.digikey.com/product-detail/en/OM13000/568-5101-ND/2346635

на которой, кстати, предполагается строить модель самоходной парусной яхты. ОС - FreeRTOS.

 

Также, могу порекомендовать познакомиться с

http://www.amazon.com/Probabilistic-Robotics-Intelligent-Autonomous-Agents/dp/0262201623

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

 

 

 

5) По поводу программирования роботов... Смешно, или грустно, но если уж даже авионика пишется на Си и асме (http://habrahabr.ru/post/144686/#comment_4858775), то уж хоббийные роботы... Какая разница на чем их писать?

 

 

См. пункт 1. Если нет разницы, выбор C или Ады будет равнозначным. Здесь ещё зависит многое от того, чему учат в институте или на чём делают в соседнем кружке или какие роботы присутствуют на соревнованиях (не говоря уже - выигрывают).

 

Один из вариантов - договорится о поставке своего окружения вместе с железом с производителями железяк. Им-то чем больше языков - тем лучше - маркетинговое выпендривание. А из 5 купивших один да и попробует. Есть шанс увеличить численность того же Ада РУ

 

 

 

 

 

6) Основной софт писан на Си. То есть ОС, posix, основные либы. У Ады никогда не получится интегрироваться с Си лучше чем Си/С++. Написав руками биндинг приходится его же руками поддерживать. В случае нескольких платформ - это геморрой. Тут есть два пути - либо иметь совместимость с сями (как это сделано в С++ и ObjC, причем во втором лучше), либо растить вокруг себя толстую инфраструктуру, по сути являющейся своей собственной ОС, своим миром, где все будет дружественно этому самому языку (как сделали в java и c#), но на это реально нужны большие средства, и все равно средств в c# и java не хватает, все равно с матами приходится прорубать окно в мир Си и руками поддерживать биндинги.

 

 

Посмотрите в сторону Free RTOS. Вполне работоспособна, сложность минимальна. Я не зря о ней писал.

 

 

 

 

 

Мы сейчас занимаемся разработкой софта и прибора связанного с медициной/фитнесом (ну, то есть оно не настолько критично как оборудование в реанимации, но все же отказ неприятен). Кода у нас пока решительно мало (порядка 20-30 тыс строк) и я решительно не вижу где Ада могла бы дать какое-то преимущество перед имеющимися языками. Вот где даст преимущество например Go - вижу. Без ObjC и Java вообще прожить в данном случае нелья. Без Си тоже. А Ада не нужна. Более того, если бы вдруг было волевое решение использовать/попробовать Аду, то её использовать просто не получилось бы. Банально нет инструментария.

 

 

Одно из важных умений - находить каждой вещи своё применение. ВПК достаточно денег вбухал в Ада-технологии, чтобы мы могли сейчас с минимальными (ну, вроде написания своего runtime) усилиями снимать сливки в некоторых областях. В некоторых мы будем использовать другие языки. У нас, кстати, сейчас задача написания OLEDB драйвера - собираемся писать на C++. Мы не должны быть адвокатами технологии, мы должны быть её активными пользователями.

 

--

Сергей

 

 

 

 

Sergei Lodyagin wrote:

Собственно, пишу я потому, что не использую Аду уже на протяжении

длительного времени, что, принимая во внимание, всем известные

преимущества языка, кажется странным &# 1084;не самому.

 

Можно ли наконец провести анализ причин и понять, куда движется

Ада-ру?

 

Позвольте добавить и мои три копейки.

 

Я более чем пессимистичен в оценках и прогнозах. И причины тому

не адские и не технические, а глобальные.

 

Этот мир неразумен, и он управляется неграмотными менеджерами.

У менеджера одна цель - получить прибыль, минимизировав не только

расходы, но и время, через которое ты прибыль получишь. На Жабе

это можно сделать быстрее, чем на Аде. Не важно, что через пару

лет оно тебе с обратным приветом аукнится, важно, что ты

можешь быстрее показать клиенту прототип.

 

Второе - американцы, как создатели Ады и связанной с ней технологии

и философии разработки ПО, сделали две огромные ошибки, из которых

каждая в одиночку была достаточна для того, чтобы погубить

язык. Могу вдаться в подробности, если кому интересно, но это

дело прошлое, и тут уже ничего не исправишь. Следствием

этих ошибок был массовый отказ индустрии от Ады в пользу

других языков. А потом уже понеслось по накатанной, под

управлением тех самых менеджеров, которым главное - прибыль

*побыстрее* (заметьте - именно побыстрее, а не побольше).

 

Третье - в результате из Адского мира ушли все, кроме AdaCore

(ну, и возможно еще пары компаний аналогичного размера, заточенных

под конкретные встроенные архитектуры). AdaCore вся по размеру

сопоставима, я подозреваю, с количеством буфетчиков, работающих

в той же Rational, бывшей совсем недавно настоящим Адским монстром

и, собственно, на Аде и возникшей. То есть остались сявки-малявки,

которые могут лишь выживать на нишевых нуждах прикормленных

и подсаженных на Аду клиентов, но никак не менять ситуацию не то,

что в глобальном - даже в региональном аспекте. Они это прекрасно

понимают, и ничего другого в качестве целей себе не ставят.

 

Вывод - поздняк метаться, господа!

 

У меня интерес один - до пенсии на Аде дотянуть :(

Математические

модели физических процессов и систем управления настолько сложны, что их "рисование" является фактически единственным путём "взять" задачу в обозримое время и с адекватным результатом.

 

ОК, авионику отдадим производителям софта, которые сильны в генерации Ада-кода по рисункам :)

1) Лицензия. Вы много видели популярных языков программирования с бесплатным компилятором который принуждает лицензировать разработанное ПО под GPL? И при этом платный стоит вроде как несколько килобаксов.

Вот ведь :)

2) Преимущества языка начинают как-то быть заметны на реально больших проектах. А чтобы проект на Аде дожил до большого, нужно начать с маленького проекта

Как-как, простите? Типа надо начать с текстового редактора и потом постепенно его расширяя дорасти до Комплекса Бортового Оборудования? И с какого же "маленького проекта" началась та же ОКР "ИКБО ИМА" с ценой вопроса в 2,6 млрд рублей только на первом этапе? Это между тем самый свежий пример крупного проекта с нуля на Аде в РОССИИ, только осенью прошлого года начался.

, где преимущества Ады в общем то не видны (зато виден большой и сложный язык, тяжелый компилятор и так далее).

Это у вас какие-то аберрации зрения если вам там что-то такое видно. Если вам не по силам и не нужнаЮ, скажем, многозадачность, соответствующую главу в руководстве по Аде можно и не изучать вообще-то. Из "большого и сложного языка" прекрасно выделяются подмножества, доступные для освоения даже тем программистам которым весь язык не по силам :) А что такое "тяжелый компилятор" я вообще сходу не понял. В каких единицах измерялась его масса? :)

3) Просто компилятора под ARM совершенно не достаточно. АРМы РАЗНЫЕ, очень разные. От микроконтроллеров до 64битных серверов. Каждое применение нужно рассматривать отдельно. Например я не вижу абсолютно никакого смысла и никакого выигрыша от использования Ады на например смартфонах.

А от нас почему-то заказчики требуют поскорее выдать порт на Android :)

4) FreeRTOS... Собственно под микроконтроллеры на которые рассчитана эта "ось" даже просто кодогенерация gcc слишком толстая и проблемная. Памяти там 2-4 Кб, флэша, ну килобайт 32 (например какой-нибудь msp430). Почти ВЕСЬ код который там пишется, процентов на 90, жестко работает именно с железом, это низкоуровневый код. Например работа с i2c, с прерываниями и так далее. Какие тут у Ады преимущества перед диалектами Си заточенными именно под эти применения? Процессоры 8 и 16ти битные. Иногда 32 бита. Но памяти и вообще ресурсов где-то столько же.

Какие проблемы-то. Есть скажем порт GNAT под Atmel AVR. 8-битный. Все "специальные заточенности" при этом прекрасно сохраняются.

6) Основной софт писан на Си. То есть ОС, posix, основные либы. У Ады никогда не получится интегрироваться с Си лучше чем Си/С++. Написав руками биндинг приходится его же руками поддерживать.

Биндинг генерируется нынче автоматически напрямую из инклюдов в спецификации на Аде. Ключиком для gcc. Вы отстали :)

ВФ

 

1. Лицензия, собственно, на runtime. При переносе на тот же FreeRTOS предполагается написание минимального числа необходимых пакетов с постепенным переписыванием всех остальных.

 

 

Это ж сколько там переделывать? Это же и хваленая поддержка многопоточности Адская там же и много что еще.

 

2. Недавно слышал, что есть альтернативные коробочные компиляторы Ада ценой

пару-несколько сот баксов. А где, вообще, посмотреть прайсы?

 

У меня сложилось впечатление, что никто из них даже Аду-2005 не осилил, как были на Аде-95, так и остались. Хотя, может что-то изменилось уже.

Но вообще, весьма важно (для развития языка) иметь бесплатный

компилятор/рантайм не накладывающий ограничений на лицензию

разрабатываемого софта.

 

Помню несколько лет назад сюда приходил товарич, говорил - Ада классный язык, он мне нравится, мы решили на нем написать игру. Какой компилятор нам использовать? После чего тут был небольшой флейм на счет тонкостей лицензирования GNAT'a. Позиция присутствующих тут товарищей, что в адакоре работают была - покупайте за килобаксы GNAT коммерческий, либо используйте GNAT GPL, но тогда и ваша игра будет под GPL. В результате человек ушел (видимо писать на С++).

 

Кстати, очень похожая схема распространения компилятора у языка Eiffel с примерно тем же результатом.

 

 

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

 

Не хуже по какому критерию? :-) Если у нас программа на 5 строк сишного кода, то использование Ады тут будет, мягко говоря, не оправдано (просто потому, что там Ады будет не 5 строк кода). Если у нас есть Сишные либы, то оправданно будет использовать С++ а не Аду (благо типизация в С++ значительно строже чем в Си, то есть просто применение С++ компилятора на сишном коде сразу дает выигрыш надежности, за бесплатно).

 

 

Речь не идёт о проекте, который сразу даст финансовый результат. Речь идёт о

 

Да не, при чем тут финансовый результат? Одним из немаловажных факторов распространенности языка - это насколько удобно и приятно им пользоваться для решения неких своих (в том числе не коммерческих, хоббийных) задач. Чтобы написать игру, тулзу, сервер и так далее под какой-нибудь линукс или винду, на Аде нужно потратить существенно больше усилий чем при

использовании С/ObjC/C++ ну и/или C#/Java.

 

3) Просто компилятора под ARM совершенно не достаточно. АРМы РАЗНЫЕ, очень

разные. От микроконтроллеров до 64битных серверов. Каждое применение нужно рассматривать отдельно. Например я не вижу абсолютно никакого смысла и никакого выигрыша от использования Ады на например смартфонах.

 

 

Речь не идёт о самртофонах. Хотя бы потому, что там диктат производителей устройств и софтверных монстров Google, Microsoft.

 

Apple еще :-) Самый слабый диктат у гугла, кстати. Туда хоть как-то, но можно воткнуть GNAT.

 

 

Речь идёт о нише, где присутствуют на данный момент небольшие коллективы или просто одиночки-любители.

 

Ну вот у нас небольшой коллектив. человек 5 как раз. Если отбросить десктоп и мобильник, то останется наш дивайс сердцем которого может являться например msp430.

 

Посмотрите, пожалуйста, на плату

http://www.digikey.com/product-detail/en/OM13000/568-5101-ND/2346635 на которой, кстати, предполагается строить модель самоходной парусной яхты. ОС - FreeRTOS.

 

Забавная железка. Знакомая к тому же. Для нее есть например среда разработки и компилятор для Оберона-07:

http://www.astrobe.com/default.htm Просто

в освоении, просто в конструкции, за счет чего там минимум багов :-)

Еще для этого же есть .net microframework, со всеми причитающимися удобствами средств разработки и инфраструктуры от мелкософта. Это я к тому, чтобы было понятно с кем придется там конкурировать помимо классики (С/C++). Кстати, микрософт очень активно в робототехнику лезет.

 

Также, могу порекомендовать познакомиться с

 

http://www.amazon.com/Probabilistic-Robotics-Intelligent-Autonomous-Agents/dp/0262201623

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

 

Вышлите пожалуйста. Интересно.

 

Посмотрите в сторону Free RTOS. Вполне работоспособна, сложность

минимальна. Я не зря о ней писал.

 

Насколько я помню, FreeRTOS это просто, грубо говоря, планировщик (набор планировщиков) который умеет цепляться за разные механизмы подлежащего (самого разнообразного) железа и всячески настраиваться. Там, если не путаю, нет драйверов устройств. Например нет драйвера для i2c, нет драйвера для spp (а они для каждой железки разные естественно), нет естественно драйверов для конченых устройств которые висят на том конце spp/i2c. То есть это все писать надо самому. И они обычно уже есть так или иначе написанные на Сях другими людьми. В виде простых сишных файликов заточенных под какой-нибудь IAR. В случае использования C на IAR никаких дополнительных усилий не нужно, взял FreeRTOS для планировщика, взял наработки других людей в виде сишных файлов, включил в проект, проверил что оно работает, и пошел уже писать что-то действительно интересное. В случае с Адой так не прокатит.

 

Мы не должны быть адвокатами технологии, мы должны быть её активными

пользователями.

 

Это точно.

 

По поводу влияния рынка и финансов на выбор средств разработки можно рассмотреть статью

Руслан Богатырев. СУДЬБА ОБЕРОНА. Москва, Мир ПК, No.10, 2005. Постоянный URL статьи: http://www.osp.ru/pcworld/2005/10/317207 в PDF формате можно загрузить ЗДЕСЬ<http://www.osp.ru/getpdf.php?ucc=23cb0fb880dd2723bdb11c0d10104bc4>или

http://www.mediascan.by/index.files/www.osp.ru.317207.pdf

Из неё покрайне мере видно откуда ноги растут у той же Java.

 

 

Не видно. Влияние Оберона на яву СИЛЬНО переоценено. Java это синтез нескольких идей. От оберона там хорошо если процентов 5. Например в java (и в java jvm) активно использовались наработки языка Self. Я немного занимался археологией, в частности нарыл спеки языка предшествовавшего яве: http://oberspace.dyndns.org/index.php/topic,14.msg200.html

Сергей, рад слышать! Жалко не увидились с вами в Севастополе (очень хотелось). Ваша печатная презентация была достойна, забрал с собой копию.

 

 

 

По поводу влияния рынка и финансов на выбор средств разработки можно рассмотреть статью

Руслан Богатырев. СУДЬБА ОБЕРОНА. Москва, Мир ПК, №10, 2005.

Постоянный URL статьи: http://www.osp.ru/pcworld/2005/10/317207 в PDF формате можно загрузить ЗДЕСЬ или

http://www.mediascan.by/index.files/www.osp.ru.317207.pdf

Из неё покрайне мере видно откуда ноги растут у той же Java.

 

 

 

В 1993 г. в ETH приехали представители Sun Microsystems во главе с Биллом Джоем. Они

приобрели лицензию на систему Oberon

 

(цитата из статьи)

 

Вот в этом, на мой взгляд, основной прокол. Многие коммерческие системы (возьмите

ту же OS/2 или BeOS) не выдержали натиска свободного ПО. Мир изменился. Коммерческие системы, не имеющие прочного рынка, вымерли как динозавры. Над этим стоит подумать и, может быть, найти новые пути.

 

Всем, кто ещё не читал, рекомендую Just for Fun, Linus Torvalds & David Dimond (есть на русском). Там кстати, и о Билле Джое есть. Перечитайте описание встречи Линуса с Джоем. Там как раз, вроде, об этом.

 

--

С уважением,

Сергей Лодягин

http://kogorta.dp.ua

On Fri, 2012-06-08 at 12:16 +0400, Sergey I. Rybin wrote:

 

 

 

Sergei Lodyagin wrote:

 

Собственно, пишу я потому, что не использую Аду уже на протяжении длительного времени, что, принимая во внимание, всем известные

преимущества языка, кажется странным &# 1084;не самому.

 

Можно ли наконец провести анализ причин и понять, куда движется

Ада-ру?

 

Позвольте добавить и мои три копейки.

 

Я более чем пессимистичен в оценках и прогнозах. И причины тому

не адские и не технические, а глобальные.

 

 

Ну, как в том старом анекдоте про пессимиста и оптимиста. Только

существует, на сколько я знаю, два противоположных варианта. По

видимому, важно не то, кто из них оптимист а кто пессимист, а кто на самом деле больше осведомлен :)

 

 

 

Этот мир неразумен, и он управляется неграмотными менеджерами.

 

 

Непредсказумеость мира, равно как и неграмотность иных менеджеров, вселяет в пессимиста пессимизм, а в оптимиста - оптимизм. Это очевидно.

 

У менеджера одна цель - получить прибыль, минимизировав не только расходы, но и время, через которое ты прибыль получишь.

 

 

Разве не существует бизнеса антикварщиков? Но это крайний вариант.

В бизнесе могут быть разные пути, порой неожиданные. Да, получить быстрый возврат вложений - очень важно для основной доли вложений. Давайте возьмём 10% и вложим их на средний срок - за длительное время они могут вырасти больше, давайте рискнём на 10% - обычные риски бизнеса выше. Ещё 1% заложим своим внукам. 0.1% потратим ещё на более

неимоверное предприятие, вдруг оно увековечит нашу память :)

 

 

На Жабе

это можно сделать быстрее, чем на Аде. Не важно, что через пару

лет оно тебе с обратным приветом аукнится, важно, что ты

можешь быстрее показать клиенту прототип.

 

Я бы сказал - да здравствует Жаба, если бы статистика рынка не

показывала бы относительно большой спад использования технологии Java и постоянный рост C++. Похоже C++ - те самые 10% :) Может Ада - тот самый 1%?

 

 

 

Второе - американцы, как создатели Ады и связанной с ней технологии и философии разработки ПО, сделали две огромные ошибки, из которых каждая в одиночку была достаточна для того, чтобы погубить

язык. Могу вдаться в подробности, если кому интересно, но это

дело прошлое, и тут уже ничего не исправишь.

 

 

Лично мне было бы крайне интересно, если бы даже коротко Вы могли раскрыть суть ошибок.

 

 

Следствием

этих ошибок был массовый отказ индустрии от Ады в пользу

других языков. А потом уже понеслось по накатанной, под

управлением тех самых менеджеров, которым главное - прибыль

*побыстрее* (заметьте - именно побыстрее, а не побольше).

 

Третье - в результате из Адского мира ушли все, кроме AdaCore

(ну, и возможно еще пары компаний аналогичного размера, заточенных под конкретные встроенные архитектуры). AdaCore вся по размеру

сопоставима, я подозреваю, с количеством буфетчиков, работающих

в той же Rational, бывшей совсем недавно настоящим Адским монстром и, собственно, на Аде и возникшей. То есть остались сявки-малявки, которые могут лишь выживать на нишевых нуждах прикормленных

и подсаженных на Аду клиентов, но никак не менять ситуацию не то, что в глобальном - даже в региональном аспекте. Они это прекрасно понимают, и ничего другого в качестве целей себе не ставят.

 

Вывод - поздняк метаться, господа!

 

У меня интерес один - до пенсии на Аде дотянуть :(

 

 

Интересно, Ада Ру - можно сравнить с буфетчиками? :)

Я к тому, что, мне кажется, движению интересна даже та маленькая ниша, которая не интересна буфетчикам Rational. Будет чем на пенсии

заняться :)

 

Здравствуйте!

>Третье - в результате из Адского мира ушли все, кроме AdaCore

>(ну, и возможно еще пары компаний аналогичного размера, заточенных >под конкретные встроенные архитектуры). AdaCore вся по размеру

>сопоставима, я подозреваю, с количеством буфетчиков, работающих

>в той же Rational, бывшей совсем недавно настоящим Адским монстром >и, собственно, на Аде и возникшей. То есть остались сявки-малявки, >которые могут лишь выживать на нишевых нуждах прикормленных

>и подсаженных на Аду клиентов, но никак не менять ситуацию не то, >что в глобальном - даже в региональном аспекте. Они это прекрасно >понимают, и ничего другого в качестве целей себе не ставят.

 

К примеру AutoCAD и совремменные ИТ фирмы начинались с очень маленьких коллективов. Они росли как грибы при удачной выборе ниши.

 

>Вывод - поздняк метаться, господа!

 

На моей памяти Apple умирал раза 3 (три). Другое дело что технологии которые он нарабатывал через некоторое время были востребованы всем миром. К примеру проект NeXT.

 

 

 

С уважением, Сергей.

Email: [email protected]

http://www.mediascan.by

 

----- Original Message -----

From: Sergey I. Rybin

To: [email protected]

Sent: Friday, June 08, 2012 11:16 AM

Subject: Re: [ada_ru] В новую эру - без Ады?

 

 

2) Преимущества языка начинают как-то быть заметны на реально больших проектах. А чтобы проект на Аде дожил до большого, нужно начать с маленького проекта

 

Как-как, простите? Типа надо начать с текстового редактора и потом постепенно его расширяя дорасти до Комплекса Бортового Оборудования? И с какого же "маленького проекта" началась та же ОКР "ИКБО ИМА" с ценой вопроса в 2,6 млрд рублей только на первом этапе? Это между тем самый свежий пример крупного проекта с нуля на Аде в РОССИИ, только осенью прошлого года начался.

 

Круто. Когда есть богатый заказчик, и деньги выдаются сразу и в таких масштабах, то это конечно не имеет никакого отношения к тому что я сказал. Увы, не все проекты начинаются с такого вливания. Наш второй проект начался с микроскопического прототипа в 5-10 тыс строк кода (написанных за две недели), который доказал, идея имеет право на

существование, и, более того, осуществима. Теперь оно разраслось до проекта примерно в 300 тыс строк кода и уже начались продажи. И да, проект естественно на С++.

 

Похоже у Адских проектов есть проблемка - они должны рождаться

крупными СРАЗУ. Иначе у них будет слишком велика детская смертность.

3) Просто компилятора под ARM совершенно не достаточно. АРМы РАЗНЫЕ, очень разные. От микроконтроллеров до 64битных серверов. Каждое применение нужно рассматривать отдельно. Например я не вижу абсолютно никакого смысла и никакого выигрыша от использования Ады на например смартфонах.

 

А от нас почему-то заказчики требуют поскорее выдать порт на Android :)

И это было бы круто. Оно будет аля си цепляться? То есть через JNI? Или там таки можно будет какой-то гуй на Аде писать? Гм.. А ведь есть (был?) же GNAT компилирующий в jvm-байткод. Может планируется

прикрутить туда генерацию в далвиковый байткод?

 

Какие проблемы-то. Есть скажем порт GNAT под Atmel AVR. 8-битный. Все "специальные заточенности" при этом прекрасно сохраняются.

 

А что там с эффективностью использования памяти (ОЗУ)? То есть на каком минимальном объеме памяти запустится ада-программа?

 

Биндинг генерируется нынче автоматически напрямую из инклюдов в спецификации на Аде. Ключиком для gcc. Вы отстали :)

 

Насколько я понимаю, полностью автоматическая генерация биндинга в общем случае не возможна даже теоретически, ибо препроцессор.

 

На моей памяти Apple умирал раза 3 (три). Другое дело что технологии которые он нарабатывал через некоторое время были востребованы всем миром. К примеру проект NeXT.

 

 

Проект NeXT не разрабатывался Apple, была отдельная контора которая с яблоком никак не была связана. Он был яблоком куплен когда у NeXT'a дела пошли совсем плохо (у Apple, впрочем, тоже).

Новое сообщение:
Страницы: 1 2 3 4 5 6 7 8

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти