Прежде всего, я хотел бы получить реальный ответ, я всегда пытаюсь получить больше из различных источников и статей, и когда я читаю такие вещи, как C ++, медленный, потому что он имеет виртуальные функции, и из-за этого C лучше , я действительно не знаю, что сказать и думать как человек с мозгом. Поэтому, пожалуйста, избегайте достижения этого уровня в своих ответах.
Мой вопрос о массовом переходе на C ++, который был более или менее завершен с Doom 3.
Для меня интересно то, что до этого рубежа большинство игровых движков и сами игры были написаны на C, как это было со времен Quake . Также интересно отметить, что программное обеспечение ID решает полностью переписать кодовую базу для IdTech 4 в C ++, огромный объем работы, который, честно говоря, я не могу понять без действительно хорошего списка причин.
Я сосредоточен на Doom 3, потому что я в основном заинтересован в мире OpenGL и в своем путешествии я стараюсь сосредоточиться на этой теме, поэтому я много читал об этом, но я думаю, что такой вопрос может быть render-API -агностика без особых проблем.
Почему в определенный момент индустрия массово переключилась на C ++? Каковы причины выбора, который сделал ID?
Последнее, что я хотел бы сказать, - это то, что язык C намного проще в реализации и обеспечивает меньшее количество функций, потому что у него гораздо меньше шансов быть «фрагментированным» по частям, в отличие от того, что C ++ действительно часто делает. Проще говоря, у меня гораздо больше шансов найти действительно хороший компилятор C, а не хороший компилятор C ++ со всеми хорошо реализованными функциями.
Например, NDK для Android до сих пор не имеет хорошей поддержки C ++ (с выпуском r8b) со всеми последними и лучшими функциями, и это родной набор инструментов для самой популярной мобильной ОС в мире!
Если бы я написал свой код на современном C ++, мне, наверное, сейчас было бы больно, потому что одна из самых популярных ОС в мире была бы для меня запрещенной. И, как и Android, многие другие компиляторы не так хороши.
Я должен написать код C ++, ссылаясь на версию C ++, которая 2-3 лет выпуска?