На работе (по крайней мере у меня) все точно так же: если я вижу в репозитории
spoiler
говнокод
спорные решения - то тут же зову в созвон того человека, который это написал и ТРЕБУЮ аргументировать свои решения. Если все аргументы у него сводятся к тому что "ну хз, кто-то другой так делал, а я за ними повторяю, работает же" - то этот чувак идет свой говнокод переделывать.
Аргументированная дискуссия - это НОРМА в команде разработки.
"вы токсики", "другие же так делают" и "оно же работает" - это НЕ аргументы. Если ты оперируешь такими "аргументами" - то сразу теряешь авторитет среди коллег.
Ты ведь сам же дискуссию тут инициировал, так то. А теперь жалуешься что тебе отвечают не тем, что ты хотел услышать...
И ... да, спорных решений и некомпетентных людей на высоких должностях в it намного больше чем ты можешь себе представить. Мёртвых языков и фреймворков, не прошедших пооверку временем тоже полным полно.
xottsy, У си(не ++) тоже очень простой синтаксис. Brainf#ck вообще состоит всего из десятка ключевых слов (операторов).
Объем кода и количество синтаксических инструментов ≠ уровень когнитивной сложности/простоты.
Питон не простой, он бедный.
В больших проектах сложность зависит не столько от языка, сколько от фреймворка и архитектуры, а основа хорошей архитектуры - это прежде всего явная типизация. Именно явная типизация обеспечивает прозрачный флоу-трейс и позволяет контролировать контракты между разными слоями абстракций и держать под контролем все ветвления.
А количество строк кода, необходимое для написания hello world на конкретном языке вообще никакого отношения не имеет к сложности разработки реальных проектов на этом же языке.
C++ может и вдохновил другие языки, но ни один из них не является языком скриптинга c++ библиотек. У тех же c# и java 99% библиотек написаны именно что на c# и java, за исключением разве что самих рантаймов. Очень редко они оборачивают под собой c++ dll и то чаще всего это какие то api операционной системы.
Если вернуться к изначальному вопросу: я пробовал сделать 3д движок с нуля на direct3d. Просто поверь на слово - это сложно, нужно очень хорошо понимать как работает память и т.д. Если у тебя возникают проблемы выучить принципы работы стека/кучи/указателей и соблюдать явную типизацию, то ни о каком движке с нуля вообще не может быть речи.
Даже чтобы просто сделать простую локацию с летающей камерой нужно знать как минимум основы hlsl и несколько разделов высшей математики (векторная и матричная алгебра как минимум).
Освоить все это, не освоив какой-нибудь нормальный язык программирования - это все равно что поднять штангу 100кг, но не поднять 20кг...
И даже если ты все это сделаешь на чистом питоне - это будет самый бессмысленный движок, потому что накладные расходы на интерпретацию тупо задушат конвейер рендеринга.
xottsy, и кстати, практически все крупные библиотеки для питона (тот же Pygame) являются тупо оберткой над кодом c++
Так что, говорить что эта игра написана на питоне - все равно что сказать "хабр написан на html "
Отчасти верно, но не совсем.
В таком варианте, если рассматривать питон как альтернативу cmake и использовать в комбинации с c/c++ - то вариант вполне рабочий. Но как самостоятельный язык - он не выдерживает никакой критики.
Раздражает не само существование языка, а его комьюнити, которое пропагандирует его как что-то "особенное" и пытается протолкнуть туда, где ему не место - в разработку крупных проектов.
Развитие языков и прочих инструментов программирования обычно сводится к двум показателям: производительность и удобство для разработчика.
Я могу закрыть глаза на проблемы с удобством, если язык (инструмент) позволяет добиться максимальной производительности и я могу понять проблемы с производительностью если язык при этом даёт максимальное удобства для разработки.
Питону удалось совместить в себе обе эти черты: он одновременно самый один из самых медленных языков и при этом крайне неудобный.
Даже в c++ коде с его указателями на указатель проще разобраться чем в спагетти на питоне, благодаря явной типизации.
ps
То что ребята A пишут бэк на питоне или игра B была написана на питоне, это вообще не аргумент. Каким образом язык становится лучше просто от того, что кто-то другой его использует?
Оперировать такими "аргументами" - это непрофессионально.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Это профессиональный подход и это нормально в it.
На работе (по крайней мере у меня) все точно так же: если я вижу в репозитории
Аргументированная дискуссия - это НОРМА в команде разработки.
"вы токсики", "другие же так делают" и "оно же работает" - это НЕ аргументы. Если ты оперируешь такими "аргументами" - то сразу теряешь авторитет среди коллег.
Ты ведь сам же дискуссию тут инициировал, так то. А теперь жалуешься что тебе отвечают не тем, что ты хотел услышать...
И ... да, спорных решений и некомпетентных людей на высоких должностях в it намного больше чем ты можешь себе представить. Мёртвых языков и фреймворков, не прошедших пооверку временем тоже полным полно.