1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
1

С++ || C

10.11.2010, 17:20. Показов 2491. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Мой один друг создает игры на GameMaker и он решил перейти на более высоки язык. Я ему предложил С++, а он хочет просто С. Подскажите что лучше для разработки игр.
0
Формучанин
364 / 294 / 42
Регистрация: 02.11.2010
Сообщений: 1,242
10.11.2010, 20:41 2
Цитата Сообщение от doocee Посмотреть сообщение
Я ему предложил С++, а он хочет просто С.
не имеет особого значения. Си от си++ отличается отсутсвием классов и некоторых других вещей.
Но зато он более понятен чем си++
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
10.11.2010, 20:49 3
Цитата Сообщение от nxnx Посмотреть сообщение
Си от си++ отличается отсутсвием классов и некоторых других вещей.
Это неверно. Дьявол, как всегда, - в мелочах... в этих самых "некоторых других вещах".
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
10.11.2010, 20:56 4
nxnx, ну ни черта себе вы определили... Велосипед от вертолёта тогда тоже не отличается, так, пара мелочей...
0
2815 / 1406 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
10.11.2010, 21:02 5
Цитата Сообщение от nxnx Посмотреть сообщение
Но зато он более понятен чем си++
ООП парадигма как раз таки и является мощной вещью для написания игр. Без нее очень легко запутаться. Поэтому лучше C++.
0
Заблокирован
10.11.2010, 21:29 6
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
ООП парадигма как раз таки и является мощной вещью для написания игр. Без нее очень легко запутаться. Поэтому лучше C++.
в структурах и запутаться ??? не смешите
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
10.11.2010, 21:53 7
unStatiK, ну... если писать хелло ворлд - наверное и не запутаетесь... А если сколько-нибудь вменяемую игрушку - то легко...
0
Заблокирован
10.11.2010, 22:02 8
Цитата Сообщение от silent_1991 Посмотреть сообщение
unStatiK, ну... если писать хелло ворлд - наверное и не запутаетесь... А если сколько-нибудь вменяемую игрушку - то легко...
А вы что не знаете что такое архитектура и спеки ??? Если это есть об сложности понимания говорить бессмысленно
0
Evg
Эксперт CАвтор FAQ
21275 / 8292 / 637
Регистрация: 30.03.2009
Сообщений: 22,656
Записей в блоге: 30
10.11.2010, 23:11 9
Цитата Сообщение от doocee Посмотреть сообщение
Здравствуйте. Мой один друг создает игры на GameMaker и он решил перейти на более высоки язык. Я ему предложил С++, а он хочет просто С. Подскажите что лучше для разработки игр.
Смотря какие игры. Так или иначе при разработке игр придётся воспользоваться всякими специализированными библиотеками (графическими, возможно ещё какими-то). Желательно использовать те языки, под которые эти библиотеки существуют.

С технической точки зрения никакой ПРИНЦИПИАЛЬНОЙ разницы в выборе языка программирования нет. В первую очередь важно наличие мозга и чтобы руки росли из нужного места, а язык уже вторичен. Программировать надо на том языке, которым свободно владеешь (ну и, как говорилось выше, под который есть хороший выбор библиотек)

Добавлено через 1 минуту
Ещё. Если предполагается писать игру, которая будет работать на разных платформах, то для языка будет ограничение Си или Си++. Ну и при выборе библиотек надо будет смотреть, на каких платформах она поддерживается
1
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.11.2010, 18:02 10
unStatiK, Ага. И конечно же в Си вы сможете показать ЯВНУЮ связь этих структур, чтобы это было видно, не вникая в реализацию.
0
Заблокирован
11.11.2010, 18:47 11
Цитата Сообщение от ForEveR Посмотреть сообщение
unStatiK, Ага. И конечно же в Си вы сможете показать ЯВНУЮ связь этих структур, чтобы это было видно, не вникая в реализацию.
А чем С++ в этом лучше ??
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.11.2010, 19:54 12
unStatiK, Наследованием.
0
Заблокирован
11.11.2010, 19:58 13
Цитата Сообщение от ForEveR Посмотреть сообщение
unStatiK, Наследованием.
Объясни техническим языком , что такое "явная связь" и чем она лучше в С++ чем в Си (если вообще такое есть) . А наследование ни коим образом не может быть преимуществом в удобстве поддержки проекта
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.11.2010, 20:44 14
unStatiK, Не согласен.

