Ada_Ru форум

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

Use of the Ada compiler for DSP.

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

Сообщения

sma
Use of the Ada compiler for DSP.
2009-12-07 10:15:14

В настоящий момент веду проэкт "встроенного приложения реального времени" где Ада, вроде как, традиционно сильна. Это программное обеспечение для УКВ-радиостанции. В нём будут функции контроллера (управление дисплеем, клавиатурой, меню настроек как у мобильника) плюс низко-и-высоко-уровневая обработка связного протокола и всякими аналоговыми штучками (АРУ, шумоподавление и проч.). Казалось, бы Аде здесь самое место. Но!

1) По моим оценкам сам язык это ~10% трудозатрат на кодирование и сопровождение. Всё остальное - наука и исскуство связанное с алгоритмом и железом. Если я вместо C++ выберу Аду эти затраты, возможно, уменьшатся до ~5-7%. А стоит ли в таком случае игра свеч? Т.к. сюда стоит добавить затраты на обучение персонала или 'покупку' специалистов, которые заведомо дороже. Плюс убогие средства разработки и отладки по сравнению с лидерами отрасли. Плюс неизбежные нестыковки между 'родным' C++ и 'неродной' Адой.

2) Выбор процессора. Вроде как в GNAT-е есть опция для процессора Blackfin-a (Analog Device) который более-меннее подходит для заявленных целей. Однако, процессоры Texas Instruments лучше по ряду показателей (не буду углубляться, почему). Но для для процессоров TI я ничего связанного с Адой не нашёл.

В итоге вывод :( Ада-ацтой, С++-форева ):

С уважением, Самодов Михаил.

sma wrote:

 

2) Выбор процессора. Вроде как в GNAT-е есть опция для процессора Blackfin-a (Analog Device) который более-меннее подходит для заявленных целей. Однако, процессоры Texas Instruments лучше по ряду показателей (не буду углубляться, почему). Но для для процессоров TI я ничего связанного с Адой не нашёл.

 

Вопрос первый. Рассматриваются ли коммерческие компиляторы или

исключительно бесплатные? Если коммерческие рассматриваются, то нужно спрашивать соответственно поставщиков таковых. Не знаю есть ли GNAT для таковых, но когда-то я встречал упоминание о TI то ли от Irvine, то ли от OC Systems.

 

День добрый!

Помнятся мне времена, когда говорили то-же самое сравнивая Макро-Ассемблер для какого-нибуть контроллера и С (не говоря уже о С++).

 

With best regards

Sergey Kirkorov www.mediascan.by

Email: ksiby@mediascan.by

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

From: sma

To: ada_ru@yahoogroups.com

Sent: Monday, December 07, 2009 12:15 PM

Subject: [ada_ru] Use of the Ada compiler for DSP.

 

 

 

В настоящий момент веду проэкт "встроенного приложения реального времени" где Ада, вроде как, традиционно сильна. Это программное обеспечение для УКВ-радиостанции. В нём будут функции контроллера (управление дисплеем, клавиатурой, меню настроек как у мобильника) плюс низко-и-высоко-уровневая обработка связного протокола и всякими аналоговыми штучками (АРУ, шумоподавление и проч.). Казалось, бы Аде здесь самое место. Но!

 

 

 

1) По моим оценкам сам язык это ~10% трудозатрат на кодирование и сопровождение. Всё остальное - наука и исскуство связанное с алгоритмом и железом. Если я вместо C++ выберу Аду эти затраты, возможно, уменьшатся до ~5-7%. А стоит ли в таком случае игра свеч? Т.к. сюда стоит добавить затраты на обучение персонала или 'покупку' специалистов, которые заведомо дороже. Плюс убогие средства разработки и отладки по сравнению с лидерами отрасли. Плюс неизбежные нестыковки между 'родным' C++ и 'неродной' Адой.

 

2) Выбор процессора. Вроде как в GNAT-е есть опция для процессора Blackfin-a (Analog Device) который более-меннее подходит для заявленных целей. Однако, процессоры Texas Instruments лучше по ряду показателей (не буду углубляться, почему). Но для для процессоров TI я ничего связанного с Адой не нашёл.

 

 

 

В итоге вывод :( Ада-ацтой, С++-форева ):

 

 

 

С уважением, Самодов Михаил.

 

 

 

__________ Information from ESET NOD32 Antivirus, version of virus signature database 4244 (20090715) __________

 

