Мне нравится одна библиотека на Си, для работы с графикой. Я плохо знаю си, мне проще го, но и питон я не могу назвать плохим. В питоне мне не нравится скорее, его раздутость. Я хочу начать создавать игры и планирую сделать свой стек. Который мне нравится под мои игры.
Проблема в том что свою первую базовую игру, сложнее змейки. Я могу написать на трех языках. Для го и питона просто сделаю привязки. Да на си я буду кодить без выделения памяти. Уйдет больше времени и много других нюансов.
Го мне нравится , но у него есть странности. Большой проблемой го, а точнее CGO для меня. Компилирует простые вещи 5-9 секунд. Когда нужно что-то проверить или пока пишешь биндинг чувствуешь как время летит в пустоту. Проверять все таки стоит разные ситуации, реализации и прочее. Так же, по скольку игру чуть больше змейки я пишу впервые. Часто приходится что-то менять.
Питон не нравится то что он скриптовый, придется тащить с собой больше файлов. В целом это может быть и плюсом, первую игру я все равно хочу сделать с открытым кодом. И не нравится его компилятор под виндовс. Нужно генерировать виндовские DLL, а не через MinGW. Что бывает проблематично, для меня.
Первая игра будет простой. В ней не нужны потоки и прочие сложности. В будущем кажется от питона придется отказаться. Другое дело, то что Си компилируется быстро. Го очень медленно (для меня в контексте, заменить один символ или строчку). Питон может быть рабочим прототипом.
Уже если честно каша в голове.
Прототип на питоне?
Хардкодить на си?
Пытаться сразу делать результат на го?
Роман Мирр, Последняя. У меня немного слабая машина. Точнее ноут, летом я в основном за ним. Да и не только. 5-9 секунд если выключить защиту в реальном времени. Виндовс. Проблема есть на GitHub подобная, не решена.
Роман Мирр, 1. Не важно сколько строк кода, проблема возникает при использование CGO. Например если вносить правки в сам биндинг, который является библиотекой. То минимум 9 сек. Если его не трогать, у него будет кэш. То при любом вызове функции из библиотеки. Даже с 1 строчкой. Будет минимум 5 секунд. Кол-во кода пока не влияет. 500 строк или одна. Разница в доли секунд.
2. SSD
3. С вкл. еще дольше.
Если вы думаете что Си компилируется быстрее то вы глубоко заблуждаетесь, как только у вас появится десяток хедеров, вы почуствуете что у вас появилось много свободного времени.
Перекомпилировать программу после каждого символа, это тупиковый путь, если собираетесь часто мень какой-то параметр, то читайте его из файла.
Большинство игровых движков используют скриптовые языки для описания сцен в игре, поэтому нет проблемы сделать ядро на си, и обертки на питоне. Но потом имеет смысл смотреть какие-то более взрослые варианты.