Допустим у нас есть две структуры.

C
1
2
3
4
5
6
7
8
9
10
11
struct Base
{
    int first;
    int second;
};
 
struct Der
{
    Base* p;
    int t;
};
И есть два класса.

C++
1
2
3
4
5
6
7
8
9
10
11
12
class base
{
protected:
    int first;
    int second;
};
 
class Der:public Base
{
private:
   int t;
};
Где удобнее и понятнее не вникая в детали реализации общность? Кстати разделение интерфейса и реализации тоже довольно таки важное свойство для того, чтобы не запутаться.
0
Evg
Эксперт CАвтор FAQ
21275 / 8292 / 637
Регистрация: 30.03.2009
Сообщений: 22,656
Записей в блоге: 30
11.11.2010, 21:54 15
Цитата Сообщение от ForEveR Посмотреть сообщение
Где удобнее и понятнее не вникая в детали реализации общность?
Если не вникать, то непонятно нигде. Если вникать, то принципиальной разницы нет
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.11.2010, 22:06 16
Evg, А разделение интерфейса и реализации?
+ Отсутствие конструкторов/деструкторов

Т.е.

C
1
2
3
4
5
6
7
8
9
struct T
{
    int t;
};
 
void create(struct T* Ob, int d)
{
    Ob->t=d;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
class T
{
public:
    void create(int d);
private:
    int t;
};
 
void T::create(int d)
{
     t=d;
}
Мне лично много понятнее второй вариант.
0
Evg
Эксперт CАвтор FAQ
21275 / 8292 / 637
Регистрация: 30.03.2009
Сообщений: 22,656
Записей в блоге: 30
11.11.2010, 22:26 17
Цитата Сообщение от ForEveR Посмотреть сообщение
Evg, А разделение интерфейса и реализации?
Вот как-раз таки Си++ с этой точки зрения выглядит хуже. Потому что в интерфейсном файл ты обязан описывать всю закрытую часть. Не реализацию, но тем не менее. Вообще для разделения интерфейса и реализации давным давно придумали понятие модуля, но Си++ идёт как-то вразрез с этой концепцией

Цитата Сообщение от ForEveR Посмотреть сообщение
Мне лично много понятнее второй вариант.
А лично Васе Пупкину более понятнее вариант на бэйсике

К тому же подходить к программе с точки зрения "удобно писать" - это всё-таки удел начинающих. Те, кто долго и серьёзно занимается программированием, в том числе много внимания уделяют и аспекту "удобно читать". Код на Си гораздо проще читать, чем на Си++. При работе в команде это важный момент.

Язык надо выбирать из реальной необходимости, а не абстрактных высоких материй
2
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.11.2010, 22:42 18
Evg, Да, наверное, ты прав.
0
Evg
Эксперт CАвтор FAQ
21275 / 8292 / 637
Регистрация: 30.03.2009
Сообщений: 22,656
Записей в блоге: 30
11.11.2010, 22:45 19
В любом случае в таких вопросах универсального ответа нет. Всё зависит от того, что хотят реализовать, как собираются поддерживать, сколько народу, какой опыт в каких языках и т.п. Я так понимаю, что речь всё-таки идёт НЕ о коммерческом проекте, а о "для себя"
0
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
11.11.2010, 23:04  [ТС] 20
Evg. Мой друг похоже хочет работать с 3D графикой, быть программистом в компании.
0
11.11.2010, 23:04
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru