Ada_Ru форум

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

по поводу популяризации Ada

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

Сообщения

Maxim Pilipchuk
по поводу популяризации Ada
2009-09-01 13:06:07

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

Относительно популяризации языка - дело благородное и полезное, поскольку вопросы переносимости кода между платформами - основной вопрос например в С/С++. И это вопрос, который Адой решен по определению (почти на 100% и значительно лучше чем в других языках)

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

Обратите внимание на то, что появление Ruby on Rails вызвало рост интереса к Руби, как языку программирования.

 

http://www.google.com/trends?q=ruby+language%2C+ruby+on+rails&ctab=0&geo=all&date=all&sort=1

http://www.google.com/trends?q=ruby%2C+ruby+on+rails&ctab=0&geo=all&date=all&sort=0

 

Что Аде мешает? Ведь в сущности ее компилятор имеется в gcc каждой GNU системы, а потому получив исходники проекта, написанные на Ада, пользователю нужно только ввести команду для сборки проекта. И все. У Ады имеется значительный потенциал. А проект необходим чтобы обратить внимание аудитории на gcc и компилятор gnat в ее составе.

Мало кто пробовал его.

А вот насчет того, что это может быть проект, вот это самая основная тема. Это должен быть проект потенциально массовый и разумеется GNU, чтобы пользователю, работающему на любой системе достаточно было вызвать gnatmake

Так мне видится вопрос популяризации языка Ада.

--

Maxim Pilipchuk

copywriter@mail.ru

manuscriptum@gmail.com

Maxim Pilipchuk wrote:

 

Что Аде мешает? Ведь в сущности ее компилятор имеется в gcc каждой GNU системы, а потому получив исходники проекта, написанные на Ада,

пользователю нужно только ввести команду для сборки проекта. И все. У Ады имеется значительный потенциал. А проект необходим чтобы обратить внимание аудитории на gcc и компилятор gnat в ее составе.

Мало кто пробовал его.

Хороший вопрос! Мешает отсуствие готовых open source проектов. Мешает разобщённость отдельных open source разработчиков. Мешает отсуствие коммерческого интереса к open source продуктам на Ada. Что ещё? Наверное много ещё чего мешает...

 

А вот насчет того, что это может быть проект, вот это самая основная тема. Это должен быть проект потенциально массовый и разумеется GNU, чтобы пользователю, работающему на любой системе достаточно было вызвать gnatmake

И какие примеры могут быть?

Я размышлял над этим и напишу более развернутое письмо.

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

По поводу Ады питаю ностальгические чувства - в свое время в универе она произвела на меня неизгладимое впечатление. Смотрю сейчас ее на

trends.google.com - она конечно поднялась с момента последнего релиза AdaCore, но все-таки надо чего-то делать :)

 

Кроме того, я надеюсь на открытую дискуссию со стороны сообщества относительно темы проекта.

Имхо, считаю что реализация движка для хранилища опенсурс-проектов Ады на языке Ада - идея интересная, но внимания общественности не привлечет. Потому терять пар на это - неэффективно. Хотя, повторюсь, это имхо.

 

3 сентября 2009 г. 0:15 пользователь Vadim Godunko <vgodunko@rostel.ru>написал:

Maxim Pilipchuk wrote:

 

Что Аде мешает? Ведь в сущности ее компилятор имеется в gcc каждой GNU системы, а потому получив исходники проекта, написанные на Ада,

пользователю нужно только ввести команду для сборки проекта. И все. У Ады имеется значительный потенциал. А проект необходим чтобы обратить внимание аудитории на gcc и компилятор gnat в ее составе.

Мало кто пробовал его.

Хороший вопрос! Мешает отсуствие готовых open source проектов. Мешает разобщённость отдельных open source разработчиков. Мешает отсуствие коммерческого интереса к open source продуктам на Ada. Что ещё? Наверное много ещё чего мешает...

 

А вот насчет того, что это может быть проект, вот это самая основная

тема.

Это должен быть проект потенциально массовый и разумеется GNU, чтобы пользователю, работающему на любой системе достаточно было вызвать

gnatmake

 

И какие примеры могут быть?

 

 

------------------------------------

 

Yahoo! Groups Links

 

 

 

 

 

 

--

Maxim Pilipchuk

copywriter@mail.ru

manuscriptum@gmail.com

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

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

 

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

 

