Воспоминания о языках программирования в авиации (и не только)

я не знаю, как мыслят успешные руководители проектов солнечного штата, я не умею читать мысли, но я знаю, что, например, в современных системах до 90% кода основано на "Open Source Software Application Libraries” и никто не нанимает “левшей” с уникальными компетенциями там, где нужно делать обычную работу.

ссылка на исследование: A Summary of Census II: Open Source Software Application Libraries the World Depends On - Linux Foundation

из забавного: ПО на Crew Dragon, как известно из открытых источников - это операционка на базе Linux, ядро на C++ (тут кто-то писал, что это ужасный язык) и морда для тачскринов на JavaScript, причем, используют движок Chromium, тот самый, который с очень высокой вероятностью использует браузер наших форумчан при чтении этого поста.
Ну я писал, как работает сбор данных на АЭС. - Ядро системы на критически важном железе, на ОС реального времени, вылизанной практически до совершенства, где нововведения - это великое событие, которого ждут годами, пока его оттестируют и введут в стабильную ветку. А уже смотрибельность можно на чём угодно смотреть, хоть на калькуляторе... Не путаем теплое с мягким. Возьмите управление станков с ЧПУ - ядро на ОС реального времени, которая управляет непосредственно железом, а вот терминал верхнего уровня уже на обычном ОС, что не критично, если ПО зависнет или перегрузится... Хотя у нас есть станок который работает полностью под ОС Линукс реального времени, но вот графическая морда работает с замедлением, так как всё построено на одном процессоре, который управляет непосредственно железом и дополнительно терминалом...
 
Реклама
Для начала - такая задача (написание и отладка кода на Ассемблере для 8 (!!!) параллельно работающих и проверяющих работу друг друга бортовых ЭВМ) не хватало всех кадров со всего СССР (поэтому Америка и не потянула в своё время эту задачу).
Знаю, что мехмат МГУ был плотно задействован если не непосредственно в "написании кода", то в разработке алгоритмов...
 
Это ж надо быть настолько далёким от индустрии.
Ну как сказать далёким - интересуюсь, много интересного для себя открываю. Но вот современный код - бесит. Написан по принципу - оплата за объём строк, а не за качество результата. Если это не так - то приведите примеры обратного...
 
Да, удобная была вещь. Ещё игры для неё печатали в Технике Молодёжи. С учётом допотопного экрана неизбежно развивало воображение. Хотя полёт на Луну был наверное даже и вполне реалистичным - тупо ничего кроме экрана с цифрами не видишь и дальше сам додумываешь где ты и что с тобой :). Машинка эта была не массовой ( оказалось что среди моих знакомых я один такой пользовался) и многие с ней не сталкивались, поэтому неожиданное отсутствие кнопки "=" на калькуляторе неизменно гарантировало владельцу определённый успех у окружающих 8-).
У меня до сих пор в столе лежит. Я весь университет (1990-1995 гг) на нём все расчёты сделал. Две машины у меня были (первая не выдержала интенсивного использования :) ). Так вот ко мне ходила вся группа считать. И ничего, научились все считать. Обратная польская запись для программирования с ограниченными ресурсами была само то.
 
А намекните, если не трудно, где вы работаете? Где используется такой ..мм…стек технологий?
На производстве. DBF вам про что-то говорит? Хотя есть и SQL сервера, но только для сторонних покупных продуктов... Приходится всё нужное для себя тянуть в SQL сервер и вести обработку там. Lazarus как кроссплатформенный компилятор очень даже неплохо подходит для этого... Для и много для чего другого, были бы правильные руки и толковые мозги...
 
А если устройства отвечают не мгновенно, а с задержками, допустим по 5 секунд? Один тред будет последовательно опрашивать 1000 устройств 5000 секунд, т.е. примерно полтора часа. А 100 параллельных тредов управятся за 50 секунд, т.е. меньше минуты. Ну, а 1000 тредов так и вообще за 5 секунд.
У вас за это время либо ракета пролетит мимо цели, самолёт разобьётся, либо реактор взорвётся ... выбирайте...
 
Написан по принципу - оплата за объём строк, а не за качество результата. Если это не так - то приведите примеры обратного...

