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

StackOverflow https://stackoverflow.com/questions/537595

  •  22-08-2019
  •  | 
  •  

Вопрос

Как и большинство людей, я выучил C ++ после C.Я выучил C ++, потому что это был один из тех языков, которые позволяли выполнять задания.Тем не менее, я все еще учусь (поступаю в магистратуру).Один из моих двоюродных братьев работает разработчиком около 12 лет.

Он советует мне выучить Java, чтобы я мог устроиться на хорошую работу.Он говорит, что лишь немногие отрасли, такие как телекоммуникации, используют C ++, и почти все корпоративное программное обеспечение разработано на Java.Я работаю студентом-техником в своем университете.Работа связана с программированием Windows на C ++.Я выучил core Java.Я не знаю ни одного из этих Распорки, Впадать в спящий режим или что бы там ни было снаружи.

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

Что вы, гики и профессионалы, там советуете мне?Как ты думаешь, я должен выучить их оба?Какие отрасли индустрии программного обеспечения используют C ++?

Это было полезно?

Решение

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

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

Другие советы

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

Краткий список проектов, которые используют C ++, который не укладывается у меня в голове:

  • Разработка драйвера устройства
  • Игры
  • Продвинутые движки (аудио, обработка изображений и т.д.)
  • Телекоммуникации
  • Встроенное программное обеспечение (устройства и тому подобное)

C ++ даже близко не близок к тому, чтобы быть мертвым.

Мой опыт:

Bloomberg, Reuters и все их банковские / торговые клиенты, которым нужны каналы рыночных данных с низкой задержкой, используют C ++.(Fidelity, JPMorgan, BNP, Citibank и др.)

Оборонная промышленность использует C++.(среди других языков - Java также популярен)

Эти отрасли также используют java и другие языки, но C ++ трудно превзойти.Обратите также внимание, что существует ОГРОМНАЯ существующая база кода C ++, на устранение которой уйдет много времени (если вообще уйдет).

Узнать и использовать их оба нетрудно.Не беспокойтесь слишком сильно о конкретном языке.Это не настоящая суть разработки программного обеспечения.

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

Однако, если эта паутинная штуковина взлетит, у них будут настоящие неприятности.(-:

Серьезно, если не считать текущей смены канала (возврата?) на C и Perl, все предыдущие четыре проекта были на C ++.

  1. крупномасштабная система контроля вылета для нескольких крупнейших авиакомпаний мира (30 000 файлов журнала размером 10 МБ в день)
  2. летный тренажер и наземная платформа для проверки программного обеспечения для нового военного самолета
  3. крупномасштабная платформа для существующего симулятора управления воздушным движением, которая использовалась для включения новой сети авиационной электросвязи (ATN)
  4. усовершенствованная система радиолокационной обработки и отображения данных для центра управления воздушным движением на маршруте

Все действительно интересно.

Видеоигры по-прежнему используют C ++.Один из примеров, который приходит на ум, - это Torque engine, который можно использовать для разработки игр для iphone и xbox.

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

  • C - Императивное программирование
  • C ++/Java/Obj-C - ООП
  • Lisp/Haskell/Scheme - Функциональное программирование

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

Многие оборонные подрядчики, особенно когда имеют дело с оборудованием, используют C ++

Многие производители передового медицинского оборудования (например, магнитно-резонансной томографии) используют C++.

Я говорю, научись и тому, и другому, если сможешь.Хорошо иметь C ++ foundation, даже если вы в конечном итоге работаете на изолированном языке, таком как C ++ / C #.Слишком много людей не понимают основ.

Обратите внимание, что в разных городах большинство вакансий на определенном языке.Зайдите на доски объявлений о вакансиях craigslist в городе, в котором, по вашему мнению, вы бы оказались, и посмотрите, что они ищут.Например, Питтсбург - город на C #, в то время как Нью-Йорк более сбалансирован.

C ++ по-прежнему широко используется в инженерных приложениях, таких как высокопроизводительные CAD / CAM-системы.

Я думаю, что смерть машинный код это сильно преувеличено.Даже Microsoft отказалась от создания C ++ all about .NET в Visual Studio 2008.Похоже, он снова активно совершенствует свои собственные инструменты разработки на C ++, а также упрощает взаимодействие с управляемым миром.

Мой совет, изучайте C #.В эти дни почти 50% объявлений о вакансиях составляли Java, а почти остальные 50% - C #, было лишь несколько объявлений о C ++.

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

Если вы все-таки решите устроиться на работу на C ++, убедитесь, что магазин эффективно использует STL и что они используют Boost.Не рассматривая использование Boost / STL, но фактически используя его.

Ключевые слова:Банковское дело (финансовые учреждения), игры

О, а также физики элементарных частиц и другие ученые, использующие (в) известном КОРЕНЬ рамки.

И проверить этот список приложений на базе C++.

У Бьярне Страуструпа есть список компании / приложения написан на C ++.

В вашем университете не было никаких курсов на основе Java?Это странно!!

Вы должны изучать не только C ++ и Java, но и познакомиться с несколькими языками и парадигмами

Я склонен согласиться с вашим кузеном.Java определенно используется в большем количестве корпоративных приложений (подумайте о том, что могло бы понадобиться банку или страховой компании), в то время как C ++ используется на более "нишевых" рынках.Я также согласен с вами в том, что Java легче изучать и осваивать, чем C ++.Никакого стыда или обиды в том, чтобы признать это.

Мы используем и то, и другое там, где я работаю, пишем встроенное программное обеспечение на C ++, но общаемся с ним из приложений с графическим интерфейсом, написанных на Java.В индустрии программного обеспечения определенно достаточно места для обоих (и многих других) языков.

Большинство упакованных программ по-прежнему написаны на C ++.Это означает игры, офисные приложения, графические и видеоредакторы, а также операционные системы.На самом деле, если вы подумаете о программном обеспечении, которым пользуетесь каждый день, которое не подключено к Сети, скорее всего, оно написано на C ++ (или C или objective-C).Это не написано на Java, Python, Ruby, Perl и т.д.Хотя пакетированное программное обеспечение становится все менее распространенным, оно по-прежнему широко используется и не исчезнет в ближайшее время.

Операционные системы, будь то встроенные или для настольных компьютеров, почти исключительно написаны на каком-либо языке Си.Предпринимались попытки написать их на Java или C #, но ни одна из них не увенчалась успехом.Все ваши драйверы также написаны на каком-либо варианте языка Си.Я не думаю, что это изменится в ближайшее время.

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

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

Я долгое время писал на C ++ в основном для внутренних и внешних настольных приложений в производственных и телекоммуникационных компаниях и работал полный рабочий день с Java только около 1 года из 16.

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

Я не могу говорить о его использовании в серверных системах, но я видел там больше, чем на C ++, так что это зависит от того, о каком виде программирования вы говорите (напримерпользователь сталкивается свнутренние системы).

Что ж, я предлагаю выучить больше, чем пару языков.Я работаю в индустрии коммуникаций, и да, мы используем C ++, однако многие проекты, над которыми мы работаем, также написаны на Java.

Я предлагаю вам научиться:

1) C ++ / C 2) Java 3) Erlang или Haskel 4) Ruby

