Войти
ПрограммированиеФорумОбщее

Движок на Си (6 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 15 6 7 818 Следующая »
#75
8:22, 11 июня 2019

war_zes
> ну вот например из yquake2
Отлично! А теперь давай еще макросов! Не думаю, что ты их еще найдешь в quake(буквально это не воспринимать).

Эти макросы есть везде, в любой графической библиотеке, они понятны, они логичны, понятно почему эти конструкции были выделены в макросы.


#76
8:32, 11 июня 2019

mr.DIMAS
> Если человек пишет код как умственно отсталый, то он так будет писать на любом
Да, но хороший код на плохом языке тоже не написать.
Си слишком ограничен, из-за чего вся эта макросная магия и длиннющие имена функций. Которая в нормальных ЯП считается говнокодом.

Я еще понимаю людей пишущих на orthodox c++... но зачем писать на Си?

#77
8:36, 11 июня 2019

war_zes
> Да, но хороший код на плохом языке тоже не написать.
C - в этом смысле лучший из компиляторов. Только не надо в него тащить необходимую C++ обфускацию.

war_zes
> о зачем писать на Си?
Быстрее и удобнее. C++ перегружен вещами, которые программист должен оформить для удобства компилятора. (Тот же void, например... Если это не имеет значения для программы, зачем программисту об этом думать?)

#78
8:38, 11 июня 2019

Плохой по каким критериям? Вот только есть подозрения что эти критерии сейчас будут высосаны из пальца, а не из реального опыта.

#79
10:38, 11 июня 2019

Круто, поставил звёздочку.
Правда я не особо понял, зачем добровольно отказываться от фич C++ и писать на Си? Благодаря инлайну с шаблонами у C++ производительность может быть даже выше.

mr.DIMAS
> После того как там показал движок, мне 24 звездочки прилетело в гитхабе, так
> что видимо не насрать.
Это только с того треда на gamedev.net? А то я там особой дискуссии не увидел, всего 5 постов.
Видимо надо мне тоже свою Intra на англоязычных форумах продвигать. Только надо сначала её на английский перевести: комментарии, вывод демо-примеров и нормальный ReadMe написать.

#80
(Правка: 10:58) 10:48, 11 июня 2019

gammaker
Как я могу отказываться от фич C++ если пишу на совершенно другом языке :) ?

gammaker
> Это только с того треда на gamedev.net? А то я там особой дискуссии не увидел,
> всего 5 постов.
> Видимо надо мне тоже свою Intra на англоязычных форумах продвигать. Только надо
> сначала её на английский перевести: комментарии, вывод демо-примеров и
> нормальный ReadMe написать.
Да, с одного треда за несколько дней всего. Естественно что лучше продвигать свои творения глобально, а не только на закостенелое СНГ.

#81
11:44, 11 июня 2019

mr.DIMAS
> Плохой по каким критериям?
по читаемости.
Я просматриваю много опенсурсных проектов. код на Си читается сложнее чем код на С++ (именно чужой, когда ничего о нем не знаешь).

Все потому что код на Си так или иначе сбивается в неструктурированную кучу. В нем нет решений для группировки кода по его логике кроме разделения по файлам - но никто не будет под каждые 2-3 функции создавать свой файл.
Тогда как в С++ есть много решений для группировки кода. Сгруппированный код всегда читается проще... Да даже выражение "расставить всё по полочкам" как бы на это намекает.

Из-за этой неструктурированности очень сложно понять к чему относится та или иная функция и с какими функциями взаимодействует та или иная структура.
В твоем движке ты это пытаешься решить очень длинными именами функций. В С++ такие названия избыточны, так как там нет таких проблем. А в Си - приходиться.

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

Глобальные переменные и флаги. Это конечно решаемо на Си, но почему-то всем пофиг - из-за чего в коде со всех сторон торчат эти самые глобальные переменные, добивая всю читаемость.

#82
(Правка: 11:58) 11:56, 11 июня 2019

war_zes
> Тогда как в С++ есть много решений для группировки кода.
К сожалению, они весят больше самого кода. Плюс, на Форуме я выяснил, что большинство программистов вообще не читает C++ код. Тупо заценивает картинку отступов, отмечая пару "главных" условий/циклов. Отсюда - постоянные проблемы с граничными условиями и, следовательно, стоны о недостаточно умных указателях и массивах...

war_zes
> В с++ им уже создали альтернативу и можно полностью от них отказаться.
И вместо решения задачи тратить время на соблюдение правил.

war_zes
> Из-за этой неструктурированности очень сложно понять к чему относится та или
> иная функция и с какими функциями взаимодействует та или иная структура.
Это от неумения программировать, а не от языка.

P.S. Самое же примечательное, что рассуждать о правильных C++ программах приходится чисто теоретически. В природе таковых не встречается. А если и удается получить на Форуме решение задачи, то с оговорками: "Говнокод, но вам и так сойдет".

#83
12:00, 11 июня 2019

mr.DIMAS
> Плохой по каким критериям?
Много ручной работы и необходимость дублировать функционал?

#84
12:03, 11 июня 2019

Zegalur
> Много ручной работы и необходимость дублировать функционал?
Ищутся недостатки C, а не C++.

#85
12:09, 11 июня 2019

Народ, по движку есть что сказать?

#86
(Правка: 12:10) 12:09, 11 июня 2019
gudleifr
> Ищутся недостатки C, а не C++.
В крестах тех самых недостатков чуть по-меньше будет.
Там есть шаблоны, auto, RAII, классы и прочие радости жизни.
#87
12:12, 11 июня 2019

mr.DIMAS
> Народ, по движку есть что сказать?
Если Вам что-то скажут про движок, не верьте. Всем насрать на чужие движки. Написать свой проще, чем найти полезное применение чужому.

#88
(Правка: 12:32) 12:31, 11 июня 2019

mr.DIMAS
> Народ, по движку есть что сказать?
лоу левелные движки вышли из моды еще десять лет назад. Даже более крупные собратья не получают адекватного фитбека. Плохо, но истина.


gudleifr
> К сожалению, они весят больше самого кода
ты код в байтах измеряешь?

#89
12:38, 11 июня 2019

war_zes
Zegalur
Нас просили перестать обсуждать крестопроблемы.

Страницы: 15 6 7 818 Следующая »
ПрограммированиеФорумОбщее