понедельник, 20 июня 2011 г.

[prog] Хороший пример прикладной ниши для C++ (от разработчиков POCO)

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

Разработчики библиотеки POCO в своем блоге похвастались о получении премии Constantinus Award. Компания Applied Informatics для своего заказчика PSP GmbH разработала программно-аппаратный комплекс BWIM (Bridge Weigh In Motion). Как я понял, это система из нескольких сенсоров, которые работают под управлением embedded Linux. Она измеряет деформацию моста и на основании собранных данных дает возможность классифицировать по типам проезжающие по мосту машины.

Софт для сбора и обработки данных, web-сервер для мониторинга и конфигурирования, средства для передачи данных на центральный сервер и пр. были разработаны на C++ с использованием библиотеки POCO.

Имхо, как раз хороший пример задачи, для которой применение C++ (а так же других близких к железу языков, вроде C, Modula-2, Ada, Eiffel) более чем оправдано. Причем по сравнению с более экзотическими конкурентами – Modula-2, Ada и Eiffel – специалистов по C++ и готовых инструментов для C++ намного больше. Если же сравнивать с C, то в отсутствии необходимости засовывать программу в совсем уж урезанный девайс, C++ может облегчить жизнь разработчиками своими более высокоуровневыми возможностями – ООП и шаблонами, например.

PS. Время от времени завидую тем, кто занимается подобными проектами. Это, даже при имеющихся там заморочками и тараканами, все-таки далеко не сраный Ынтырпрайз.

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

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

Ссылка на POCO без H в начале (ttp://pocoproject.org).

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

@san

Спасибо, поправил.

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

Евгений, а каковы Ваши предпочтения в нелегком выборе POCO vs ACE vs Boost vs что-нибудь еще?

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

@Quaker:

Вопрос очень интересный. Я постараюсь ответить на него отдельным постом.