Задать вопрос
  • Имеет ли жизнеспособность идея нового игрового движка на Python?

    @Samidara
    xottsy, не к унижению, а к объективной критике.

    Это профессиональный подход и это нормально в it.

    На работе (по крайней мере у меня) все точно так же: если я вижу в репозитории
    spoiler
    говнокод
    спорные решения - то тут же зову в созвон того человека, который это написал и ТРЕБУЮ аргументировать свои решения. Если все аргументы у него сводятся к тому что "ну хз, кто-то другой так делал, а я за ними повторяю, работает же" - то этот чувак идет свой говнокод переделывать.

    Аргументированная дискуссия - это НОРМА в команде разработки.

    "вы токсики", "другие же так делают" и "оно же работает" - это НЕ аргументы. Если ты оперируешь такими "аргументами" - то сразу теряешь авторитет среди коллег.

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

    И ... да, спорных решений и некомпетентных людей на высоких должностях в it намного больше чем ты можешь себе представить. Мёртвых языков и фреймворков, не прошедших пооверку временем тоже полным полно.
    Написано
  • Имеет ли жизнеспособность идея нового игрового движка на Python?

    @Samidara
    xottsy, У си(не ++) тоже очень простой синтаксис. Brainf#ck вообще состоит всего из десятка ключевых слов (операторов).

    Объем кода и количество синтаксических инструментов ≠ уровень когнитивной сложности/простоты.

    Питон не простой, он бедный.

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

    А количество строк кода, необходимое для написания hello world на конкретном языке вообще никакого отношения не имеет к сложности разработки реальных проектов на этом же языке.

    C++ может и вдохновил другие языки, но ни один из них не является языком скриптинга c++ библиотек. У тех же c# и java 99% библиотек написаны именно что на c# и java, за исключением разве что самих рантаймов. Очень редко они оборачивают под собой c++ dll и то чаще всего это какие то api операционной системы.

    Если вернуться к изначальному вопросу: я пробовал сделать 3д движок с нуля на direct3d. Просто поверь на слово - это сложно, нужно очень хорошо понимать как работает память и т.д. Если у тебя возникают проблемы выучить принципы работы стека/кучи/указателей и соблюдать явную типизацию, то ни о каком движке с нуля вообще не может быть речи.

    Даже чтобы просто сделать простую локацию с летающей камерой нужно знать как минимум основы hlsl и несколько разделов высшей математики (векторная и матричная алгебра как минимум).

    Освоить все это, не освоив какой-нибудь нормальный язык программирования - это все равно что поднять штангу 100кг, но не поднять 20кг...

    И даже если ты все это сделаешь на чистом питоне - это будет самый бессмысленный движок, потому что накладные расходы на интерпретацию тупо задушат конвейер рендеринга.
    Написано
  • Имеет ли жизнеспособность идея нового игрового движка на Python?

    @Samidara
    xottsy, и кстати, практически все крупные библиотеки для питона (тот же Pygame) являются тупо оберткой над кодом c++

    Так что, говорить что эта игра написана на питоне - все равно что сказать "хабр написан на html "
    Отчасти верно, но не совсем.

    В таком варианте, если рассматривать питон как альтернативу cmake и использовать в комбинации с c/c++ - то вариант вполне рабочий. Но как самостоятельный язык - он не выдерживает никакой критики.
    Написано
  • Имеет ли жизнеспособность идея нового игрового движка на Python?

    @Samidara
    Раздражает не само существование языка, а его комьюнити, которое пропагандирует его как что-то "особенное" и пытается протолкнуть туда, где ему не место - в разработку крупных проектов.

    Развитие языков и прочих инструментов программирования обычно сводится к двум показателям: производительность и удобство для разработчика.

    Я могу закрыть глаза на проблемы с удобством, если язык (инструмент) позволяет добиться максимальной производительности и я могу понять проблемы с производительностью если язык при этом даёт максимальное удобства для разработки.

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

    Даже в c++ коде с его указателями на указатель проще разобраться чем в спагетти на питоне, благодаря явной типизации.

    ps
    То что ребята A пишут бэк на питоне или игра B была написана на питоне, это вообще не аргумент. Каким образом язык становится лучше просто от того, что кто-то другой его использует?

    Оперировать такими "аргументами" - это непрофессионально.
    Написано