Каковы преимущества разработки приложений на C ++ по сравнению с управляемыми языками? - PullRequest
2 голосов
/ 23 января 2011

Привет, я хочу знать, почему люди разрабатывают библиотечные приложения и приложения для управления сотрудниками на C ++ (например, это приложение ), когда одно и то же можно сделать в C # и VB.NET совершенно красивый способ. Даже банковские приложения в основном на C ++. Есть ли веская причина, почему, кроме того факта, что скомпилированный код C ++ выполняется быстрее?

Кто-нибудь может пролить свет на это?

Ответы [ 6 ]

5 голосов
/ 23 января 2011

Основными причинами C ++ для, скажем, банковских приложений является:

  1. Устаревший код. Крупная финансовая фирма обычно имеет ~ 10-20-30 лет собственных библиотек C / C ++ для бизнеса, разработанных собственными силами, плюс набор библиотек для конкретных поставщиков, которые могут быть недоступны для C #

  2. МНОГО этого финансового кода работает на Unix / Linux. Хотя вы можете чисто теоретически построить код C # для Linux, это определенно НЕ устоявшаяся технология, на которую вы хотите ставить суммы в миллиарды долларов.

5 голосов
/ 23 января 2011

С: 1972

C ++: 1979

C #: 2000

Теперь подумайте о времени жизни библиотеки, особенно в банке, плюс вы можете использовать библиотеки (теоретически) практически на каждой существующей компьютерной системе (в отличие от C #)

Вы также все еще найдете там много Кобола (1960).

4 голосов
/ 23 января 2011

C ++ можно использовать в других типах систем, тогда как c # и vb.net - нет.

2 голосов
/ 23 января 2011

Помимо технических причин (например, C ++ является «неуправляемым» языком с совершенно другими возможностями и свойствами, чем языки .NET), это может быть просто из-за предпочтений.Не все люди считают, что C # и VB.NET - лучший инструмент для любой задачи.Или самая красивая.Почему вы так думаете?И почему у других не должно быть столь же веских причин для выбора другого инструмента по своему вкусу?

Обновление в ответ на комментарий Конрада:

Правильно, что «предпочтение»действительно слишком узкий термин.Есть и другие аспекты:

  • Руководители / начальники могут превратить свои (возможно, плохо информированные) предпочтения в бизнес-политику;

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

1 голос
/ 23 января 2011

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

Что касается банковских приложений, причина, как я полагаю, в основном в том, что у вас есть среда, близкая к железной, которая позволяет вам надежно использовать программирование в реальном времени.

0 голосов
/ 23 января 2011

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

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

...