The message was checked by ESET NOD32 Antivirus.

 

http://www.esetnod32.ru

 

 

 

__________ NOD32 4485 (20091006) Information __________

 

This message was checked by NOD32 antivirus system.

http://www.eset.com

sma

1) Коммерческие компиляторы не рассматриваются, т.к. я не смогу убедить руководство в именно в коммерческой выгоде этого шага. Выигрыш 3-5% за счёт применения Ады совершенно не оправдывает покупку компилятора и прочие накладные расходы. К сожалению.

2) Ада компилятор для TI http://www.irvine.com/tidsp.html но процессора не подходящие.

 

--- In ada_ru@yahoogroups.com, Vadim Godunko <vgodunko@...> wrote:

On Mon, 07 Dec 2009 12:11:04 -0000, you wrote:

 

1) Коммерческие компиляторы не рассматриваются, т.к. я не смогу

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

 

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

 

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

 

Реален другой аргумент: многие программисты на Аде писать просто не хотят. Не потому, что не смогут, а потому что лень. А писать они, что на Аде, что на C могут, в-общем, одинаково плохо. Затраты на обучение типового среднестатистического C/C++ программиста так, чтобы он нормально писал на C поболее будут, чем для Ады. А для C++ они практически бесконечны, т.к. тут и ученик, и учитель должны быть гениями и корифеями всех наук...

 

2) Ада компилятор для TI http://www.irvine.com/tidsp.html но процессора не подходящие.

 

Из личного опыта. Если Вы фиксируете процессор - проект обречен. В текущем проекте мы уже два раза меняли платформу, в том числе, семейство

процессора. И далее менять будем.

 

Главное преимущество от Ады для нас - постоянная смена платформ и возможность отладки не на целевой платформе, а просто под Windows. В минусе

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

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

Dmitry A. Kazakov wrote:

 

По поводу аргумента обучения программистов - общее место и чепуха, т.к.

квалифицированных программистов на C, и тем более на C++ найти невозможно,

но никого это особо не волнует. Пишут те, кто есть.

 

Реален другой аргумент: многие программисты на Аде писать просто не хотят.

Не потому, что не смогут, а потому что лень. А писать они, что на Аде, что

на C могут, в-общем, одинаково плохо. Затраты на обучение типового

среднестатистического C/C++ программиста так, чтобы он нормально писал на C

поболее будут, чем для Ады. А для C++ они практически бесконечны, т.к. тут

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

 

Подтверждается моим опытом. Опытные, грамотные и заинтересованные ребята на Аде

начинают писать после трех дней обучения, максимум - недели. После еще

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

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

больше, чем с++

 

Главное преимущество от Ады для нас - постоянная смена платформ и

возможность отладки не на целевой платформе, а просто под Windows. В минусе

- убогость IDE и чудовищность отладчика gdb, ошибки компилятора. Но Eclipse

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

gdb все равно никуда не уйти...

 

А почему жалуетесь здесь, а не где положено? :)

On Mon, 07 Dec 2009 17:10:52 +0300, you wrote:

 

Dmitry A. Kazakov wrote:

 

Главное преимущество от Ады для нас - постоянная смена платформ и возможность отладки не на целевой платформе, а просто под Windows. В минусе - убогость IDE и чудовищность отладчика gdb, ошибки компилятора. Но Eclipse ничем не лучше, кроме как ее медленностью и постоянными вылетами. А от зла gdb все равно никуда не уйти...

 

А почему жалуетесь здесь, а не где положено? :)

 

А что, есть шанс, что AdaCore заменит gdb своим продуктом? (:-))

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

sma

Я с Modula-2 на C++ 'переезжал' долго. Плевался, ругался, бился в бессильной злобе, но только где-то через полгода смог сам себе признаться, что владею языком, библиотекой и приёмами программирования на C++ профессионально. Операторы, действительно, можно освоить за неделю. Но рельсы в голове лягут не раньше нескольких месяцев. В этом смысле C++, конечно, язык бардачный, в нём масса тёмных мест. Пока сам все шишки не набъёшь, работать ничего не будет. У Ады другие проблемы. Ада - язык сложный, концептуально. Ада начнёт работать нормально только тогда, когда программист начнёт мыслить на Аде. Здесь должны проложиться не только рельсы, но и мосты. А это долго.

P.S. Мой печальный опыт переучивания подчинённых с одного языка на другой чем-то напоминает принудительную смену пола.

