Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Vlad_IT
1439 / 345 / 16
Регистрация: 03.04.2010
Сообщений: 2,095
#1

С++ || C - C++

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

Здравствуйте. Мой один друг создает игры на GameMaker и он решил перейти на более высоки язык. Я ему предложил С++, а он хочет просто С. Подскажите что лучше для разработки игр.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
10.11.2010, 20:41     С++ || C #2
Цитата Сообщение от doocee Посмотреть сообщение
Я ему предложил С++, а он хочет просто С.
не имеет особого значения. Си от си++ отличается отсутсвием классов и некоторых других вещей.
Но зато он более понятен чем си++
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,353
10.11.2010, 20:49     С++ || C #3
Цитата Сообщение от nxnx Посмотреть сообщение
Си от си++ отличается отсутсвием классов и некоторых других вещей.
Это неверно. Дьявол, как всегда, - в мелочах... в этих самых "некоторых других вещах".
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
10.11.2010, 20:56     С++ || C #4
nxnx, ну ни черта себе вы определили... Велосипед от вертолёта тогда тоже не отличается, так, пара мелочей...
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
10.11.2010, 21:02     С++ || C #5
Цитата Сообщение от nxnx Посмотреть сообщение
Но зато он более понятен чем си++
ООП парадигма как раз таки и является мощной вещью для написания игр. Без нее очень легко запутаться. Поэтому лучше C++.
unStatiK
Заблокирован
10.11.2010, 21:29     С++ || C #6
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
ООП парадигма как раз таки и является мощной вещью для написания игр. Без нее очень легко запутаться. Поэтому лучше C++.
в структурах и запутаться ??? не смешите
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
10.11.2010, 21:53     С++ || C #7
unStatiK, ну... если писать хелло ворлд - наверное и не запутаетесь... А если сколько-нибудь вменяемую игрушку - то легко...
unStatiK
Заблокирован
10.11.2010, 22:02     С++ || C #8
Цитата Сообщение от silent_1991 Посмотреть сообщение
unStatiK, ну... если писать хелло ворлд - наверное и не запутаетесь... А если сколько-нибудь вменяемую игрушку - то легко...
А вы что не знаете что такое архитектура и спеки ??? Если это есть об сложности понимания говорить бессмысленно
Evg
Эксперт CАвтор FAQ
17463 / 5701 / 361
Регистрация: 30.03.2009
Сообщений: 15,648
Записей в блоге: 26
10.11.2010, 23:11     С++ || C #9
Цитата Сообщение от doocee Посмотреть сообщение
Здравствуйте. Мой один друг создает игры на GameMaker и он решил перейти на более высоки язык. Я ему предложил С++, а он хочет просто С. Подскажите что лучше для разработки игр.
Смотря какие игры. Так или иначе при разработке игр придётся воспользоваться всякими специализированными библиотеками (графическими, возможно ещё какими-то). Желательно использовать те языки, под которые эти библиотеки существуют.

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

Добавлено через 1 минуту
Ещё. Если предполагается писать игру, которая будет работать на разных платформах, то для языка будет ограничение Си или Си++. Ну и при выборе библиотек надо будет смотреть, на каких платформах она поддерживается
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
11.11.2010, 18:02     С++ || C #10
unStatiK, Ага. И конечно же в Си вы сможете показать ЯВНУЮ связь этих структур, чтобы это было видно, не вникая в реализацию.
unStatiK
Заблокирован
11.11.2010, 18:47     С++ || C #11
Цитата Сообщение от ForEveR Посмотреть сообщение
unStatiK, Ага. И конечно же в Си вы сможете показать ЯВНУЮ связь этих структур, чтобы это было видно, не вникая в реализацию.
А чем С++ в этом лучше ??
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
11.11.2010, 19:54     С++ || C #12
unStatiK, Наследованием.
unStatiK
Заблокирован
11.11.2010, 19:58     С++ || C #13
Цитата Сообщение от ForEveR Посмотреть сообщение
unStatiK, Наследованием.
Объясни техническим языком , что такое "явная связь" и чем она лучше в С++ чем в Си (если вообще такое есть) . А наследование ни коим образом не может быть преимуществом в удобстве поддержки проекта
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
11.11.2010, 20:44     С++ || C #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;
};
Где удобнее и понятнее не вникая в детали реализации общность? Кстати разделение интерфейса и реализации тоже довольно таки важное свойство для того, чтобы не запутаться.
Evg
Эксперт CАвтор FAQ
17463 / 5701 / 361
Регистрация: 30.03.2009
Сообщений: 15,648
Записей в блоге: 26
11.11.2010, 21:54     С++ || C #15
Цитата Сообщение от ForEveR Посмотреть сообщение
Где удобнее и понятнее не вникая в детали реализации общность?
Если не вникать, то непонятно нигде. Если вникать, то принципиальной разницы нет
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
11.11.2010, 22:06     С++ || C #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;
}
Мне лично много понятнее второй вариант.
Evg
Эксперт CАвтор FAQ
17463 / 5701 / 361
Регистрация: 30.03.2009
Сообщений: 15,648
Записей в блоге: 26
11.11.2010, 22:26     С++ || C #17
Цитата Сообщение от ForEveR Посмотреть сообщение
Evg, А разделение интерфейса и реализации?
Вот как-раз таки Си++ с этой точки зрения выглядит хуже. Потому что в интерфейсном файл ты обязан описывать всю закрытую часть. Не реализацию, но тем не менее. Вообще для разделения интерфейса и реализации давным давно придумали понятие модуля, но Си++ идёт как-то вразрез с этой концепцией

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

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

Язык надо выбирать из реальной необходимости, а не абстрактных высоких материй
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
11.11.2010, 22:42     С++ || C #18
Evg, Да, наверное, ты прав.
Evg
Эксперт CАвтор FAQ
17463 / 5701 / 361
Регистрация: 30.03.2009
Сообщений: 15,648
Записей в блоге: 26
11.11.2010, 22:45     С++ || C #19
В любом случае в таких вопросах универсального ответа нет. Всё зависит от того, что хотят реализовать, как собираются поддерживать, сколько народу, какой опыт в каких языках и т.п. Я так понимаю, что речь всё-таки идёт НЕ о коммерческом проекте, а о "для себя"
Vlad_IT
1439 / 345 / 16
Регистрация: 03.04.2010
Сообщений: 2,095
11.11.2010, 23:04  [ТС]     С++ || C #20
Evg. Мой друг похоже хочет работать с 3D графикой, быть программистом в компании.
Yandex
Объявления
11.11.2010, 23:04     С++ || C
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru