C++ все еще активно используется для разработки общего назначения? [дубликат]

7
задан 6 revs, 4 users 62%unknown 23 May 2017 в 12:14
поделиться

14 ответов

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

В связи с этим я считаю следующее. В свое время C++ был новым горячим языком, и был "пузырь", когда он доминировал на рынке. Этот пузырь сдулся довольно давно. С тех пор использование C++ растет в абсолютном выражении, но рынок растет (довольно значительно) быстрее, поэтому его использование сокращается в относительном выражении.

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

  1. Многие команды, производящие C++, уже несколько лет как "освоились", поэтому текучесть кадров относительно низкая.
  2. С++ уже хорошо зарекомендовал себя там, где его используют, поэтому должности, как правило, заполняются за счет внутреннего продвижения.

Есть еще один эффект, о котором я почти не решаюсь упомянуть, но он верен, как бы мало это многим ни нравилось: есть и программисты, и менеджеры, которые больше радуются "новому", чем эффективному. Это приводит к появлению большой группы подражателей, которые постоянно находятся в движении к новейшей и величайшей "технологии" (будь то язык, фреймворк, платформа или что-то еще). Они получают работу, бездельничают (или, что еще хуже, действительно пишут код), а затем переходят к следующей жертве... эээ... работодателю. Они вызывают большой "отток" и раздувают количество объявлений о работе, но не производят практически ничего или почти ничего, что имело бы реальную ценность. Эта группа давно перешла с C++ на Java, и уже давно перешла с Java на C#, Ruby on Rails, Hadoop и все, что волнует менеджеров на этой неделе.

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

12
ответ дан 6 December 2019 в 04:52
поделиться

"C++ фактически отошел к встроенным системам, ОС, браузерам"

"другие разработки специального назначения"

Вы имеете в виду 99% кода, который люди используют ежедневно?

10
ответ дан 6 December 2019 в 04:52
поделиться

C++ все еще активно используется во многих критически важных финансовых приложениях. Например, большинство платформ Bloomberg основаны на C++ с очень небольшим количеством front end на других языках. Многие инвестиционные банки и хедж-фонды используют алгоритмические торговые системы, полностью написанные на C++ (например, Tower Research Capital, Knight Capital и т.д.).

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

Я думаю, что большинство переходов на другие языки связано с веб-разработкой и веб-ориентированной разработкой. Главным исключением из этого является Google, где по-прежнему в основном используют C++ и Python.

7
ответ дан 6 December 2019 в 04:52
поделиться

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

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

Тем не менее: если вы хорошо знаете C ++, вы можете научиться / программировать что угодно.

5
ответ дан 6 December 2019 в 04:52
поделиться

На сегодняшний день C ++ является единственным языком, который является как объектно-ориентированным , так и скомпилированным (или, по крайней мере, имеет развитую экосистему оптимизирующих компиляторов). Это оставляет его единственным выбором для большинства крупномасштабных проектов с интенсивными вычислениями.

Для меня наиболее ярким примером являются игры и игровые движки - это огромные проекты, которые сжимают машины за доли миллисекунды. MS пытается получить некоторую поддержку для XNA (управляемая среда разработки игр - в основном оболочка DirectX), но, скорее всего, никогда не получит ее для производства игр AAA.

3
ответ дан 6 December 2019 в 04:52
поделиться

Это никуда не делось, если вам нужно сделать что-то очень-очень быстро. Если "достаточно быстро" в порядке, то C # и Java в порядке, но если у вас есть вычисления, которые занимают часы или дни, или вам нужно, чтобы что-то произошло в микросекундной шкале времени (например, высокочастотная торговля), C ++ по-прежнему остается языком .

2
ответ дан 6 December 2019 в 04:52
поделиться

