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