Итак, сегодняшняя ситуация такова, что при достаточно ощутимом проценте инсталляций Ады на компах разработчиков (считаем nix-системы) ее

популярность упала. При всех ее плюсах, она уступает по "модности" другим языкам. В силу разных причин.

И мы хотим помочь ей, обратить на нее внимание молодых разработчиков и разработчиков, которые занимаются "массовыми" решениями.

Повторюсь, в прошлом письме я упоминал подъем Ruby. Руби пришел на волне Ruby on Rails, а тот в свою очередь пришел на волне интереса к быстрой разработке web-приложений. Продукты растут на растущих трендах. И руби вырос. К сожалению, тренды не растут вечно. Они достигают насыщения и угасают. Выступить с проектом на угасающем тренде - все равно что потерять время. Поэтому сделай сообщество быстрый и легкий web-фреймворк на Аде, это уже не приведет к существенному успеху.

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

 

-- итак, растущий тренд

 

В качестве такого тренда хочу обратить ваше внимание на RIA - это быстро растущий сегмент. Основные игроки это Sun со своим JavaFX, Adobe со своим Flash/Flex и Microsoft со своим решением Silverlight. Но на данный момент среди этих компаний есть явный лидер, что упрощает задачу втрое. Наиболее интересным в этой теме технология Adobe. Они лидирует сейчас по числу инсталляций "рантайм"-средств и врядли уступит MS и SUN.

 

Для примера, можно сравнить PageRank страниц проектов всех игроков. У проекта Flex компании Adobe на сегодняшний момент пейджранк 9/10, против 8/10 у обоих своих конкурентов - что подтверждает высокую цитируемость технологии Flex со стороны авторитетных сайтов, для примера, это равно pagerank титульной страницы Microsoft.

 

-- как здесь на растущем рынке может проявить себя Ада?

 

Ада здесь может быть востребована в создании сервера приложений или data services Flex-Flash . На сегодняшний день наиболее быстрый путь запуска Флекс и наиболее востребованный в корпоративном сегменте - это сервлеты Ява. Ада может быстрее и надежней чем Ява и обеспечить флеш-приложению доступ к инфраструктуре веб-сервера и ее переносимость не уступает той же Java.

-- не опоздали ли мы?

 

Реально рост RIA технологий сдерживается объективной причиной. Плотиной служит отсутствие технологий индексации контента RIA-сайтов. Это вынуждает разработчиков по сути создавать два сайта - одна версия которого будет использоваться для построения индекса. Это сильно снижает привлекательность RIA-решений для корпоративных сайтов. Однако компания Adobe совместно с Google в данный момент как раз занимается разработкой технологии поисковой индексации. В пределах года Google начнет индексировать flex/flash сайты. И плотина рухнет. RIA-технологии будут востребованы.

 

Таким образом реализовав проект альтернативный например этому

http://www.graniteds.org/ может создать прецедент для Ады. Базироваться новый проект может на AWS, что дает ему такие преимущества:

1) с адой не нужен вебсервер (экономим память)

2) с адой не нужен апач томкат (экономим память)

3) ада работает нативно

3-1) требует меньше памяти

3-2) работает существенно быстрее явы

4) Ада хорошо переносима между платформами и существует реализации на тех платформах, которые используются для запуска web-приложений

5) Ада предустановлена на большинстве машин, которые используются для запуска web-приложений

 

Реализация технологии запуска Flash/Flex приложений средствами Ады обратит на данный язык внимание разработчиков корпоративных решений, ну и даст импульс к интересу со стороны молодых разработчиков.

 

Вот такие мысли.

 

 

3 сентября 2009 г. 1:37 пользователь Maxim Pilipchuk <manuscriptum@gmail.com

написал:

 

Я размышлял над этим и напишу более развернутое письмо.

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

По поводу Ады питаю ностальгические чувства - в свое время в универе она произвела на меня неизгладимое впечатление. Смотрю сейчас ее на

trends.google.com - она конечно поднялась с момента последнего релиза AdaCore, но все-таки надо чего-то делать :)

 

Кроме того, я надеюсь на открытую дискуссию со стороны сообщества относительно темы проекта.

Имхо, считаю что реализация движка для хранилища опенсурс-проектов Ады на языке Ада - идея интересная, но внимания общественности не привлечет. Потому терять пар на это - неэффективно. Хотя, повторюсь, это имхо.

 

3 сентября 2009 г. 0:15 пользователь Vadim Godunko <vgodunko@rostel.ru>написал:

 

Maxim Pilipchuk wrote:

 

Что Аде мешает? Ведь в сущности ее компилятор имеется в gcc каждой GNU системы, а потому получив исходники проекта, написанные на Ада,

пользователю нужно только ввести команду для сборки проекта. И все. У Ады имеется значительный потенциал. А проект необходим чтобы обратить внимание аудитории на gcc и компилятор gnat в ее составе.

Мало кто пробовал его.

Хороший вопрос! Мешает отсуствие готовых open source проектов. Мешает разобщённость отдельных open source разработчиков. Мешает отсуствие коммерческого интереса к open source продуктам на Ada. Что ещё? Наверное много ещё чего мешает...

 

А вот насчет того, что это может быть проект, вот это самая основная

тема.

Это должен быть проект потенциально массовый и разумеется GNU, чтобы пользователю, работающему на любой системе достаточно было вызвать

gnatmake

 

И какие примеры могут быть?

 

 

------------------------------------

 

Yahoo! Groups Links

 

 

 

 

 

 

--

Maxim Pilipchuk

copywriter@mail.ru

manuscriptum@gmail.com

 

 

 

 

--

Maxim Pilipchuk

copywriter@mail.ru

manuscriptum@gmail.com

Maxim Pilipchuk wrote:

 

Таким образом реализовав проект альтернативный например этому

http://www.graniteds.org/ <http://www.graniteds.org/> может создать прецедент для Ады. Базироваться новый проект может на AWS, что дает ему такие преимущества:

1) с адой не нужен вебсервер (экономим память)

2) с адой не нужен апач томкат (экономим память)

3) ада работает нативно

3-1) требует меньше памяти

3-2) работает существенно быстрее явы

4) Ада хорошо переносима между платформами и существует реализации на тех платформах, которые используются для запуска web-приложений

5) Ада предустановлена на большинстве машин, которые используются для запуска web-приложений

 

Реализация технологии запуска Flash/Flex приложений средствами Ады обратит на данный язык внимание разработчиков корпоративных решений, ну и даст импульс к интересу со стороны молодых разработчиков.

 

Мысли правильные :-)

 

Вот где только взять столько ресурсов? :-( Получается замкнутый круг - нет готовых решений - нет решений.

Мысли правильные :-)

 

Вот где только взять столько ресурсов? :-( Получается замкнутый круг -

нет готовых решений - нет решений.

 

А может начать с чего попроще? Например с xmpp/jabber сервера.

 

Основной опенсорс-конкурент тут будет ejabberd писаный на erlang'e и openfire писаный на java.

 

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

 

Для разработки xmpp/jabber, насколько я понимаю, не требуется иметь уже достаточно большой портфель библиотек. Достаточно иметь xml-библиотеку и сокеты. Остальное в принципе можно и самим реализовать.

 

А AWS можно использовать для веб-морды сервера.

 

Мысли правильные :-)

 

Вот где только взять столько ресурсов? :-( Получается замкнутый круг -

нет готовых решений - нет решений.

 

Да, а ещё нынче модны системы контроля версий. Т.е. конечному пользователю они конечно не интересы, а вот программисту интересны. Ибо это инфраструктура в которой он живет. В системах контроля версий (cvs. svn. bazaar и т.п.) всё хорошо, но лично мне не хватает в них интеллекта. Очень хотелось бы чтобы система воспринимала помещенные в неё файлы не просто как текст, но и распознавала внутреннюю структуру исходника.

 

Т.е. чтобы я мог например отследить историю изменений вот этой вот конкретной функции. Т.е. чтобы хранилась не просто грубо говоря история diff'ов, но история рефакторингов программы. Ну, или хотябы пусть история diff'ов, но уже не файлов, а более мелких сущностей -- процедур/функций. И более крупных -- пакетов/модулей.

 

Чтобы после правки оформления кода (поменяли отступы добавили коментариев, пустых строк и т.п.) у нас не было бы проблем отличить где были значимые изменения сделаны, а где лишь оформление поменялось.

 

По моему, для всего этого дела прекрасно бы мог помочь (по кр. мере Аде) ASIS, аналогов которого в других языках не так уж и много. Т.о. быть может целесообразно было бы написать "умную" систему контроля версий. В т.ч. в рамках Ada forge.

 

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

 

IMHO, это вполне могло бы стать killer app.

Да, конечно исходники GDS весом в 54МБ выглядят несколько устрашающе :)) Но GDS все-таки универсальный проект, который расчитан в том числе и на запуск ява-приложений и взаимодействие с сервером. В нашем случае, нужна поддержка стандарта AMF (Active Message Format) который собственно отвечает за обмен сигналами между сервером и приложением Флекс. Поэтому если удалить лишний код, расчитанный на взаимодействие с томкатом и прочее, то останется папочка core весом в 700кб. В принципе, можно ориентироваться на реализацию AMF для приложений PHP - это собственно уже ближе по сути (да и 500к исходников уже не так мрачно) http://amfphp.sourceforge.net/ <http://amfphp.sourceforge.net/>