Это поможет вам понять понятия, которые существуют в одном языке, но отсутствуют в другом.Также помогает повысить товарный вид.

Взгляните на индекс программирования tiobe и вы почувствуете, что языки находятся на подъеме.

C ++ широко используется во встраиваемых системах.Он используется при разработке пользовательского интерфейса.Например.знаменитый фреймворк QT написан на C ++.

В конечном счете это зависит от того, что вы хотите сделать.Если вы хотите работать во встраиваемых системах, лучше изучайте C / C ++.

Я регулярно использую C и C ++ на своей работе, где я работаю со встроенными устройствами.Здесь мы тоже не говорим о вещах сверхнизкого уровня.Я занимаюсь средним уровнем и пользовательским интерфейсом.Подумайте о Qt, Gtk +, Windows Mobile SDK и т.д.

C ++ активно используется разработчиками.Подумайте о Microsoft, Adobe, Oracle, Sun, Symantec...

Игровая индустрия выглядит так, как будто идет с C++ навсегда.

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

Что касается вопроса "Чему я должен научиться". Это довольно открытый вопрос, вы хотите узнать как можно больше.Так что да, вы должны изучить их оба.Как уже говорили несколько человек, C # тоже хорош.Вам также следует изучить Python, Ruby или PHP и некоторые веб-фреймворки (Rails, Symfony, Django, ASP.Net).Веб-приложения в наши дни довольно велики.

Если ваш пузырь состоит только из C ++, вы не будете очень востребованы на рынке.

Редактировать: Упс, я думаю, игр упоминалось гораздо больше, чем я изначально увидел здесь.Моя вина.

За свою карьеру я разработал C ++ для:

  • Серверные приложения (индустрия ценных бумаг)
  • Встроенное программное обеспечение (беспроводные телекоммуникации)
  • Настольное прикладное программное обеспечение (беспроводные телекоммуникации)

Я также видел много рекламы для разработчиков C ++ в оборонной промышленности.Там есть работа для разработчиков C ++, не так много, как было в прошлом, но все еще много работы.

Хотя я говорю, что изучение Java не повредило бы, это хороший навык, который нужно иметь за плечами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top