Цитата: дим от 16.11.2017 23:49:41Как человек невольно начавший этот спор о языках - прошу прекратить офтоп. Все же ветка о Су-57 а не о фы-35.
...
Разговор начался про "глюкавость" софта таких сложных изделий, как Ф-35 и Су-57. Эта тема общая.
Цитата: дим от 16.11.2017 23:49:41...
С++ отличный язык, особенно начиная с версии с++/11. Но.
...
Но! Именно, начиная с версии 11 и уже в 14-ой - он всё меньше мне нравится. Да, STL расширили и из boost-а многое перекочевало в Стандарт. но это касается, в основном, стандартных библиотек. Сам язык уже становится громоздким и плохо "перевариваемым". И чем дальше - тем больше "маячит на горизонте" судьба Ады. С одной стороны - строго типизированный язык, с возможностью "ловли блох" ещё на этапе компиляции и сборки, с другой стороны - сложность становится проблемой однозначности алгоритмизации. Сам язык уже позволяет неоднозначность и абстрагирование конструкций, которые должны (по идее) разрешаться на этапе компиляции и сборки. Есть конструкции уже, которые уже "раскрываются" чисто в процессе, т.е. в "рантайме". Даже в С++ последних версий!
Цитата: дим от 16.11.2017 23:49:41...
1. Самолет глюкавый
2. В С++ версии 98 гораздо легче допустить утечку памяти или доступ за границы массива или доступ по пустому/мусорному указателю, чем в «защищённых» языках (где это фактически не возможно по определению)
3. Сами американцы назвали выбор с++ - причиной глюкавости самолета.
Давайте уже на этих фактах успокоимся и закончим. А фразы в стиле «да я как квалифицированный чел могу написать на с++ надежный код» — оставим. Да, можешь. Да, это возможно. Но американца не смогли. Квалификация и текучка персонала. Кто то начал писать и уволился, кто то продолжил не понимая всех идей, кто то добавил ошибку в код, кто то вызвал что то нестандартно, кто то вышел за границы массива, кто то забыл инициализировать указатель в каком то одном случае или указатель на объект остался а сам объект удалили. Через полчаса идёт доступ к этому коду по этому указателю и программа падает с грохотом. Вообщем, в итоге самолёт перегружается в полёте. И винят с++ сами американские военные. Язык отличный особенно после 2011-го года, но не для самолета и не в случае с ф-35. Точка.
Ну и все же что эта ветка о пакфа/су-57, коллеги.
1. Самолёт глюкавый не только и не столько из-за "софта", а из-за того, что он изначально разрабатывался по-компонентно разными независимыми конторами. Интеграция отдельных работающих изделий в единую боевую машину - стало причиной её проблем. Изначально. Это ошибка проектирования, точнее, проектного подхода. На том этапе, когда его начали разрабатывать - это был "писк моды". Но в итоге оказалось, что те современные и существующие методы проектирования сложных изделий - не работают! Выясняется это только сейчас, когда фундаментальные проблемы и "парадигмы" вылезли на поверхность в практике, а не в теории.
2. Да полноте! Есть куча библиотек для С++, в том же "бусте", да и в других - коммерческих, где есть и "умные указатели" и "оболочки над типами", те. "умные типы данных", которые автоматически поддерживают и пары конструктор/деструктор и выделение памяти и сборку мусора для типов в рамках одной идеологии/библиотеки, при выходе из контекста и при массовой параллельной обработке. Вы что действительно думаете, что там даже для С++ программеров оставили какую-то свободу действий в области распоряжения ресурсами на боевой машине? Да перестаньте! Это не коммерческий софт для "Виндозы". Это боевой софт, который работает в ОС реального времени в условиях крайне ограниченной свободы. Там никакой утечки памяти не существует. Там чисто алгоритмические "затыки". Если какие-то подсистемы приходится перегружать уже в полёте, то это не из-за утечки памяти, а из-за того, что алгоритмы "уходят в бесконечность" пр ивычислениях чего-то там. Сложность системы стала неуправляемой, а не языки программирования и их "дизайнерские" проблемки...
3. Американцы? Какие американцы? Где в известном отчёте (который тут приводился) для Конгресса/Сената по Ф-35 есть ссылка на проблемы с С++? Там-то как раз ссылки не на языки программирования, а на совсем другие проблемы...
------------------
С Су-57 могут быть такие же проблемы. Но не в плане "боевого софта" самого самолёта, а в плане интеграции с другими системами, не связанными с самим самолётом. И тут уже вопрос протоколов передачи и единого представления данных возникает... Американцы с этими вопросами столкнулись раньше, надо признать, но и в России такие же "грабли" возникнут. Просто в России пока ещё этой "глобальной сетецентричностью" по-настоящему не занимались. Даже понятия об этом общего и межведомственных стандартов нет! Так что РФ ждут те же самые "грабли", что и США. И уже, похоже, они "всплывают на поверхность", т.к. Су-57 - как
отдельная боевая машина - уже
прямо сейчас полностью готов, чтобы идти в серию! Но, похоже, дело не только в Су-57 и его подсистемах. Есть что-то большее и важное... Хотя, вопрос может быть и примитивным - чисто в количестве "доступного бабла". Не исключаю и такой "поворот мысли".