2010-06-11 4 views
5

Можно создать дубликат:
in which area is c++ mostly used?Какие типы программ используются C/C++?

Я начал с C в школе, пошел на Java, и теперь я в первую очередь использовать P-х (Php, Perl, Python), поэтому мое пребывание на языки нижнего уровня почти исчезли. Я хотел бы вернуться к нему, но я никогда не могу оправдать использование C поверх Perl или Python. Какие реальные приложения разрабатываются на этих языках? Любые предложения, если я хочу снова погрузиться, что я могу сделать с C/C++, что я не могу легко сделать с Perl/Python?

+6

Может ли кто-нибудь из ваших активистов объяснить, почему? – 2010-06-11 20:06:13

+0

Моя единственная экспозиция «C like» - с Objective-C, когда вы делаете iPhone. –

+0

Ха-ха, «P's» –

ответ

1

C/C++ может быть и используется для почти всех «типов» программ.

Есть некоторые основные преимущества C и C++:

  • Потенциально более высокая производительность
  • Легче построить совместимые библиотеки, особенно при работе с библиотеками используемых на различных языках.
1

Хорошо, что переводчики для ваших языков «P», безусловно, написаны на c/C++. Большинство кода ОС написано на C/C++. На стороне приложения, если вы играете в игры, они, как правило, записываются в c/C++. Хорошим кандидатом является все, что требует высокой производительности и низкой памяти.

Я использовал Gsoap, реализацию клиента мыла C++ для веб-службы, которая получила ОГРОМНЫЙ трафик.

+4

«Мой компилятор скомпилировал ваш компилятор»? –

+1

@ Kate Gregory: И просто чтобы запутать вещи, вы должны написать компилятор C в Python. – FrustratedWithFormsDesigner

+1

Да? Ну компилятор MY компилировал компилятор компилятора! И твоя мама! –

3

Перефразируя текст из ответа я был еще связанный с этим вопрос:

  1. драйверов устройств в нативном коде.
  2. Высокопроизводительное число с плавающей запятой (например, SIMD).
  3. Легкая возможность взаимодействия с ассемблерами.
  4. Управление памятью вручную для расширенного выполнения.
+0

Так что, в принципе, если мне не нужно писать какие-либо из них, я должен придерживаться языков, которые я использую сейчас? –

+0

Ну, они не исчерпывающий список. Но если ваша задача не громоздка, используя ваш язык выбора, то непременно используйте этот язык! –

+0

# 4 должна быть причиной __NOT__ использовать C всех вещей! –

0

Большинство приложений для настольных компьютеров и консолей с уклоном в сторону графики сильно зависят от C++. Это, в частности, программное обеспечение САПР и видеоигры AAA.

2

Большая часть моей работы была C и C++. Я изучал компьютерную инженерию в школе и работал со встроенными устройствами. У моей степени магистра был акцент в графике и визуализации. Одно из наших приложений для визуализации было написано на Python, но по большей части графика требует C/C++ для скорости. Теперь я работаю со встроенными устройствами под управлением Windows Mobile и Windows CE - все на C++, хотя вы можете многое сделать с C#. Я ранее работал в симуляциях, и это был код C++ на сервере. C++ по-прежнему является королем для чувствительных к времени IO, встроенных приложений, графики и симуляций.

В принципе, если вам нужен жесткий контроль времени, вы идете на более низкий уровень.Или, если вам нужен легкий вес (то есть, малый размер программы, небольшой объем памяти)

+1

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

2

Несколько ненаучно я смотрел на Sourceforge и топ-двадцать проектов/язык ломка в настоящее время следующим образом:

  • Java (43.199)
  • C++ (34.313)
  • PHP (28.333)
  • C (26.711)
  • C# (12.298)
  • Pyth на (12222)
  • JavaScript (10307)
  • Perl (8931)
  • Unix Shell (3618)
  • Delphi/Kylix (3353)
  • Visual Basic (3044)
  • Visual Basic .NET (2.513)
  • Ассамблеи (2.283)
  • JSP (1.891)
  • Рубин (1.731)
  • PL/SQL (одна тысяча шестьсот шестьдесят девять)
  • цель C (1424)
  • ASP.NET (+1344)
  • Tcl (тысяча двести сорок одна)
  • ActionScript (1.164)

Perl, Python + вместе до сих пор общее меньше, чем С. Я понятия не имею, почему Java настолько высока, я не знаю ни одного разработчика Java и не видел ни одного проекта Java, но я уверен, что кто-то использует его! Вероятно, по той же причине вы не видите много C/C++, вы просто не работаете в домене, где он высоко ценится. Я работаю во встроенных системах, где C и C++ являются вездесущими, а Python - нигде. Различные языки встречаются в разных экстентах в different worlds.

Вы спрашиваете, что вы можете делать с C/C++, что вы не можете сделать с Perl/Python; ну, ответа много, встраиваемых систем реального времени для одного; но если это не то, что вам нужно/нужно делать, тогда нет причин. С другой стороны, я мог бы спросить об обратном; Я бы использовал C++ для вещей, для которых вы могли бы использовать Python, просто потому, что для меня было бы проще и быстрее (чем изучать новый язык и работать с инструментами)

Смежные вопросы