Давайте рассуждать.

 

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

 

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

1) тех кто хочет экономить (компании)

2) тех, кто хочет заработать (разработчики).

 

Сложные решения есть, простые и быстрые решения более привлекательны

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

 

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

 

О значимости темы можно судить по тому, что сама Adobe не против того, чтобы появлялись опенсурс-проекты, поддерживающие ее технологию Флекс. Чего стоит инициированный ею самой проект BlazeDS

http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/

Правда опять же он расчитан не только на Флекс, а на всю технологию AIR, которой прямая дорога к тонким клиентам (кстати, следующий по значимости тренд современности)

 

 

То есть резюмируя сказанное, я считаю, что лучше сделать один большой проект, чем два маленьких. Все как у бриллиантов - вдвое меньший камень будет стоить вчетверо дешевле. Не имеет смысла дробить силы, потому что это уменьшает суммарный выход. Мне кажется, что code.google.com вполне сойдет для старта. Все начинаются с малого...

А по поводу jabber такой комментарий - я бы не толпился на этом поле. Там уже и Эрланг и OCaml, и python и java, боюсь кого-то на Руби пропустил ;) За всей этой толпой Аду видно не будет. Jabber - обычно запускается в каком-то web-окружении, а это значит что запущен сервак, запущены средства web-разработки, и проще выбрать реализацию jabber'a теми средствами, которые все равно имеются. Мало кто захочет плодить сущности. AMF-реализация на Аде снимает кучу геморроя и теоретически может запускаться на более скромном железе.

 

А специализированный репозиторий кода на Аде - это капля, не стоит ждать что она переполнит море. Тем более что сами же мы признаем - кода пока не горы - на code.google хостятся аж 48 проектов по ярлыку Ada, на SF.NET чуть больше

- 116 (не все из них имеют отношение к языку Ада)

Так что для начала стоит раскачать интерес с двух сторон - со стороны корпоративных клиентов и со стороны разработчиков к языку Ада.

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

 

 

 

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

 

 

Ну вот такая история

 

 

10 сентября 2009 г. 15:03 пользователь Alexey Veselovsky <

alexey.veselovsky@gmail.com> написал:

 

Мысли правильные :-)

 

Вот где только взять столько ресурсов? :-( Получается замкнутый круг - нет готовых решений - нет решений.

 

А может начать с чего попроще? Например с xmpp/jabber сервера.

 

Основной опенсорс-конкурент тут будет ejabberd писаный на erlang'e и openfire писаный на java.

 

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

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

 

Для разработки xmpp/jabber, насколько я понимаю, не требуется иметь уже достаточно большой портфель библиотек. Достаточно иметь xml-библиотеку и сокеты. Остальное в принципе можно и самим реализовать.

 

А AWS можно использовать для веб-морды сервера.

 

 

 

 

------------------------------------

 

Yahoo! Groups Links

 

 

 

 

 

 

--

Maxim Pilipchuk

copywriter@mail.ru

manuscriptum@gmail.com

Я глазам своим не поверил. Столько "перспективных" технологий развития Ада. :) Попытаться влезть в рынок, где есть давно устоявшиеся традиции, навязывать веб программистам новый язык.... Они и на джаву с перла переползать не хотят.

 

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

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

 

Помимо веб технологий сейчас активно развивается рынок встроенных и мобильных устройств (кстати именно там линукс потеснил микрософт на столько, что они признали его достойным конкурентом). Активно

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

собственный фреймвёрк, они предпочитают брать готовое (линукс) и

объединяться в opensource проекты, чтобы уменьшить затраты на

программирование. Самое заметное решение - это конечно адаптация линукс под сотовые телефоны. Но уже появляются opensource решения для цифровых фотоаппаратов и т.д.

 

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

 

Я же не просто так интересовался какие OS уже готовы и полностью

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

--

Olleg Samoylov <olleg@...>

Moscow Institute of Physics and Technology

Maxim Pilipchuk wrote:

 

Давайте рассуждать.

 

Ещё одно "но". Подобные продукты как правило используют весьма

внушительный фундамент в виде J2EE, Hibernate, EJB и т.д. Для Ada ничего из указанного не существует в публичном достпупе, как тут быть?

Olleg Samoylov wrote:

 

Помимо веб технологий сейчас активно развивается рынок встроенных и мобильных устройств (кстати именно там линукс потеснил микрософт на столько, что они признали его достойным конкурентом). Активно

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

собственный фреймвёрк, они предпочитают брать готовое (линукс) и объединяться в opensource проекты, чтобы уменьшить затраты на

программирование. Самое заметное решение - это конечно адаптация линукс под сотовые телефоны. Но уже появляются opensource решения для цифровых фотоаппаратов и т.д.

 

Уже сейчас существует GNAT для LEGO MINDSTORMS. Что это значит? Это значит, что есть компилятор для процессоров ARM, используемых не только в этом конструкторе, но и в миникомпьютерах Nokia. Если кому интересно, то на выходных я с нуля заваял средства кросс-разработки для этих штук под Maemo. Была бы железяка - портировал бы QtAda на этого зверя. Только вот кому оно нужно? ;-)

 

Я же не просто так интересовался какие OS уже готовы и полностью написаны на Ада. К сожалению более-менее рабочая есть только одна - MarteOS. Уже готовый проект, который надо развить в нужном направлении, найти и решить на нем востребованную задачу.

Сейчас уже не важно на каком языке программирования написана

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

Я же не просто так интересовался какие OS уже готовы и полностью написаны на Ада. К сожалению более-менее рабочая есть только одна - MarteOS. Уже готовый проект, который надо развить в нужном направлении, найти и решить на нем востребованную задачу.

Сейчас уже не важно на каком языке программирования написана

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

 

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

Инфраструктуру которая была бы удобней чем для иных языков. Например ту же умную систему контроля версий.

Помимо веб технологий сейчас активно развивается рынок встроенных и мобильных устройств (кстати именно там линукс потеснил микрософт на столько, что они признали его достойным конкурентом). Активно

 

О, да. Только для мобильных технологий привычен либо С++ (см.

симбиан), либо Java (см. j2me и Android). Т.о. дорога туда Аде явно закрыта. Разработчики не будут переучиваться.

 

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

 

Я вам сейчас возможно страшную вещь скажу... Разговаривал с одним товарисчем, они занимались занимались написанием ПО для аппарата

как-то автоматизирующего операцию на сердце. Что-то вроде

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

 

Наручный компьютер дайвера, говорите?

 

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

использовать и для других языков.

On Птн, 2009-09-11 at 07:49 +0400, Alexey Veselovsky wrote:

 

Наручный компьютер дайвера, говорите?

 

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

 

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

использовать и для других языков.

 

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

 

* Supports mixed language applications in Ada, C and C++

(experimental support for Java as well).

* Offers the services defined in POSIX.13: pthreads, mutexes, condvars, ...

* All services have a time-bounded response (including dynamic memory allocation with TLSF).

* Single memory address space shared by the multi-thread

application and MaRTE OS.

* Available under the GNU General Public License 2.

* Based on the AdaCore GNU toolchain.

* Implements the Ada2005 Real-Time Annex

 

Разработка с 2000 года университетом Кантабриа. Так что проект -

реальней некуда. :)

 

--

Olleg Samoylov <olleg@...>

Moscow Institute of Physics and Technology

On Птн, 2009-09-11 at 07:39 +0400, Alexey Veselovsky wrote:

 

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

 

Да, было время, когда их было дефицит, был только CVS и тот не удобный. И примерно так же как вы рассуждал Линус, когда говорил, что проще написать свою. И тоже написал, кстати. Но сейчас их много на разный вкус и цвет. Создавать новую будет иметь смысл только если:

 

1. Будет заявлена функциональность, в которой программисты нуждаются, а в существующих её нет.

2. Будет обоснованно, что проще написать новую с нуля, чем доработать до этой функциональности существующие.

 

Впрочем это касается не только контроля версий, но и вообще любого программного проекта.

--

Olleg Samoylov <olleg@...>

Moscow Institute of Physics and Technology

On Птн, 2009-09-11 at 01:25 +0400, Vadim Godunko wrote:

 

Уже сейчас существует GNAT для LEGO MINDSTORMS. Что это значит? Это значит, что есть компилятор для процессоров ARM, используемых не только

в этом конструкторе, но и в миникомпьютерах Nokia. Если кому

интересно,

то на выходных я с нуля заваял средства кросс-разработки для этих штук под Maemo. Была бы железяка - портировал бы QtAda на этого зверя. Только

вот кому оно нужно? ;-)

 

Кстати, Ада на Lego MindStorms это куда гораздо более важный проект и далеко не игрушка. :) Если рассматривать его как обучающих инструмент для преподавания Ада студентам. Вплоть быть может для поощрения

студентов всякими конкурсами, борьбой роботов и т.д. Но. Сам факт, что сделано только средство разработки программ на Ада под MindStroms, OS же на этих роботах стоит оригинальная. Вот если бы её заменить на MarteOS, если возможно, то с точки зрения привития мысли студентам что это могущественный и правильный язык это был бы хороший шаг. Т.к.

существующая позиция противоречива - пишем надежные и правильные

программы для роботов на Ада, но у которых сама OS написана на

"ненадежном" C, причем ведь к OS предъявляются первостепенные требования к надежности и правильности.

 

Я же не просто так интересовался какие OS уже готовы и полностью написаны на Ада. К сожалению более-менее рабочая есть только одна - MarteOS. Уже готовый проект, который надо развить в нужном

направлении,

найти и решить на нем востребованную задачу.

Сейчас уже не важно на каком языке программирования написана

операционная система.

 

Это можно сказать про любую программу. Пример линукса, например,

наглядно показывает, что не важно на чем пишут, важно кто и как. :) Работает ведь, не смотря на все потенциальные возможности писать не правильно на С. Хотя вот, у меня экзотическое железо (видео AGP + старые оптероны) и проприатные драйвера NVideo постоянно пытаются меня вешать. Так что основа, т.е. OS хорошо бы если бы написана надежно. :)

 

И даже если не важно на чем написана программа с точки зрения успеха программы. Это важно с точки зрения успеха Ады. :) Действительно язык программирования появляется на слуху когда видишь и используешь готовые проекты. Тот же haskell перестал быть для меня академическим языком, когда я стал замечать windows manadgers и другие проекты в своем

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

 

Важно насколько хорошо программное обеспечение под

её управлением выполняющееся. И даже хорошесть программного

обеспечения

в большинстве устройств уже стоит далеко не на первом месте. На первом месте - удобство и производительность разработки. Использование уже готовых решений. Круг замкнулся...

 

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

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

--

Olleg Samoylov <olleg@...>

Moscow Institute of Physics and Technology

Да, было время, когда их было дефицит, был только CVS и тот не удобный.

И примерно так же как вы рассуждал Линус, когда говорил, что проще

написать свою. И тоже написал, кстати. Но сейчас их много на разный вкус

и цвет. Создавать новую будет иметь смысл только если:

 

1. Будет заявлена функциональность, в которой программисты нуждаются, а

в существующих её нет.

 

Уже заявил и описал. Схожий функционал имеет лишь одна экспериментальная система контроля версий на яве (и для только явы).

 

2. Будет обоснованно, что проще написать новую с нуля, чем доработать до

этой функциональности существующие.

 

Обоснование: прикручивать ASIS к системе контроля версий писаной на C/Python/Java будет, IMHO, не самым простым и грамотным решением.

Наручный компьютер дайвера, говорите?

 

Ну да, таких полно, измеряют параметры окружающей среды и вычисляют

уровень азота в крови. А если есть датчик давления воздуха - то и расход

воздуха в балонах. Может звучит абициозно, но по сложности это что-то

среднее между часами и КПК.

 

Только вот из одного только ПО его не слепишь. Тут как бы нужна производственная база самих дивайсов. У вас она есть?

 

Т.е. конкретный вопрос -- что и как в этом направлении могут сделать подписчики этой конференции?

