@lord125
Ничего не умеющий человек.

Что лучше выбрать, C или C++?

Добрый день.
Недавно начал учить C++ и внезапно наткнулся на статью, в которой расписываются плюсы C в сравнении с ранее упомянутом языком. Основным минусом C++ приводилась очень высокая сложность языка, вследствие чего его изучение может растянутся на многие-многие годы. Автор статьи так же рекомендовал Jav'у, т. к. она лучше справляется с теми же задачами, что и плюсы, хоть и в ущерб производительности. В итоге меня начали терзать смутные сомнения, и назрели несколько вопросов:
1) Какой язык лучше выбрать для разработки игр, C или C++?
2) Легко ли перейти с C на C++ и наоборот, в случае необходимости?
3) Если C++ лучше не выбирать, то стоит ли учить вместо него Jav'у?
  • Вопрос задан
  • 16729 просмотров
Решения вопроса 2
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
Автор статьи так же рекомендовал Jav'у, т. к. она лучше справляется с теми же задачами

Что такое Jav? Если речь про Java, то не слушайте автора, C++ и Java - это разные языки для разных задач, да можно решить практически любую задачу на практически любом языке, но везде будут свои минусы и плюсы. Если писать игровой движок, то лучше C++ из-за производительности.
1) Какой язык лучше выбрать для разработки игр, C или C++?

Лучше выбрать движок типа Unity, ureal engine, etc. Если писать игровую логику, то очевидно лучше C++, чем C(а ещё лучше что-то более высокоуровневое), если писать сам движок, то я бы выбрал C++, т.к. в C++ больше готового, тот же STL и есть классы.
2) Легко ли перейти с C на C++ и наоборот, в случае необходимости?

Можно конечно, но лучше сразу учить то, что надо.
3) Если C++ лучше не выбирать, то стоит ли учить вместо него Jav'у?

А какая цель? Написать игру или движок? Если игру, то учить нужно готовый движок типа UE(Blueprints|C++), Unity(C#), если движок, то C++. А Java немного для других задач.
Основным минусом C++ приводилась очень высокая сложность языка

Основная сложность языка в возможности выстрелить себе в ногу и в обратной совместимости(в C++ очень редко что-то выпиливают из языка), поэтому нужно просто чуть больше времени на изучение, чем с другими языками и чуть больше практики, чтоб не выстрелить себе в ногу.
Ответ написан
vt4a2h
@vt4a2h
Senior software engineer (C++/Qt/boost)
1) Какой язык лучше выбрать для разработки игр, C или C++?

C++

2) Легко ли перейти с C на C++ и наоборот, в случае необходимости?

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

3) Если C++ лучше не выбирать, то стоит ли учить вместо него Java?

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

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

С какими задачами? Если рассматривать написание простых учебных программ и реализацию базовых алгоритмов, то тут язык не так-то уж и важен.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Справедливости ради, на Java есть игровые движки, например, libgdx. Но это скорее тот случай, когда прям пригорает сделать игру, знаешь Java, а учить новый язык нет времени и желания. Специально под один только libgdx учить джаву смысла нет.

Имеет смысл учить готовый движок или хотя бы библиотеку, чтобы не потратить пару лет жизни и получить в итоге бледное подобие гульмена. Игры это в первую очередь контент — геймплей, история, левел-дизайн, а не движок; времена технологических прорывов типа Wolfenstein 3d → Doom → Quake и гениев-одиночек прошли. Даже если у вас какой-то совершенно революционный геймплей, все равно лучше взять либу, которая упрощает вывод на экран, работу со звуком, загрузку ассетов и прочее (OpenGL довольно низкоуровневая вещь).
Ответ написан
Комментировать
TheTalion
@TheTalion
1. смотря какой инструмент использовать.
2. да.
3. нет
Ответ написан
shindakioku
@shindakioku
Не сайтоклепатор
1. Игры на C? Не плохо
2. Многие разработчики на С++ пишут и на С (скорее всего, действует и обратное). С++ - практически С, но с ООП и кучей дерьма. (Не хочу холиварить, простите)
3. Однозначно нет
Ответ написан
@sta-ger
Game Developer
Думаю, учить стоит С++, а С уже как-то само собой если будет надо выучится.
Ответ написан
Комментировать
@red-barbarian
Деление скорее нужно не по с++ или с, а парадигмам программирования ООП или процедурное . Это и есть сложнный момент в переучивании.
По синтаксису с++ это просто улучшенный язык
С.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы