На форумных флеймах часто слышны вопли о том, что для С++ не осталось никаких прикладных ниш. Понятное дело, что все это ерунда и особо заморачиваться не стоит, если только нет желания отвести душу разбрасывая какашки по форумам :)
Но когда есть хороший пример удачного применения 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. Время от времени завидую тем, кто занимается подобными проектами. Это, даже при имеющихся там заморочками и тараканами, все-таки далеко не сраный Ынтырпрайз.
Ссылка на POCO без H в начале (ttp://pocoproject.org).
ОтветитьУдалить@san
ОтветитьУдалитьСпасибо, поправил.
Евгений, а каковы Ваши предпочтения в нелегком выборе POCO vs ACE vs Boost vs что-нибудь еще?
ОтветитьУдалить@Quaker:
ОтветитьУдалитьВопрос очень интересный. Я постараюсь ответить на него отдельным постом.