Q>На С++. Чтобы создать качественную симуляцию, надо разбираться в том, как организовать детект коллизий, солвер контактов и констрейнтов, вычислительно устойчивую интеграцию, etc. Можно ли его назвать неквалифицированным программистом? А между тем там не то что шаблонов, там даже RAII толком нет, голый Си с классами и прости господи сырыми указателями, плюс-минус использование std::vector'а какого-нибудь. Зато движок легко читать и понимать, и можно не приходя в сознание портировать на любой JavaScript.
Тут в треде не говорится о том, должен ли чего-то знать разраб кроме ЯП-а, или нет, конечно должен. Кучу всего. Вернее, уметь быстро изучать ту или иную предметную область, попав на проект, необходимую для текущего проекта, так как всё знать невозможно, а проекты могут быть самые разные, от REST сервисов до нейронки. И ЯП-ов он должен знать не один а с десяток. Тут речь о том, как именно писать на C++, чтоб это можно было назвать кодом на C++, а не на Си с классами, и это безотносительно каких-либо иных знаний и компетенций.