@@ibraim3197 достаточно писать, следуя гайдлайнам. Можно хоть MISRA вспомнить, и если по каким-то причинам недостаточно, то прогонять статическим анализатором, или единожды, взяв free trial и после переписав нормально код, и не нужно ничего переписывать на язык Х. Никакие проблемы с тем же переполнением знаковых переменных язык Х не решает, а выдает код, который не делает то, что задумывалось; те самые блоки uns... слишком уж много где, и UB возникает из-за них, а не в них, и, следовательно, первое проявление UB может где угодно появиться, и не понятно, логическая ли это ошибка, или UB. В основном проблемы именно логические. Непонятно, что все это дает на фоне развивающихся плюсов с его развитием статического подхода (constexpr, концептов и тд) и наличием собственно, уже проверенного кода на нем