С уважением, Михаил Самодов.

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

Подтверждается моим опытом. Опытные, грамотные и заинтересованные ребята на Аде

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

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

__________ Information from ESET NOD32 Antivirus, version of virus signature database 4244 (20090715) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru

sma wrote:

 

P.S. Мой печальный опыт переучивания подчинённых с одного языка на другой чем-то напоминает принудительную смену пола.

 

В случае Ada это не совсем так. Да, мосты не наведутся, но достаточно иметь всего пару хорошиш специалистов и построить процесс review. Через неделю новички начнут писать код, через месяц начнут это делать

качественно. Проверено на десятке человек.

On Пнд, 2009-12-07 at 17:27 +0100, Vadim Godunko wrote:

В случае Ada это не совсем так. Да, мосты не наведутся, но достаточно иметь всего пару хорошиш специалистов и построить процесс review. Через неделю новички начнут писать код, через месяц начнут это делать

качественно. Проверено на десятке человек.

 

Это же бесценный опыт. Вы бы это в качестве методички бы оформили. :)

On Mon, 07 Dec 2009 19:41:41 +0300, you wrote:

 

On Пнд, 2009-12-07 at 17:27 +0100, Vadim Godunko wrote:

В случае Ada это не совсем так. Да, мосты не наведутся, но достаточно иметь всего пару хорошиш специалистов и построить процесс review. Через неделю новички начнут писать код, через месяц начнут это делать

качественно. Проверено на десятке человек.

 

Это же бесценный опыт. Вы бы это в качестве методички бы оформили. :)

 

Почему-то я чувствую иронию... А ведь code review действительно отличная вещь, если делается систематически, малыми кусками, и в присутствии "зайца", а не наскоками, только для "процесса".

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

sma

Любые предварительные оценки трудозатрат по разработке ПО, даже заявленные опытными программистами можно смело умножать на 10. Если заявляется месяц - значит возни примерно на год. И это правило работает, ВСЕГДА, по крайней мере, в нашей стране. Возьмём, к примеру, самый клинический случай. Специалиста Delphi переучить на GtkAda или на QtAda (плюс сама Ada). Месяц? (: Ха-Ха 2 раза, выход в боковую дверь :) Нужна, сами понимаете, мощная ($) мотивация.

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

В случае Ada это не совсем так. Да, мосты не наведутся, но достаточно иметь всего пару хорошиш специалистов и построить процесс review. Через неделю новички начнут писать код, через месяц начнут это делать качественно. Проверено на десятке человек.

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

__________ Information from ESET NOD32 Antivirus, version of virus signature database 4244 (20090715) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru

Sma wrote:

1) Коммерческие компиляторы не рассматриваются, т.к. я не смогу убедить руководство в именно в коммерческой выгоде этого шага. Выигрыш 3-5% за счёт применения Ады совершенно не оправдывает покупку компилятора и прочие накладные расходы. К сожалению.

 

В этом случае остаётся только глядеть какие процессоры поддерживаются GCC от FSF. И самостояельно творить cross-компилятор. В принципе не так уж и сложно, но повозиться придётся...

Vadim Godunko wrote:

 

В этом случае остаётся только глядеть какие процессоры поддерживаются

GCC от FSF. И самостояельно творить cross-компилятор. В принципе не так

уж и сложно, но повозиться придётся...

 

И в итоге окажется заметно дороже покупки нормального компилятора :)

sma wrote:

Любые предварительные оценки трудозатрат по разработке ПО, даже заявленные опытными программистами можно смело умножать на 10. Если заявляется месяц - значит возни примерно на год. И это правило работает, ВСЕГДА, по крайней мере, в нашей стране.

А причём тут оценки? Что-то у меня контекст потёк...

 

Специалиста Delphi переучить на GtkAda или на QtAda (плюс сама Ada). Месяц? (: Ха-Ха 2 раза, выход в боковую дверь :) Нужна, сами понимаете, мощная ($) мотивация.

 

Изучение GtkAda и QtAda это немного совершенно другое дело. Опыта переучивания здесь у меня нет (мы просто написали QtAda когда штаны Motif нам оказались малы, а гонку Gtk+/Qt в нашем случае Qt выигрывал с огромным отрывом), а в целом я бы скорее оценивал скорость обучения здесь на основе понимания архитектурных принципов использования OOP в GUI toolkits и наличии высококачественной документации на GUI toolkit. Язык же программирования - дело десятое.

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

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