Чаще всего мы теряемся в круговороте ажиотажа. Сначала была Java, затем - PHP, а сейчас - Python. Но дело в том, что разработка настольных приложений общего назначения по-прежнему требует использования таких библиотек, как Carbon / Cocoa для Mac, GTK / QT для Linux, MFC для Windows. Все они основаны на C / C ++. Так и большинство приложений написано для этих платформ. Так что называть C ++ как встраиваемый неправильно, хотя да, он широко используется сейчас, в отличие от ранее, когда это был просто сборка или C на максимуме. На мой взгляд, если вам нужно высокопроизводительное приложение с красивым графическим интерфейсом, это все равно нужно делать на C / C ++.

2
ответ дан 6 December 2019 в 04:52
поделиться

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

Существует много способов измерения, и некоторые из них представлены здесь: http://langpop.com/ . Факты свидетельствуют о том, что C ++ остается важным.

1
ответ дан 6 December 2019 в 04:52
поделиться

Я не уверен, подпадает ли игровая индустрия под «разработку общего назначения», но если вы хотите разработать что-то, над чем вы собираетесь работать, чем отдельная консоль, C ++ - это то, что на обед. Хотя многие игровые и 3D-библиотеки имеют расширения для других языков, все они имеют расширения для C / C ++.

1
ответ дан 6 December 2019 в 04:52
поделиться

C ++ по-прежнему используется везде, где требуется максимальная производительность. Его главное преимущество в том, что вы можете использовать буквально все. В дополнение к тому, что говорили другие люди, вы также можете использовать его для поддержки веб-сайтов, например, OkCupid использует его почти исключительно.

Как показывает недавний хип-хоп на Facebook, в конце концов, если вы можете себе это позволить (т. Е. У вас большая и компетентная команда), вы всегда можете что-то получить, используя это. Тогда это тоже вопрос масштаба, кроме промышленности.

1
ответ дан 6 December 2019 в 04:52
поделиться

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

0
ответ дан 6 December 2019 в 04:52
поделиться

C++ все еще очень популярен. Например, в сочетании с Qt он часто используется.

0
ответ дан 6 December 2019 в 04:52
поделиться

Как язык общего развития? Что ж, это зависит от вашей отрасли, но я работал в двух разных отраслях, и всегда много работы над C ++:

  1. Телекоммуникации
    • Встроенные устройства часто используют C и C ++ для основных услуг
    • Сетевое оборудование, часто очень сложное, в значительной степени использует C ++
    • Программные приложения, которые работают с оборудованием, часто будут написаны на C ++
  2. Финансовые услуги
    • Торговля Системы исполнения часто написаны на C ++. Вы не можете включить сборку мусора, когда выполняете заказ для клиента.
    • Алгоритмические и высокочастотные торговые системы обычно находятся на C ++.
    • Общие торговые системы, которые не имеют строгих требований к скорости, похоже, находятся на C ++ и Java, с C # также начинает появляться.
    • В наши дни административные приложения, как правило, пишутся на Java, VB или C #
    • В последнее время наблюдается тенденция к использованию функциональных языков для количественного анализа, поэтому начинают появляться F # и Haskell, а также SAS и Matlab.

Я где-то читал, что Nyse / Euronext использует Java, но они отключают сборщик мусора и работают на серверах с безумным объемом памяти.

0
ответ дан 6 December 2019 в 04:52
поделиться

Если я посмотрю на приложения, которые я установил на ноутбуке, на котором я пишу это сообщение, я вижу много C / C ++ и мало (если есть) управляемых приложений. Примеры? Google Chrome, Firefox, iTunes, uTorrent, Spotify, Picasa, Google Планета Земля, OpenOffice, Notepad ++, IrfanView ... этот список можно продолжать и продолжать. Я зарабатываю на жизнь написанием настольных приложений, которые установлены на тысячах ПК по всему миру, и C ++ по-прежнему остается моим предпочтительным языком. Отсутствие зависимостей (WTL - ваш друг) является огромным плюсом IMHO (и моих клиентов я должен добавить!) Однако YMMV - как опытный разработчик, я думаю, что достаточно продуктивен в C ++, но я не могу говорить за все.

3
ответ дан 6 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: