понедельник, 18 июня 2007 г.

Программисты на С++ живы-здоровы

опозданием увидел заметку о высказывании Страуструпа (см. заголовок).
Вот сокращенный перевод (наскоро):



Понедельник, 25 апреля 2005 г.
Создатель C++ утверждает, что после краткого периода увлечения новыми ЯП, такими как Java и C#, разработчики возвращаются к использованию C++. Бьярн, который в настоящее время работает профессором университета в Техасе, считает что сообщения о смерти C++ были преждевременными. "C++ сейчас используется больше, чем когда-либо. В мире сейчас более трех миллионов программистов на C++. Подъем наблюдается повсеместно - все больше и больше проектов использует C++. Раньше повсюду преподавали Java, но сейчас снова изучают C++". По его мнению, это может быть не слишком заметно из-за отсутствия "пропагандистской кампании". Например, Sun Microsystems расхваливают использование Java в программе Mars Rover ("Марсоход"). Однако, [мало кто знает, что] C++ там тоже используется, в частности в реализации алгоритмов анализа и планирования маршрута в автономной системе управления Марсоходом.


Но не все согласны со Страусом:

Данные аналитика компании Evans Data, которая проводит регулярные обследования разработчиков, не подтверждают информацию об увеличении использования C++. Компания утверждает, что доля разработчиков, использующих C++, за последние шесть лет неуклонно снижается, - от 76% весной 1998 года до 46 процентов осенью 2004 года. При этом, однако, темпы снижения популярности С++, "существенно замедлились" за последние несколько лет. Janel Garvin, глава Evans Data, говорит, что использование Java несколько снизилось за последние несколько лет. "Популярность Java в Северной Америке постоянно возрастала, пока не достигла пика в 2001 или 2002 году",- сказал Гарвин. - С тех пор использование Java незначительно уменьшилась, однако по-прежнему остается высоким".

James Governor, аналитик компании RedMonk, считает, что утверждение о первенстве Java и языков, разработанных Microsoft (Visual Basic и C#), неверно. "Утверждение, что есть только два языка - Java и Microsoft - полная чушь.- сказал он.- C++ все еще играет заметную роль, а значение скриптовыех языков, таких как PHP и Python, растет, а не уменьшается".


А ведь, действительно, Си++ никогда не "продвигался", как это было и происходит, например, с Java или C#! Ну, можно сказать, что на популярность плюсов оказала сильнейшее влияние популярность Си, на котором он основан,- но ведь и Си никто не продвигал!..

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

7 комментариев:

artist (filmmaker, hacker, sometimes painter and photographer) комментирует...

Мне кажется что в успехе плюсов несомненна роль корпораций. Именно он стал обьектным наследником си, на котором написано большинство промышленных операционок. А Си стал доминирующим языком системного программирования потому, что на нем был написан юникс. А за юникс (SunOS, HP-UX, AIX, Tru64, IRIX, Solaris) стояли корпорации. Так же, как и за другими промышленными операционками (os/2, novell netware, dos/windows) которые унаследовали немало от юникс. Поэтому теперь именно на си пишутся драйвера, он нативный для операционок, не нужно создавать интерфейсы и связи. Если рассматривать юникс как платформу, то си можно назвать ее ассемблером.
Обьектный язык, сохраняющий определенную совместимость с общепринятым языком системного программирования имел все шансы стать наиболее популярным в прикладной сфере имея в виду человеческий фактор (привычки программистов) и количество уже написанного кода.
Похоже, что objective c, основной конкурент плюсов, был поддержан только одной корпорацией: Next Computers, а затем подхвачен Apple. Сыграла свою роль и тенденция предпочтения самых мощных, кишащих фичами продуктов. Для сравнения можно обратить внимание на активность в usenet группах по аде, модуле, оберону и паскалю. Группа по Ада самая активная.
Потому, что Ада наиболее усложненный и богатый синтаксическими наворотами язык а также запиаренный как безопасный, надежный и переносимый.
Ява несомненно пошатнула позиции плюсов, но из-за деталей реализации от нее часто отказываются. НЕТ можно назвать псевдокроссплатформенным, всвязи с чем он также теряет свою актуальность.

Я хочу сказать, что несмотря на иллюзию, что так исторически сложилось, си++ все же раскручивался корпорациями, но косвенно.

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

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

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

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

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

Слух режет, ну и что? Как бы это ни казалось нелепым, объективно спрос именно на программеров, могущих без переучивания и предварительной подготовки писать программы на Си++, существует, и не уменьшается. Об этом, собственно, и слова Страуса, и не больше. Ваши рассуждения насчет "программиста вообще" правильны, но вполне банальны и не имеют отношения к тому, что было написано в статье.

А насчет переусложненного синтаксиса, который сложно учить - простите, если программист квалифицированный (о котором Вы сами и говорите), то не имеет смысл вообще говорить о каких-то существенных затратах времени на заучивание "завитушек". Любые (подчеркиваю: любые) синтаксические завитушки нормальный программист должен выучить за пару дней, вообще не задумываясь о каких-то своих усилиях по этому поводу. Я скорее понял бы трудности заучивания _семантических_ завитушек...

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

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

Можно указать нормального программиста, усвоившего синтаксические "завитушки" Си++ за пару дней?
Также есть предположение, что между синтаксическими и семантическими "завитушками" есть существенная корреляция.
Вроде старой мысли "кто ясно мыслит, ясно излагает".

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

Добрый день, Евгений!
Мне кажется, что просто "устаканились" библиотеки... ЯЗЫКОВЫМИ средствами (всеми и в полной мере) МАЛО КТО МОЖЕТ ОПЕРИРОВАТЬ...
То есть, по большому счёту просто имеем "мартышечный принцип" с небольшим налётом "сопричастности" к кагорте, использующих "самый-самый"...
Я всё больше убеждаюсь, что 99% программеров САМ ЯЗЫК НЕ ИСПОЛЬЗУЮТ или НЕ УМЕЮТ ЭТОГО ДЕЛАТЬ В ПОЛНОЙ МЕРЕ. Есть просто критическая масса "всепроникющего" кода библиотек. Ява стала, в своё время, популярной благодоря количеству покрываемыз тем библиотек. У си++ тогда такого покрытия не было. Но, время прошло, народ "подтянулся"... Тот же буст... А легенда осталась. И при таком обилии и богатстве библиотек сам прикладной код на си++ превращается в скриптовый с вызовами средств библиотек... :о)

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

... то есть ...
Особых "навротов" ("извратов") си++ при таком коде не требуется... Но расусоливания остались...
Это, как про родную Одессу - время прошло, ТОГО города уже нет и не будет никогда, но Легенда осталась...

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

И, кстати, огромное спасибо за публикацию вашей диссертации!

В роли трёх последних анонимусов выступал Владимир Лось.