On Fri, 11 Sep 2009 13:43:38 +0400, you wrote:

 

Да, было время, когда их было дефицит, был только CVS и тот не удобный. И примерно так же как вы рассуждал Линус, когда говорил, что проще написать свою. И тоже написал, кстати. Но сейчас их много на разный вкус и цвет. Создавать новую будет иметь смысл только если:

 

1. Будет заявлена функциональность, в которой программисты нуждаются, а в существующих её нет.

 

Уже заявил и описал. Схожий функционал имеет лишь одна экспериментальная система контроля версий на яве (и для только явы).

 

2. Будет обоснованно, что проще написать новую с нуля, чем доработать до этой функциональности существующие.

 

Обоснование: прикручивать ASIS к системе контроля версий писаной на C/Python/Java будет, IMHO, не самым простым и грамотным решением.

 

Да не нужно это. То, что нужно для работы над проектами ни одна система не предлагает, но это и не требуется для проектов-на-коленках типичных для ниши CVS и иже с ними. Отсюда их ориентация на merging, отсутствие виртуальной файловой системы, работы с зависимостями проектов,

автоматического построения, тестирования проектов (вместо жалких скриптов) и т.п. Слепить такую систему Ada community не по-зубам, а killer

application она не станет. Это как модельные паровозики и реальные поезда. Кому действительно надо, тот Clear Case купит, а потом Clear Quest и т.п. А дома, где ж мне паровоз держать?

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

On Птн, 2009-09-11 at 13:43 +0400, Alexey Veselovsky wrote:

 

Уже заявил и описал. Схожий функционал имеет лишь одна

 

Извините, похоже пропустил.

 

Обоснование: прикручивать ASIS к системе контроля версий писаной на C/Python/Java будет, IMHO, не самым простым и грамотным решением.

 

Контроль версии на базе ASIS это конечно интересно. Но, быть может чем писать её с нуля может быть можно будет добавить какой модуль к

существующим, если найти подходящее. Пока я видел только деление на файлы: текстовые (контроль на базе строк) и бинарные (целиком весь файл). Если уже есть наработки у джавы и возможности у ады, то быть может добавление функциональности на такое более тонкое деление будет интересно всем распространненым системам. И к тому же проекты часто бывают со смешанными кодами, типа проектов на ada/java которые сейчас уже могут появится.

 

--

Olleg Samoylov <olleg@...>

Moscow Institute of Physics and Technology

Кстати, Ада на Lego MindStorms это куда гораздо более важный проект и

далеко не игрушка. :) Если рассматривать его как обучающих инструмент

для преподавания Ада студентам. Вплоть быть может для поощрения

студентов всякими конкурсами, борьбой роботов и т.д.

Да, проект отличный. Никак не соберусь прикупить себе этот Lego minfstorm.

 

сделано только средство разработки программ на Ада под MindStroms, OS же

на этих роботах стоит оригинальная. Вот если бы её заменить на MarteOS,

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

могущественный и правильный язык это был бы хороший шаг. Т.к.

существующая позиция противоречива - пишем надежные и правильные

программы для роботов на Ада, но у которых сама OS написана на

"ненадежном" C, причем ведь к OS предъявляются первостепенные требования

к надежности и правильности.

...

MarteOS поддерживает POSIX (в каком-то виде). А значит на ней будет

выполняться уже написанные хорошие программы на С, это что касается

исползования готовых решений. Что же касается удобства и

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

казалось, что все нужное для этого для Ады существует и не хуже, чем у

других языках.

 

Позволю себе процитировать:

---

Создавать новую будет иметь смысл только если:

 

1. Будет заявлена функциональность, в которой программисты нуждаются, а

в существующих её нет.

2. Будет обоснованно, что проще написать новую с нуля, чем доработать до

этой функциональности существующие.

 

Впрочем это касается не только контроля версий, но и вообще любого

программного проекта.

---

 

Итак, ответьте на эти два вопроса пожалуйста. Относительно MarteOS vs Оригинальной леговской оси на "ненадежном Си". Не абстрактно "оно не надежное, а вот MarteOS надежная", а конкретно.

 

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

тетрис.

Можно вспомнить GNAT GPS ;-)

+ был какой-то софт для сочинения музыки вроде бы.

Новое сообщение:
Страницы: 1 2 3

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