„Если я что-то утверждаю, я не обязан представлять доказательства. Если вы утверждаете обратное, опровергая меня, это вы должны доказательства представлять.“ — Никита Сергеевич Михалков
 
Ну вот, например, вчера у меня заняло 2 минуты, чтобы поправить три строчки на Python.

20 минут назад это изменение наконец-то прошло через CI.

Это к теме о скорости разработки.


Нет "паскалеподобных" языков. Есть алголоподобные.

Покажите мне хоть один проект на Паскале для, например, esp32. Ну или ладно, покажите хотя бы на Аде.
F-35 - самолёт, но там ещё и Си есть и много другого. Но основа - Ада...
 
Реклама
Ну как сказать далёким - интересуюсь, много интересного для себя открываю. Но вот современный код - бесит. Написан по принципу - оплата за объём строк, а не за качество результата. Если это не так - то приведите примеры обратного...
Один из методов защиты программы - большой размер. А ещё это стимулирует покупку высокопроизводительной техники.
 
??? Когда ему это прикрутили? Всё время сажали вручную... А для последних шатлов компьютерные комплектующие искали по распродажам, ибо никто их не модернизировал под свежие релизы...
В Интернете пишут, что функция такая была, но не использовалась пилотами
 
Ну как сказать далёким - интересуюсь, много интересного для себя открываю. Но вот современный код - бесит. Написан по принципу - оплата за объём строк, а не за качество результата. Если это не так - то приведите примеры обратного...
У нас качество результата оценивается в том числе по таким метрикам: каждая строчка кода, от которого зависит безопасность эксплуатации, должна быть покрыта автоматическим тестом; каждая строчка такого кода, содержащая условие, должна быть протестирована и на истинность, и на ложность условия.

Может показаться неожиданным, но это приводит к увеличению количества строчек кода, в том числе и не в тестах.
 
??? Когда ему это прикрутили?
Практически с самого начала.

Всё время сажали вручную...
Было кому.

По слухам: поскольку считалось, что компьютер может отказать при посадке, а уход на второй круг не был опцией, то при первом тестировании решили проверить, что случится, если пилоту придётся перехватить управление непосредственно перед посадкой. Пилот, взяв управление, дестабилизировал заход, чуть не разложил шатл, и решили больше не рисковать. Позже управление настроили так, чтобы подобного не повторялось, но традиция посадки на руках осталась.

Формально по спецификации автолэнд был. Автозаход был и по спецификации, и вовсю использовался на практике.

А для последних шатлов компьютерные комплектующие искали по распродажам, ибо никто их не модернизировал под свежие релизы...
"Последних" - это каких?
 
У вас за это время либо ракета пролетит мимо цели, самолёт разобьётся, либо реактор взорвётся ... выбирайте...
Я вообще не про самолёт и не про реактор и не про любимый лунный трактор :)
Какие-нибудь датчики или устройства, подключённые через интернет, который может тормозить, да и сами устройства могут тормозить.
 
Поэтому они летали исключительно только в ручном режиме :ROFLMAO:. Не, ну хотя бы почитайте воспоминания тех, кто создавал Буран и разработал языки программирования для космической техники. Для начала язык Дракон, который помог структурировать задачу и сократить трудоёмкость написания кода до приемлемых объёмов. Для начала - такая задача (написание и отладка кода на Ассемблере для 8 (!!!) параллельно работающих и проверяющих работу друг друга бортовых ЭВМ) не хватало всех кадров со всего СССР (поэтому Америка и не потянула в своё время эту задачу). Да и далеко ходить не надо - современные самолёты и системы управления очень далеки до уровня Бурана, хотя имеют мощности намного больше чем у него. Вон Боинг навернулся в количестве 2-х штук из-за простейшей ошибки работы датчиков...
Как там Каманин писал? "Заавтоматизировались"...
 
А с "паркуристами" особенно весело, когда они уходят, и надо разбираться, чего они там наворотили. Комментарии они чаще всего тоже писать не любят.
 
Реклама
У вас за это время либо ракета пролетит мимо цели, самолёт разобьётся, либо реактор взорвётся ... выбирайте...
Американцам для решения этой проблемы не потребовалось привлекать половину советских программистов. Достаточным оказалось переманить одного венгерского математика. В результате фильтр Калмана использовался уже на бортовом компьютере "Аполлона".
 
Назад