The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

SpaceX использует Linux и обычные x86-процессоры в Falcon 9, opennews (??), 03-Июн-20, (0) [смотреть все] +1

Сообщения [Сортировка по времени | RSS]


1. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +44 +/
Сообщение от Аноним (1), 03-Июн-20, 21:38 
>Управляющее полётом ПО написано на C/C++

И никакого Rust, Ada и подобных...

Ответить | Правка | Наверх | Cообщить модератору

4. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +3 +/
Сообщение от пох. (?), 03-Июн-20, 21:50 
Программист на аде уже в аду, классно шкварчит. А на хрусте еще просто не успели - непременно, в следующей версии.

Больше изумляет полное отсутствие хоть пары модулей на пихоне. Наверное, нам просто забыли об этом рассказать.

Ответить | Правка | Наверх | Cообщить модератору

40. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +3 +/
Сообщение от Аноним (-), 03-Июн-20, 23:05 
> Больше изумляет полное отсутствие хоть пары модулей на пихоне. Наверное, нам просто
> забыли об этом рассказать.

Судя по описанию системы им тупо не хотелось отвечать за дохлых космонавтов. Тройное резервирование + МК на последней линии вполне нормальное сочетание, имхо. Я бы ему свою тушку доверил.

А на пихоне трабла в том что статического анализа нет. А узнать о том что у тебя баг в runtime на комическом корабле... "уже не то".

Ответить | Правка | Наверх | Cообщить модератору

83. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +3 +/
Сообщение от anonimous (?), 04-Июн-20, 01:20 
>Тройное резервирование + МК на последней линии вполне нормальное сочетание, имхо. Я бы ему свою тушку доверил.

Проблема в том, что три копии программы с багом выдадут три одинаковых результата и все ок. Т.е. тушка все равно доверяется одной точке отказа. А от железных отказов это слегка спасает (при условии, что мажоритарная логика сама не сломается). Но вот вероятность отказа железа нынче несколько меньше, вероятности ошибок в коде. Или даже в логике заложенной в сам алгоритм. Например логику бобика 737 можно было хоть троировать, хоть десятирить и писать на расте+++, она бы все равно вогнала самолет в землю.

Ответить | Правка | Наверх | Cообщить модератору

104. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (104), 04-Июн-20, 03:12 
Ну так использование питона только ухудшает ситуацию, поскольку помимо багов в скрипте появляется риск получения багов рантайма, да и к тому же всё равно прийдётся крашить программу и перезапускать её, а на ходу переписывать софт в падающей ракете глупо как то
Ответить | Правка | Наверх | Cообщить модератору

112. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от anonymous (??), 04-Июн-20, 04:14 
>Ну так использование питона только ухудшает ситуацию, поскольку помимо багов в скрипте появляется риск получения багов рантайма

Так ведь рантайм сейчас везде. В целом то это вопрос статистики. По ощущениям рантайм надежнее, чем самописный код, а железо надежнее всего.

Вот только это все мимо, поскольку в реальности никто из них обычно и не виноват. И в случае с ариан-5, и в случае с Б737, и во многих других известных случаях, софт делал именно, то что задумывалось и как задумывалось. А проблема была в самом исходном алгоритме.

Ответить | Правка | Наверх | Cообщить модератору

118. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Карабьян (?), 04-Июн-20, 04:59 
То есть было доказано соответствие софта алгоритму?
Ответить | Правка | Наверх | Cообщить модератору

148. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  –1 +/
Сообщение от Аноним (148), 04-Июн-20, 09:14 
Сначала правильность алгоритма докажите.
А дальше  - пойдут нежданчики со стороны форматов представления данных, их выравнивания, округлений, точностей...
И, даже с доказанным "соответствием алгоритму", вы не застрахованы от "фейерверков"...
Ответить | Правка | Наверх | Cообщить модератору

154. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Карабьян (?), 04-Июн-20, 09:25 
> Сначала правильность алгоритма докажите.
> А дальше  - пойдут нежданчики со стороны форматов представления данных, их
> выравнивания, округлений, точностей...
> И, даже с доказанным "соответствием алгоритму", вы не застрахованы от "фейерверков"...

Как раз ниже был приведен пример с переполнением в Аде

Ответить | Правка | Наверх | Cообщить модератору

321. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним84701 (ok), 04-Июн-20, 18:35 
> Сначала правильность алгоритма докажите.
> А дальше  - пойдут нежданчики со стороны форматов представления данных, их выравнивания, округлений, точностей...

Вообще-то, любой мал-мальско серьезный "formal verification" различает между понятиями "логика" и "реализация". И в нормальное доказательство соотв. конкретной реализации алгоритму, вот это все вышеупомянутое вполне входит.
Классика:
https://web1.cs.columbia.edu/~junfeng/09fa-e6998/papers/sel4...
> Formal Verification of an OS Kernel
> The most detailed layer in our verification is the C implementation. The translation from C into Isabelle is correctness-critical and we take great care to model the semantics of our C subset precisely and foundationally. Precisely means that we treat C semantics, types, and memory model

...
> As kernel programmers do, we make assumptions about the compiler (GCC) that go beyond the standard, and about the architecture used (ARMv6). These are explicit in the model, and we can therefore detect violations. Foundationally means that we do not just axiomatise the behaviour of C on a high level, but we derive it from first principles as far as possible. For example, in our model of C, memory is a primitive function from addresses to bytes without type information or restrictions. On top of that, we specify how types like unsigned int are encoded, how structures are laid out, and how implicit and explicit type casts behave. We managed to lift this low-level memory model to a high-level calculus that allows efficient,

...
> 4.4 Machine model
> Programming in C is not sufficient for implementing a kernel. There are places where the programmer has to go outside the semantics of C to manipulate hardware directly. In the easiest case, this is achieved

Недостаток (помимо требования нехилой такой квалификации):
> seL4, a third-generation microkernel of L4 provenance, comprises 8,700 lines of C code and 600 lines of assembler.

...
> The cost of the proof is higher, in total about 20 py.

.

Ответить | Правка | К родителю #148 | Наверх | Cообщить модератору

454. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (454), 05-Июн-20, 14:00 
Вообще, хорошо разжевано на https://space.stackexchange.com/posts/9446/revisions

И как делают, и кто такой string и judge, и как это работает. И как они тестируют что это работает ("table rocket"). А что, они симулируют различные сбои и смотрят чего их система будет делать. Неплохо придумано.

Ответить | Правка | Наверх | Cообщить модератору

464. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним84701 (ok), 05-Июн-20, 15:00 
> Вообще, хорошо разжевано на https://space.stackexchange.com/posts/9446/revisions
> И как делают, и кто такой string и judge, и как это

Это совершенно другой уровень тестирования, никаким боком к формальной верификации "доказательства правильности алгоритмов" не относящийся.


Ответить | Правка | Наверх | Cообщить модератору

533. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (-), 06-Июн-20, 22:12 
Однако их тестовый сетап судя по описанию поймал бы факап ариана 5. В проекте ариана проблеяли нечто о том что это "сложно протестировать". А у Маска его "table rocket" должен такое поймать, раз реалистичную симуляцию прогоняют, с параметрами как в полете и случайными отказами.

А о том что проц может хардварным эксепшном в тыкву дать адовики-затейники небось вообще забыли и всеми забытый обработчик сделал хрен его знает что, не специфичное для задачи, после чего стройная абстракция рассыпалась на квадратики, а плана B на этот случай вообще не было.

Там же кстати и сказ о том как теоретики развели блабла про контракты и написали пример. И только одна рожа - разработчик локхидмартина занимающийся этими вещами - нашел в контракте :) баг, и довольно едко постебал все эти теоретизмы. Где-то тут и виден наглядный пример чем умозрительные подходы отличаются от инженерных, имхо.

Ответить | Правка | Наверх | Cообщить модератору

282. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (-), 04-Июн-20, 15:10 
> Так ведь рантайм сейчас везде

На сях в микроконтроллере можно и совсем без рантайма. И собственно в last line of defence это не такая уж и глупая идея - когда все остальное вас уже подвело, будет очень кстати если хотя-бы это все-таки не лажанется. Поскольку это было последним что отделяет вас от бабаха. Может еще совсем хардварные защиты. Но если на Земле вырубить вон тот агрегат совсем может и нормально, то будучи на полпути к орбите вы можете и не испытать оптимизм от такого парирования проблемы. Врядли вам понравится в мертвом куске металла на полпути к звездам. Поскольку в этом случае вы таки умрете.

Ответить | Правка | К родителю #112 | Наверх | Cообщить модератору

135. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +2 +/
Сообщение от ананас (?), 04-Июн-20, 07:53 
С таким же успехом можно говорить и про C/C++, потому что там может случиться UB.
Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

252. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  –1 +/
Сообщение от Аноним (252), 04-Июн-20, 13:59 
Так это просто язык назван, может там использованы с ними либы или фреймворке для безопасной работы с указателями и прочее, пусть работу оно и замедлит, зато надежнее.
Ответить | Правка | Наверх | Cообщить модератору

455. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (455), 05-Июн-20, 14:15 
> Так это просто язык назван, может там использованы с ними либы или
> фреймворке для безопасной работы с указателями и прочее, пусть работу оно
> и замедлит, зато надежнее.

Когда вы уже чешете на орбиту, runtime error по поводу плохого указателя ничем не лучше плохого указателя.

Ответить | Правка | Наверх | Cообщить модератору

279. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (279), 04-Июн-20, 15:01 
> потому что там может случиться UB.

Думаете, они не смогли прогнать ubsan? Да, на _вашем_ космическом корабле я бы таки не полетел...

Ответить | Правка | К родителю #135 | Наверх | Cообщить модератору

141. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +2 +/
Сообщение от dannix (?), 04-Июн-20, 08:49 
Системы управления, которые участвуют в схеме резервирования, разрабатываются различными группами программистов, которым даже запрещено взаимодействовать друг с другом (во всяком случае так поступают в авиационной отрасли). К тому же эти системы исполняются на различных аппаратных конфигурациях.
Ответить | Правка | К родителю #83 | Наверх | Cообщить модератору

150. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (148), 04-Июн-20, 09:20 
Да, да, да, да.... :)
Это - во всём мире заявляется.. и - везде же - на это и или кладётся, или - выдаётся, что это - именно так сделано.
ОЧЕНЬ редка, где "по книжкам" делается.
Да, и - потом, часто прикладная область настолько специализирована, что решения имеются в единственном подходе или методе и на всех дублирующих блоках "крутятся одни и те же реализации. И это может спасти только от аппаратных сбоев или ошибок на линиях связи.
Ответить | Правка | Наверх | Cообщить модератору

335. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Анан (?), 04-Июн-20, 19:07 
это может спасти и от отдельных программных ошибок, полагая что все эти блоки работают асинхронно и каждый обрабатывает набор входных сигналов разделенных во времени или поступающих от разных физических датчиков. В этом случае есть шанс, что не все блоки разом словят такой набор входов, который приведет к проявлению ошибки в коде
Ответить | Правка | Наверх | Cообщить модератору

493. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от dannix (?), 05-Июн-20, 21:18 
Очевидно, что вы не можете знать, как делается "везде". Дело не "книжках", а в реальных требованиях, которые предъявляются к системам такого рода.
Ответить | Правка | К родителю #150 | Наверх | Cообщить модератору

197. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Совершенно другой аноним (?), 04-Июн-20, 12:12 
> Проблема в том, что три копии программы с багом выдадут три одинаковых результата и все ок.

Ну, как-бы, не обязательно, что там три одинаковых копии программы. Есть такая вещь, как диверсность - можно поручить написать одну и ту-же программу нескольким коллективам программистов - вероятность того, что у них совпадут ошибки в одном и том-же месте, всё-таки очень мала. Соответственно на одном компьютере запускается версия от одного коллектива, на втором - от второго, ну а на третьем - от третьего.

> А от железных отказов это слегка спасает (при условии, что мажоритарная логика сама не сломается).

Мажоритарная логика обычно на порядок проще всей верхней логики. Так-что там, обычно, и ломаться нечему. Например, какой-нибудь 2 из 3.

> Но вот вероятность отказа железа нынче несколько меньше, вероятности ошибок в коде.

Если учесть, что внутри железа уже давно есть разные там микроконтроллеры со своим встроенным ПО, то всё уже выглядит не так однозначно.

Ответить | Правка | К родителю #83 | Наверх | Cообщить модератору

233. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +2 +/
Сообщение от Я (??), 04-Июн-20, 13:23 
на космических кораблях отказ железа происходит чаще чем отказ софта..
Ответить | Правка | К родителю #83 | Наверх | Cообщить модератору

278. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (279), 04-Июн-20, 14:59 
> Но вот вероятность отказа железа нынче несколько меньше, вероятности ошибок в коде.

В космосе атмосфера не защищает от частиц. И магнитное поле слабее. Радиации больше чем на поверхности, сбои железа чаще. Особенно если годами, на высокой орбите, спутник или длительные путешествия в Марсу. Для ступеней которые едва высовываются из атмосферы и сразу назад не так критично, но все же фактор.

> Т.е. тушка все равно доверяется одной точке отказа

Можно и проинвертировать: если есть 3 разные программы, на 3 разных ЯП, логично ожидать минимум в 3 раза больше багов по их площади. И закидоны в интерфейсах, вероятно, квадратично. Так что логика 2-из-3 нервничать будет, видимо, в 9 раз чаще, когда результат счета разойдется. И чем больше тот механизм тыкать палочкой, да еще с разным кодом, тем выше вероятность что все три начнут хотеть разного. И тогда чего?!

А чем больше рантайм и сложность ЯП - тем выше вероятность бага не только в ЯП, но и в окружении вокруг. Для питона вон вообще нет статического анализа - а рантайм еррор в космическом корабле - картинка "Your trial period is over" неплохо отражает общую идею.

> Или даже в логике заложенной в сам алгоритм.

И это тот случай, когда у людей должен быть override и желательно иметь какие-то иные алгоритмы, кросс-чекающие друг друга. И если уж об этом - бортовые системы самолетов это до некоторой степени делают. Понятно что все не предусмотришь. Но все-таки.

Ответить | Правка | К родителю #83 | Наверх | Cообщить модератору

147. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +2 +/
Сообщение от ALex_hha (ok), 04-Июн-20, 09:10 
> Больше изумляет полное отсутствие хоть пары модулей на пихоне. Наверное, нам просто забыли об этом рассказать

Как по мне - то ничего удивительного, когда тебе важна каждая микросекунда и такт. С/С++ лучший вариант. Так что все логично, имхо

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

189. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от expert (??), 04-Июн-20, 11:36 
Можно было и баш скриптами обойтись. Тогда бы приземление на орбиту было бы успешнее.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

423. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +2 +/
Сообщение от Аноним (423), 05-Июн-20, 10:30 
Хорошо сказано: "приземление на орбиту" :)
Ответить | Правка | Наверх | Cообщить модератору

9. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +2 +/
Сообщение от Аноним (-), 03-Июн-20, 22:00 
Насчёт Ады действительно странно. Вот что отладка и резервирование животворящие делают!
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

11. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +14 +/
Сообщение от Нонон (?), 03-Июн-20, 22:12 
А ничего что вторая часть предложения:

>web-приложения на JavaScript, открываемого в Chromium

Тебя это не смущает ни капельки? Или ты только видишь что православные плюсы использованы?

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

43. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +7 +/
Сообщение от заминированный тапок (ok), 03-Июн-20, 23:09 
и тут же приписка:  но на случай сбоя имеется и кнопочная панель для управления космическим кораблём. :-D
Ответить | Правка | Наверх | Cообщить модератору

50. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +4 +/
Сообщение от Аноним (-), 03-Июн-20, 23:23 
Видимо Маск и его чуваки в курсе качества кода вебмакак, так что вот вам гламурная морда, но если она встрянет - там МК кнопки рулит, да еще дублированно поди, так что наиболее критичные вещи не отпадут.
Ответить | Правка | Наверх | Cообщить модератору

119. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Карабьян (?), 04-Июн-20, 05:00 
Может на случай поломки кнопок и специальная отвертка имеется
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

128. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от с (?), 04-Июн-20, 06:29 
А на случай ее утери монетка и прямые шлицы на болтах, а на случай если и монетка потеряется - космонавты ногти не стегут.
Ответить | Правка | Наверх | Cообщить модератору

139. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Карабьян (?), 04-Июн-20, 08:47 
> А на случай ее утери монетка и прямые шлицы на болтах, а
> на случай если и монетка потеряется - космонавты ногти не стегут.

Не стригут и красят токопроводящим лаком

Ответить | Правка | Наверх | Cообщить модератору

342. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (342), 04-Июн-20, 19:35 
> Может на случай поломки кнопок и специальная отвертка имеется

Скорее просто поставили 2-3 комплекта. Как в самолетах.

Ответить | Правка | К родителю #119 | Наверх | Cообщить модератору

23. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 03-Июн-20, 22:39 
Ничего, жизнь заставит. :-)
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

33. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (-), 03-Июн-20, 22:53 
Arian-V приветы любителям серебряных пуль передавал.
Ответить | Правка | Наверх | Cообщить модератору

155. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (148), 04-Июн-20, 09:26 
Что за бред?
Мейер именно то и описал, что человек - ленивая скотинка.
В случае с Ариан-5 был использован блок с константой максимального наклона относительно вертикали от Ариан-4, а она там была меньше по значению.

Вы лучше пошутите на счёт приколов на Ф-22 и Ф-35, когда там с Ады на Си++ решили перейти. И про семилетнюю задержку в проекте из-за крестов.

Ответить | Правка | Наверх | Cообщить модератору

199. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 12:19 
> Что за бред?
> Мейер именно то и описал, что человек - ленивая скотинка.
> В случае с Ариан-5 был использован блок с константой максимального наклона относительно
> вертикали от Ариан-4, а она там была меньше по значению.
> Вы лучше пошутите на счёт приколов на Ф-22 и Ф-35, когда там
> с Ады на Си++ решили перейти. И про семилетнюю задержку в
> проекте из-за крестов.

Не мешайте молодёжи верить в своё всемогущество и в городские легенды. Пока сам не налетит на что-то катастрофическое по последствиям, ума не наберётся.

Ответить | Правка | Наверх | Cообщить модератору

285. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (285), 04-Июн-20, 15:20 
> И про семилетнюю задержку в проекте из-за крестов.

Авиационный софт имеет такие темпы релизов хоть там на чем. Видите ли его тестируют-сертифицируют и вообще во всех позах дрючат до того как на этом летать соберутся.

А так я нахожу довольно забавным когда адовики-затейники напирают на сроки, такого я кажется еще не видел %)

Ответить | Правка | К родителю #155 | Наверх | Cообщить модератору

200. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 12:21 
> Arian-V приветы любителям серебряных пуль передавал.

Ада-то тут при чём, аноним?

https://ru.wikipedia.org/wiki/Авария_ракеты-носителя_«Ариан-5»_(4_июня_1996_года)#Причины_аварии

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

286. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (285), 04-Июн-20, 15:22 
При том что адовики-затейники посадили годный баг в ее софте и ракета превратилась в тыкву.
Ответить | Правка | Наверх | Cообщить модератору

301. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +2 +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 16:53 
> При том что адовики-затейники посадили годный баг в ее софте и ракета
> превратилась в тыкву.

Повторяю вопрос: при чём тут Ада? Это в чистом, чистейшем виде человеческий фактор, не связанный напрямую с технологиями и техникой. Называется это безалаберность. Нагугли себе, почитай, что это такое. У вас вон давеча васяны дырок насверлили в ракете — так ты ещё скажи, что виновата дрель.

Ответить | Правка | Наверх | Cообщить модератору

313. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (313), 04-Июн-20, 18:18 
> Повторяю вопрос: при чём тут Ада? Это в чистом, чистейшем виде человеческий
> фактор, не связанный напрямую с технологиями и техникой. Называется это безалаберность.

Ну, подожди, я могу то же самое сказать и про другой любой ЯП. Например, си... ;)

Ответить | Правка | Наверх | Cообщить модератору

326. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 18:45 
>> Повторяю вопрос: при чём тут Ада? Это в чистом, чистейшем виде человеческий
>> фактор, не связанный напрямую с технологиями и техникой. Называется это безалаберность.
> Ну, подожди, я могу то же самое сказать и про другой любой
> ЯП. Например, си... ;)

Именно. Потому что ЯП здесь совсем-совсем ни при чём. Человек(и) затупил(и), уронил(и) ракету, нанёс(ли) ущерба, поимел(и) позора. Но Ада в этом никак не виновата. Если ты к своим Жыгулям вместо хорошего, годного автомобильного колеса прицепишь на ось не менее хорошее и годное колесо от телеги, ты, теоретически, можешь поехать, но не быстро и не долго. А то целая ракета.

Ответить | Правка | Наверх | Cообщить модератору

330. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  –1 +/
Сообщение от Аноним (330), 04-Июн-20, 18:52 
> Именно. Потому что ЯП здесь совсем-совсем ни при чём. Человек(и) затупил(и), уронил(и)
> ракету, нанёс(ли) ущерба, поимел(и) позора.

Попался! Теперь посмотрим на весь пойнт Ада - там как раз рассказывали мантры что оно от этого помогает. А на практике оказалось вон как. Собственно трабл адовиков в этом месте в том что они этим нехитрым шоу профакали свой пойнт.

Ответить | Правка | Наверх | Cообщить модератору

339. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 19:20 
>> Именно. Потому что ЯП здесь совсем-совсем ни при чём. Человек(и) затупил(и), уронил(и)
>> ракету, нанёс(ли) ущерба, поимел(и) позора.
> Попался! Теперь посмотрим на весь пойнт Ада - там как раз рассказывали
> мантры что оно от этого помогает. А на практике оказалось вон
> как. Собственно трабл адовиков в этом месте в том что они
> этим нехитрым шоу профакали свой пойнт.

Не, ты не прав. Пойнт Ады в том, что в ней нет (или минимум) таких мест, где что-то может получаться непредсказуемо и как бы само по себе. Правильный рецепт приготовления Ады — создать для проекта систему тщательно продуманных кастомных типов данных (хорошо и понятно описанных, с говорящими названиями, а не просто инт32) и только её использовать. Ада сразу даёт по рукам в тех случаях, когда ты пытаешься делать с данными что-то такое, чего не позволяют их типы. Это предохраняет от некоторой части возможных факапов. Но, вероятно, наговнокодить можно даже на Аде. :-)

По следующей ссылке немного про это пишут:

https://www.ada-ru.org/sssw/chapter_02

На мой взгляд, это самая прекрасная (или одна из) особенность Ады.

Ответить | Правка | Наверх | Cообщить модератору

344. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  –1 +/
Сообщение от Аноним (344), 04-Июн-20, 19:49 
> Не, ты не прав. Пойнт Ады в том, что в ней нет (или минимум) таких мест,
> где что-то может получаться непредсказуемо и как бы само по себе.

А тут в результате все видимо приходит к вопросу: что проще, взять обычных тематичных прогеров и подрессировать их малость на чем-то типа MISRA чтобы отучить от дурных привычек, или искать пару инопланетян на вот этом, при том что все-равно потом вот так. Видимо инопланетяне расслабились. А на сях хрен расслабишься и пощелкаешь клювом, в тонусе все же держит.

> говорящими названиями, а не просто инт32) и только её использовать.

Это хорошо в сферическом вакууме с бесконечными ресурсами, но если посмотреть на ту историю, там половина фэйла в том что решили реюзануть код от другой ракеты, который вполне себе работал. На той ракете. А на новой возьми да и долбанись о небесную твердь. Как угодно, но ресурсы - ограниченные. И не учитывать этот фактор глупо.

Собственно 80% WIN'а маска в том что он все это уже умеет делать дешевле конкурентов. И пока они там пиндят про safety factor, батутчик ... в темном лесу, темной ночью, смотришь в небо - а там - WTF. Звезды летают. Пачками. Если подумать становится понятно что это может быть только 1 вещью. Напоминающей что XXI век все же наступил.

> от некоторой части возможных факапов. Но, вероятно, наговнокодить можно даже на Аде. :-)

Ну вот как оказалось - можно. Это конечно неординарное достижение, но в конечном итоге розовые очки слетели и вера в серебряные пули все же ослабла.

Ответить | Правка | Наверх | Cообщить модератору

367. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 20:33 
>> Не, ты не прав. Пойнт Ады в том, что в ней нет (или минимум) таких мест,
>> где что-то может получаться непредсказуемо и как бы само по себе.
> А тут в результате все видимо приходит к вопросу: что проще, взять
> обычных тематичных прогеров и подрессировать их малость на чем-то типа MISRA
> чтобы отучить от дурных привычек, или искать пару инопланетян на вот
> этом, при том что все-равно потом вот так. Видимо инопланетяне расслабились.
> А на сях хрен расслабишься и пощелкаешь клювом, в тонусе все
> же держит.

А потом падают самолёты. Ибо всякому инструменту своё место приложения.

Аду специально проектировали для применений, где на первом месте стоят безопасность, отказоустойчивость, надёжность и тому подобные вещи. Нету в достатке людей, её знающих — это уже другая проблема.

MISRA денег стоит и экономии снова не получается. :-) И она не поможет в ряде случаев просто в силу специфики языков Си и Си++. Я считаю, что если это возможно, то следует избегать их использовать в условиях, где отказ компьютерной системы чреват гибелью людей. Здесь нет простора для экспериментов по удержанию программеров в тонусе. Мы регулярно читаем на опеннете статьи о том, что какой-то умник не посчитал заранее, сколько ему надо места для данных, а жизнь ВНЕЗАПНО внесла свои коррективы. И поскольку эту особенность из Сей и Плюсов ты никуда и никогда не устранишь, то лучше воздерживаться от их использования в критически опасных для жизни случаях.


>> говорящими названиями, а не просто инт32) и только её использовать.
> Это хорошо в сферическом вакууме с бесконечными ресурсами, но если посмотреть на
> ту историю, там половина фэйла в том что решили реюзануть код
> от другой ракеты, который вполне себе работал. На той ракете. А
> на новой возьми да и долбанись о небесную твердь. Как угодно,
> но ресурсы - ограниченные. И не учитывать этот фактор глупо.

Сколько можно толочь воду в ступе… Это была ошибка человека, а не недостаток языка. Они заведомо знали, что делать так нельзя, но они это сделали наперекор судьбе и здравому смыслу. Стоит ли удивляться, что ракета упала? Хотели обскакать Б-женьку на хромой козе, но Б-женька таки сильнее. Не получилось сэкономить.


> Собственно 80% WIN'а маска в том что он все это уже умеет
> делать дешевле конкурентов. И пока они там пиндят про safety factor,
> батутчик ... в темном лесу, темной ночью, смотришь в небо -
> а там - WTF. Звезды летают. Пачками. Если подумать становится понятно
> что это может быть только 1 вещью. Напоминающей что XXI век
> все же наступил.

Если Маск угробит хотя бы один экипаж живых астронавтов, его путь в космос на этом, скорее всего, закончится. Экономия не всегда хороша.


>> от некоторой части возможных факапов. Но, вероятно, наговнокодить можно даже на Аде. :-)
> Ну вот как оказалось - можно. Это конечно неординарное достижение, но в
> конечном итоге розовые очки слетели и вера в серебряные пули все
> же ослабла.

Ты всё время уводишь разговор в сторону вещей, которые не относятся к сути вопроса. Та ракета упала по вине мясных уб**дков, сознательно сделавших заведомую глупость. ЯП здесь ни при чём вообще и никак. Если ты себе отфигачишь топором какую-нибудь конечность, что никакой вины топора в этом нет.

Ответить | Правка | Наверх | Cообщить модератору

385. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (385), 04-Июн-20, 22:20 
> А потом падают самолёты.

А много самолетов упало из-за именно багов, именно в сишном коде? Если в случае ариана вполне конкретные участки кода раскопали, то в случае самолетов я встречал только
1) Горе от ума, когда airbus просто не давал сделать крутой маневр, хотя пилоту в условиях нестандартной ж-ы вызванной внешними факторами (погода) могло бы пригодиться как last resort. ЯП тут вроде в формулу не входит, только общая идея строить пилота. Боинг эту идею не любит.
2) Идиотека по поводу датчиков. Датчики ломаются и глючат. Компьютеры не всегда вменяемо реагируют на эти ситуации, иногда помогая пилотам убиться по глупой причине. Датчикопроблемы к ЯП не относятся, только к общему поведению алгоритма. Как показал пример российской ракеты, датчикопроблемы убивают и их. Хоть командоаппарат поставьте, похрен.
3) Сказочный ДЛБ-зм двуногих, типа пилотов _ТЕСТИРОВАВШИХ_ работу свежепоставленного софта после _ОБСЛУЖИВАНИЯ_ самолета _НА МАЛОЙ ВЫСОТЕ_. Делая _ОПАСНЫЙ МАНЕВР_. И когда stall prevention не сработал, ых, ых, высоты для парирования не хватило. По счастью тестовые пилоты летают без пассажиров, так что куски идиота наказали только себя. Яп опять же в эту формулу не входит.

> Ибо всякому инструменту своё место приложения.

Я прагматик и доверяю только фактам. Полагая что любая теория проверяется практикой. А догмы не ко мне. На практике я вот вижу убившуюся багом ракету. И немеряное количество кода на сях в требовательных применениях.

> MISRA денег стоит и экономии снова не получается. :-)

Есть даже халявные реализации. Ну вот официальных сообщений в них нет, это да.

> И она не поможет в ряде случаев просто в силу специфики языков Си и Си++.

Языки как языки. Если ими не пользоваться как вебмакака, стабильно и надежно сделать можно. А если вебмакачить, то какая разница?

> Я считаю, что если это возможно, то следует избегать их
> использовать в условиях, где отказ компьютерной системы чреват гибелью людей.

А вы много критичных систем такого плана разработали?

> Здесь нет простора для экспериментов по удержанию программеров в тонусе.

Кроме этого логично запускать статические анализаторы и чекеры рулесов. А адовики вон расслабились, срезали угол - и получили фигакс. "Most dangerous time is when you feel yourself safe". За вот это "safe" языки получиют от меня заряд скепсиса. Провоцируют девов на расслабон, а это чревато в ситуации когда надо переиграть весь мир.

> свои коррективы. И поскольку эту особенность из Сей и Плюсов ты
> никуда и никогда не устранишь, то лучше воздерживаться от их использования
> в критически опасных для жизни случаях.

В сях можно использовать статичное распределение памяти. Что MISRA, между прочим, и требует. В этом случае описанная ситуация просто невозможна.

Конечно есть еще пара способов - типа рекурсии, которая в конце концов сожрет стэк, но MISRA и это запрещает. И аналог такого прострела наверное можно сделать на любом развитом ЯП.

Еще на сях достаточно просто контролировать runtime окружение и относительно понятно как это трансформируется на физические дела типа лэйаута бинаря, содержимого оперативы и проч. Это позволяет пытаться относительно осмысленно парировать даже очень странные ситуации типа program counter runaway или сбоев в регистрах.

У STMicro есть годный firmware safety guide на эту тему, рекомендованый автомотивщикам, местами идущий сильно дальше MISRA в некоторых странных вещах - и это касается взаимодействия железа и софта и что делать если "прилетела частица и воткнулась в проц" может реально наделать бед.

> Сколько можно толочь воду в ступе… Это была ошибка человека, а не недостаток языка.

Так основным достоинством заявлено что этого как раз и не будет.

Говоря за себя я фирмвары МК стараюсь писать по примерно таким паттернам:
1) C99 types, вот как раз потому.
2) Нет dynamic memory, так что она не может кончиться.
3) Абсолютный минимум указателей, только если по другому никак.
4) Никакого кода который я не знаю и не понимаю, отвечать за хз что я не готов.

> Они заведомо знали, что делать так нельзя, но они это сделали наперекор судьбе
> и здравому смыслу.

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

И таки никто не может бесконечно вылизывать проект. И всегда приходится учитывать фактически доступные ресурсы. Иначе проект будет просто слит. И вообще никогда никуда не полетит. А мудрость гласит что лучше попробовать и обломаться, чем обломаться попробовать.

> Если Маск угробит хотя бы один экипаж живых астронавтов, его путь в
> космос на этом, скорее всего, закончится. Экономия не всегда хороша.

СССР угробил несколько космонавтов. NASA угробило несколько экипажей. Авиаторы потеряли еще больше экипажей. Мы не в детском саду и те кто вписывается в такие миссии прекрасно в курсе что люди не боги - и поэтому всегда есть некоторый риск.

И чисто практически, в случае с ракетой я бы больше всего боялся имхо не программных вещей а все же catastrophic failure на уровне физики. Ну вот стремноватые они в этом по своему устройству, по сравнению с тем же самолетом например. Скажем криогенные дела - "относительно ненадежны".

> ты себе отфигачишь топором какую-нибудь конечность, что никакой вины топора в этом нет.

Да как сказать? Постепенно на циркулярку все же делают защитный кожух а то и вовсе обходятся без контакта опасных объектов с людьми. С космическими кораблями тоже работает - сперва гоняли грузовые версии, как раз посмотреть как оно вообще работает и какие проблемы вылезут.

Ответить | Правка | Наверх | Cообщить модератору

490. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 05-Июн-20, 20:08 
>> А потом падают самолёты.
> А много самолетов упало из-за именно багов, именно в сишном коде? Если
> в случае ариана вполне конкретные участки кода раскопали, то в случае
> самолетов я встречал только

Не знаю, сколько упало именно по этой причине. Но ты же не станешь отрицать, что в Сях и Плюсах море возможностей уронить самолёт. В силу специфики этих языков некоторые такие места принципиально неустранимы. Значит, самолёты всегда будут под угрозой из-за ПО, написанного на Си-подобных ЯП. Я не хочу этим сказать, что языки плохие, а только то, что для самолётов, АЭС и т. п. следует выбирать не их.


> 1) Горе от ума, когда airbus просто не давал сделать крутой маневр,
> хотя пилоту в условиях нестандартной ж-ы вызванной внешними факторами (погода) могло
> бы пригодиться как last resort. ЯП тут вроде в формулу не
> входит, только общая идея строить пилота. Боинг эту идею не любит.

Здесь или не здесь приводили уже историю, когда самолёт при пересечении экватора перевернулся вверх тормашками. Сказал своё слово Сишечка родная, не только человеческий фактор.


> 2) Идиотека по поводу датчиков. Датчики ломаются и глючат. Компьютеры не всегда
> вменяемо реагируют на эти ситуации, иногда помогая пилотам убиться по глупой
> причине. Датчикопроблемы к ЯП не относятся, только к общему поведению алгоритма.
> Как показал пример российской ракеты, датчикопроблемы убивают и их. Хоть командоаппарат
> поставьте, похрен.

Стремление во всякую железку засунуть программу приводит к этой идиотеке. Это стремление изначально вызвано чрезмерно завышенными зарплатами говнокодеров в развитых странах, а также оголтелой, иначе не назовёшь, пропагандой программ как ценности компаниями, которые пишут ПО на продажу. Оно на самом деле не нужно в 9 из 10 случаев, в которых его сейчас применяют или пытаются внедрить, но компании на этом делают деньги — поэтому нам приходится принять эту новую реальность, в которой какой-нибудь программный код норовят засунуть во всё. Там, где 50 лет назад обошлись бы куском железа, сегодня суют микропроцессор с прошивкой и кучу обвязки. Кремний-то почти бесплатен (в товарных количествах), в отличие от каждого экземпляра куска железа, которые невозможно сделать дешевле некоторого минимума. А в глазах общества электроника олицетворяет прогресс. На этом нехитром обмане делаются колоссальные бабки. В том числе экономией на «умных» датчиках вместо простых и надёжных. Так что датчикопроблемы относятся к ЯП, хоть это не сразу и видно.


>> Ибо всякому инструменту своё место приложения.
> Я прагматик и доверяю только фактам. Полагая что любая теория проверяется практикой.
> А догмы не ко мне. На практике я вот вижу убившуюся
> багом ракету. И немеряное количество кода на сях в требовательных применениях.  

Не багом, а намеренным и осознанным применением средства, которого не должно было быть в ракете по проекту. Правильно назвать бы это преступлением.


>> И она не поможет в ряде случаев просто в силу специфики языков Си и Си++.
> Языки как языки. Если ими не пользоваться как вебмакака, стабильно и надежно
> сделать можно. А если вебмакачить, то какая разница?

Перевернувшийся вверх дном на экваторе самолёт передаёт тебе привет. :-)


>> Я считаю, что если это возможно, то следует избегать их
>> использовать в условиях, где отказ компьютерной системы чреват гибелью людей.
> А вы много критичных систем такого плана разработали?

А я вообще гуманитарий и виндузятник.


>> Здесь нет простора для экспериментов по удержанию программеров в тонусе.
> Кроме этого логично запускать статические анализаторы и чекеры рулесов. А адовики вон
> расслабились, срезали угол - и получили фигакс. "Most dangerous time is
> when you feel yourself safe". За вот это "safe" языки получиют
> от меня заряд скепсиса. Провоцируют девов на расслабон, а это чревато
> в ситуации когда надо переиграть весь мир.

Там не расслабон был, а сознательное нарушение правил и норм.

Если бы они заменили двигатель на взятый от другой ракеты — плетела бы ракета? Возможно. Но без гарантии.


> В сях можно использовать статичное распределение памяти. Что MISRA, между прочим, и
> требует. В этом случае описанная ситуация просто невозможна.
> Конечно есть еще пара способов - типа рекурсии, которая в конце концов
> сожрет стэк, но MISRA и это запрещает. И аналог такого прострела
> наверное можно сделать на любом развитом ЯП.
> Еще на сях достаточно просто контролировать runtime окружение и относительно понятно как
> это трансформируется на физические дела типа лэйаута бинаря, содержимого оперативы и
> проч. Это позволяет пытаться относительно осмысленно парировать даже очень странные ситуации
> типа program counter runaway или сбоев в регистрах.

Да-да… А можно просто взять Аду, которая специально создана для таких случаев, и не париться о сексе стоя в гамаке.


>> Сколько можно толочь воду в ступе… Это была ошибка человека, а не недостаток языка.
> Так основным достоинством заявлено что этого как раз и не будет.

Ни один язык заведомо не может дать гарантию от того, что учудили строители Ариана.


>> Если Маск угробит хотя бы один экипаж живых астронавтов, его путь в
>> космос на этом, скорее всего, закончится. Экономия не всегда хороша.
> СССР угробил несколько космонавтов. NASA угробило несколько экипажей. Авиаторы потеряли
> еще больше экипажей. Мы не в детском саду и те кто
> вписывается в такие миссии прекрасно в курсе что люди не боги
> - и поэтому всегда есть некоторый риск.

Тех угробило государство, ему можно. А Маск частник. Его за такое немножко посадят в турма.


> И чисто практически, в случае с ракетой я бы больше всего боялся
> имхо не программных вещей а все же catastrophic failure на уровне
> физики. Ну вот стремноватые они в этом по своему устройству, по
> сравнению с тем же самолетом например. Скажем криогенные дела - "относительно
> ненадежны".

Уровень развития материаловедения как бы уже 70 лет позволяет сравнительно безопасно летать в космос (даже с электроникой на борту).


>> ты себе отфигачишь топором какую-нибудь конечность, что никакой вины топора в этом нет.
> Да как сказать? Постепенно на циркулярку все же делают защитный кожух а
> то и вовсе обходятся без контакта опасных объектов с людьми. С
> космическими кораблями тоже работает - сперва гоняли грузовые версии, как раз
> посмотреть как оно вообще работает и какие проблемы вылезут.

С Арианом чуваки, грубо говоря, взяли кусок оттуда и переставили сюда, потому что так проще и быстрее. Понадеялись, что ракеты похожие, значит проканает. Не проканало.

И вот именно по этой важнейшей причине (некомпетентности погромиздов в любых делах, кроме писания программ) нельзя позволять говнокодерам что-либо делать без присмотра людей с палками. Типичный программист глуп и ничего не знает о науках реального мира.

Ответить | Правка | К родителю #385 | Наверх | Cообщить модератору

500. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (-), 06-Июн-20, 00:34 
> Не знаю, сколько упало именно по этой причине.

А мне вот интересно. Если кто-то говорит что из-за <whatever> случается <something> - попросить пример этого наверное логично. Хотя-бы чтобы посмотреть на чем накололись коллеги.

> Но ты же не станешь отрицать, что в Сях и Плюсах море возможностей уронить самолёт.

В любом тюринг полном ЯП бесконечно много возможностей уронить самолет.

> В силу специфики этих языков некоторые такие места принципиально неустранимы.

Например, какие и почему? Как насчет конкретики? То что это не в 100% по зубам вебмакакам - так им нечего делать в реалтайме и надежности, они не об этом.

> Значит, самолёты всегда будут под угрозой из-за ПО, написанного на Си-подобных ЯП.

Я бы сказал что любое ПО представляет угрозу. И двигатель представляет угрозу - может сломаться.

> Я не хочу этим сказать, что языки плохие, а только то, что для самолётов, АЭС и т. п.
> следует выбирать не их.

Выбор инструментов и подходов штука многофакторная. И если все приходит к выбору "мы вообще это не сделаем" или "сделаем так, и устроит надежность" - второй вариант обычно лучше.

У меня HardFault (крутой HW exception для явно сбойных ситуаций) в Cortex-M именно от моего программизма на моей памяти был 1 раз, когда я по своей инициативе (!!!) читанул адрес 0. Чтобы узнать начальный адрес стэка. Оказалось фирма ARM не любит NULL. Надеюсь, это достаточно хорошо характеризует достижимую на си культуру работы с памятью. И не то чтобы я мегапрограммист. Просто аккуратно отнессе к вопросу.

И если что, рассмотрение в FW safety guide что делать с внешними воздействиями намекает что на си можно дойти до уровня когда внешние воздействия станут одной из основных проблем. И вот там у ST весьма забавные рекомендации, типа периодического рефреша регистров, проверки чексум состояний, энфорс execution flow трюками софта и проч. И в случае сей я лично понимаю как сие взаимодейтсвует и худо-бедно могу прикинуть "что будет если" и "как это парировать". Я не уверен что возьмусь сказать это за другой ЯП (кроме асма, но он очень канительный).

> Здесь или не здесь приводили уже историю, когда самолёт при пересечении экватора
> перевернулся вверх тормашками. Сказал своё слово Сишечка родная, не только человеческий фактор.

А там софт на си вообще был? А то на аде ракета тоже вот именно этсамое...

> Стремление во всякую железку засунуть программу приводит к этой идиотеке.

А тут такие соображения:
1) Гора механики и жесткой логики зачастую менее надежна, сложнее в обслуживании и тяжелее. Один МК может заменить шкаф добра, и в том шкафу явно было чему сломаться. И мы приходим к вопросу "failure rate".
2) Софтварный алгоритм имеет больше шансов менее глупо реагировать на проблему. Там где чисто железное решение выпадет в аут, софт может начать игнорить проблемный датчик, а состояние строить по хитрозадым фильтрам + что в системе еще осталось. Так можно попытаться graceful degrade до тех пор пока вообще что-то работает. То что это еще не всегда получается - другой вопрос.
3) Шины/сети как IO между вводом, мозгами и исполниловкой в целом большой шаг вперед в всех направлениях. Это и легче, и проще, и технологичнее, и больше опций "как реализовать X", и дает зеленый свет намного более хорошему мониторингу состояний, диагностике, обнаружению ошибок и проблем.
4) Со всем этим все чаще можно вообще без человека обойтись. И идея выполнить какой-нибудь тестовый полет без пилотов, над пустой территорией - не такая уж и дурацкая.

Если что - обратите внимание, все идет к паттерну предсказанному фантастами. Однажды они будут живыми, или квазиживыми и разумными. А все это - на полпути к этому. При том нащупаные паттерны имеют свои плюсы относительно биохимии: они быстрые. Я не знаю где находится бесконечность, но гибрид этих технологий близок к этому.

> Это стремление изначально вызвано чрезмерно завышенными зарплатами говнокодеров
> в развитых странах,

А я вижу иное. Эра глупых машин закончилась. Наступает эра умных машин. А постепенно, вероятно и разумных. И не в обиду пилотам, КМК, нейросети будут лажаться многократно меньше. И хотя они тоже будут иногда убиваться, в пересчете на <километр, пассажира, рейс, ...> - это не будет идти ни в какой сравнение.

Грубо говоря, пилот может быть уставший, а тут еще компания бонуса лишить хочет за задержку рейса. И вот он прется через грозу чтобы наверстать. Но нет, не прокатило - и это последний рейс задолбаного жизнью капитана. С компьютерными системами и AI так не выйдет. Он не устает, премию не урежут, в грозу не попрется.

> в 9 из 10 случаев, в которых его сейчас применяют или пытаются внедрить,

Позволю себе не согласиться. Это
1) Сделало возможным много того что было невозможным или нецелесообразным.
2) Нехило подняло эксплуатационные свойства ряда штук.
3) А в ряде случаев так еще и стало радикально надежнее.

> Там, где 50 лет назад обошлись бы куском железа,

...в 90% случаев забили бы т.к. это дорого, криво и геморройно. Или если очень надо оставили бы вахтера пару кнопок жать. И еще вопрос не набухается ли он. В остальных случаях был бы уродский шкаф барахла, где раз в месяц что-то коротит. А МК что, это кусок кремния, там ломаться особо нечему, все провода на кристалле, упакованы от внешних воздействий.

> прогресс. На этом нехитром обмане делаются колоссальные бабки. В том числе
> экономией на «умных» датчиках вместо простых и надёжных. Так что датчикопроблемы
> относятся к ЯП, хоть это не сразу и видно.

Кроме бабок - принципиально изменились многие паттерны инженерии и проектирования. И я со своей стороны считаю что сеть по которой разлетается от мозга к исполниловке явно лучше чем куча механических тяг и чего там еще.

Более того - исполниловка может быть весьма далеко и вообще где удобно. С железяками так не катило. И собственно единственным отличием было то что в механических системах 100% отказов были в механике. Это однако вовсе не делало их редкими.

И я таки имею основания думать что в целом от смены паттернов надежность улучшилась. А отказы - ну, если самолеты не летают, они и не падают. Но это скучно.

> Не багом, а намеренным и осознанным применением средства, которого не должно было
> быть в ракете по проекту. Правильно назвать бы это преступлением.

Теоретически - может быть. Практически в реальных проектах приходится идти на компромиссы и риски. Под страхом что альтернативой - проект вообще бесславно закроют.

> Перевернувшийся вверх дном на экваторе самолёт передаёт тебе привет. :-)

А что за софт у него был?

> А я вообще гуманитарий и виндузятник.

Гг это конечно дает свежий взгляд на проблемы - но жестоко прошляпливает ряд tradeoffs. И если их игнорить - ну вон Ангару сделали, но пришел Маск и все идут запускать спутники к нему. А роскосмос получил дырку от бублика. Страна оного получила... перспективы что амеры застолбят луну и марс первыми, займут самые козырные территории, с этим придется жить.

> Там не расслабон был, а сознательное нарушение правил и норм.

Возможно. Однако срезание углов часто имеет вполне объективные причины. Делать проекты как будто бесконечно времени и ресурсов все же не катит.

А state of art - имхо в том чтобы сделать из ненадежных компонентов что-то надежное. Это работает. Человек сам живой пример этого подхода. У вас все время отказывает множество клеток, но вы это не замечаете. Это полностью прозрачно. Инженеры тоже этому учатся. Потому что это хорошо работает. И супернадежность каждого компонента при этом не подразумевается.

> Да-да… А можно просто взять Аду, которая специально создана для таких случаев,
> и не париться о сексе стоя в гамаке.

Возможно. Просто это довольно эзотеричная штука для специфичных задач. Фича си в его универсальности, это инструмент системщика и им в принципе можно сделать что угодно. Управляющие задачи и т.п. оказалось похоже на что-то такое. Ну вот и получилось так. Лично я не испытываю желания прогать на аде. Мне нравится си, он хорошо укладывается и на машину и на мой мозг, являясь съедобным и работоспособным компромиссом.

> Ни один язык заведомо не может дать гарантию от того, что учудили строители Ариана.

Тут я соглашусь, но замечу что и для си это тоже можно сказать.

> Тех угробило государство, ему можно. А Маск частник. Его за такое немножко посадят в турма.

Я не фанат двойных стандартов. И поэтому думаю что все будет иначе. Например, придет некто типа NTSB, раскопает до последнего винтика причины, и дальше уже в зависимости от них. С самолетами сие неплохо работает.

> Уровень развития материаловедения как бы уже 70 лет позволяет сравнительно безопасно летать
> в космос (даже с электроникой на борту).

Если посмотреть как это все сделано, это довольно опасные системы, играющие опасно близко к пределам возможностей. И это в целом не есть хорошо. Если попробовать это пускать с частотой сравнимой с самолетами, будет довольно много факапов. А на другие планеты таки надо расселиться. Для этого надо много полетов. Я бы не отказался дожить до даты когда можно будет купить билет на Марс.

> Не проканало.

Ну да. И все же так иногда приходится делать, в т.ч. под нажимом обстоятельств. Ну, как пилот иногда лезет в грозу чтобы не депремировали. Да, конечно, можно пускть вместо этого 10 авиарейсов в год с надежностью круче только яйца. И ценой билета в мегабаксах. В результате все будут тошниться в поездах, автомобилях и самолетах и мы узнаем что там риски в пересчете на километр были еще хуже. Ну да, будут больше убиваться - влепившись в фуру между городами.

> Типичный программист глуп

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

> и ничего не знает о науках реального мира.

Самый кайф штук типа МК это возможность скрестить реальный мир и софт... и да, при этом стоит принадлежать к обоим мирам.

Ответить | Правка | К родителю #490 | Наверх | Cообщить модератору

528. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 06-Июн-20, 20:00 
>> Но ты же не станешь отрицать, что в Сях и Плюсах море возможностей уронить самолёт.
> В любом тюринг полном ЯП бесконечно много возможностей уронить самолет.

В Сях и Плюсах сделать это особенно просто в силу множества причин, ибо языки заточены на тонкое их использование умелыми руками профессионалов.


>> В силу специфики этих языков некоторые такие места принципиально неустранимы.
> Например, какие и почему? Как насчет конкретики? То что это не в
> 100% по зубам вебмакакам - так им нечего делать в реалтайме
> и надежности, они не об этом.

Неопределённое поведение. Даже оно, взятое само по себе, должно ставить крест на использовании Сей и Плюсов в критических задачах.

Особенности работы с типами данных. Напоминаю ещё раз о переворачивающихся самолётах. Какое число у нас получается при добавлении единички к последнему, допустимому для объявленного типа данных? :-)

Арифметика указателей. Скажи, положив руку на пульс планеты: это точно то, что надо для написания ПО для критических применений? Точно-точно?

Особенности управления памятью и сишной строки.

i++ vs ++i, наконец.

Зачем вся эта милота и красота там, где от любой ошибки может упасть ракета и запороть проект стоимостью в миллиарды, да ещё и убить экипаж и зрителей?

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

Я не утверждаю, что писать такой софт на Си/Си++ нельзя, но ещё раз повторяю свою мысль: для критических задач создали Аду. Люди, которые её придумали, были уж наверняка не глупее нас и что-то таки понимали.


> У меня HardFault (крутой HW exception для явно сбойных ситуаций) в Cortex-M
> именно от моего программизма на моей памяти был 1 раз, когда
> я по своей инициативе (!!!) читанул адрес 0. Чтобы узнать начальный
> адрес стэка. Оказалось фирма ARM не любит NULL. Надеюсь, это достаточно
> хорошо характеризует достижимую на си культуру работы с памятью. И не
> то чтобы я мегапрограммист. Просто аккуратно отнессе к вопросу.

Ну вот, а спрашиваешь, что не так с Сишечкой. С ней-то всё так, но с людьми, которые её используют, всегда что-то не так. Это инструмент не для всех, я считаю. Она слишком многое позволяет.


> А там софт на си вообще был? А то на аде ракета
> тоже вот именно этсамое...

Городская легенда гласит, что:

http://www.lookatme.ru/mag/how-to/ask/204797-quora


>> Стремление во всякую железку засунуть программу приводит к этой идиотеке.
> А тут такие соображения:
> 1) Гора механики и жесткой логики зачастую менее надежна, сложнее в обслуживании
> и тяжелее. Один МК может заменить шкаф добра, и в том
> шкафу явно было чему сломаться. И мы приходим к вопросу "failure
> rate".

Нифига подобного. Причина именно та, что я писал: экономят на механике, материалах и людях, которые умеют с этим грамотно работать. Иногда, пожалуй, лучше не знать, как и где экономят — будешь спокойно спать…


> 2) Софтварный алгоритм имеет больше шансов менее глупо реагировать на проблему. Там
> где чисто железное решение выпадет в аут, софт может начать игнорить
> проблемный датчик, а состояние строить по хитрозадым фильтрам + что в
> системе еще осталось. Так можно попытаться graceful degrade до тех пор
> пока вообще что-то работает. То что это еще не всегда получается
> - другой вопрос.

Аналоговый вычислитель в машинах зачастую лучше бы решал, но он дороже и его сложнее делать. Да и не модно, не молодёжно.


>> Это стремление изначально вызвано чрезмерно завышенными зарплатами говнокодеров
>> в развитых странах,
> А я вижу иное. Эра глупых машин закончилась. Наступает эра умных машин.
> А постепенно, вероятно и разумных. И не в обиду пилотам, КМК,
> нейросети будут лажаться многократно меньше. И хотя они тоже будут иногда
> убиваться, в пересчете на <километр, пассажира, рейс, ...> - это не
> будет идти ни в какой сравнение.

Ой, ну не надо быть таким наивным. :-) Никуда ничего не наступает, просто экономия и норма прибыли при использовании электроники получаются больше, вот и суют её всюду. Попутно, правда, появляются расходы на погромиздов, но, как мы знаем, тиражирование отработанной и окупившейся микросхемы чрезвычайно дёшево, а тирижирование уже написанного софта не стоит вообще ничего — в отличие от тиражирования любой материальной детали или узла. ИТ делает для производителей производство дешевле — это единственная _реальная_ причина продвижения ИТ. Попутно _иногда_ улучшаются _некоторые_ потребительские свойства товара, но чаще всего не улучшается ничего, а улучшение заменяется агрессивной рекламой, убеждающей нас в наличии такового.


>> в 9 из 10 случаев, в которых его сейчас применяют или пытаются внедрить,
> Позволю себе не согласиться. Это
> 1) Сделало возможным много того что было невозможным или нецелесообразным.

Например?

> 2) Нехило подняло эксплуатационные свойства ряда штук.

Добавило всюду экранов и сенсоров? Да уж, прогресс…

> 3) А в ряде случаев так еще и стало радикально надежнее.

Примеров, пожалуйста, в студию.

4) значительно улучшило предсказуемость планируемого устаревания промышленных изделий и вознесло копроэкономику на невиданные высоты.

У меня дома есть несколько электронных приборов. У почти всех аккумулятор либо вспух, либо состарился. А замены взять негде, поскольку снято с производства. Есть на Али _как бы_ аналоги производства хижин дяди Ляо — на свой страх и риск. В старые добрые времена, когда принимались стандарты на компактные источники питания, такое было невозможно. А сейчас — норма.


>> Там, где 50 лет назад обошлись бы куском железа,
> ...в 90% случаев забили бы т.к. это дорого, криво и геморройно. Или
> если очень надо оставили бы вахтера пару кнопок жать. И еще
> вопрос не набухается ли он. В остальных случаях был бы уродский
> шкаф барахла, где раз в месяц что-то коротит. А МК что,
> это кусок кремния, там ломаться особо нечему, все провода на кристалле,
> упакованы от внешних воздействий.

Когда речь идёт, к примеру, о ресурсе двигателя, разговоры об экономии переходят в долговременную плоскость и не в пользу нас. Моторов-миллионников, которыми были славны некоторые производители в шестидесятые, семидесятые и восьмидесятые годы, нынче не делают. Вместо этого тачку упаковывают яркими бестящими экранами, кнопочками сервоприводов и другой копеечной бижутерией. Конечная цена машины для потребителя остаётся такой же. Вопрос: кто (производитель vs потребитель) и сколько приобретает и теряет при покупке традиционного корыта 40 лет назад и модно-молодёжного сегодня (после приведения ценников к единому курсу, конечно).


>> прогресс. На этом нехитром обмане делаются колоссальные бабки. В том числе
>> экономией на «умных» датчиках вместо простых и надёжных. Так что датчикопроблемы
>> относятся к ЯП, хоть это не сразу и видно.
> Кроме бабок - принципиально изменились многие паттерны инженерии и проектирования.

Эти паттерны называются планируемое устаревание, ага. :-)


> И я
> со своей стороны считаю что сеть по которой разлетается от мозга
> к исполниловке явно лучше чем куча механических тяг и чего там
> еще.

У механических тяг есть ряд преимуществ:

1) их можно самостоятельно починить в гараже при помощи кувалды и такой-то матери;

2) они реалтаймовые безо всяких ухищрений;

3) они дают прекрасную обратную связь — опять же без ухищрений;

Но есть и недостатки в сравнении с ИТ:

1) тяга всегда стоит денег, её невозможно тиражировать бесплатно;

2) для её проектирования и производства нужно иметь _настоящих_ квалифицированных инженеров и специалистов других наук, а не погромиздов, копипастящих с шлаковерфлоу.


> Более того - исполниловка может быть весьма далеко и вообще где удобно.
> С железяками так не катило. И собственно единственным отличием было то
> что в механических системах 100% отказов были в механике. Это однако
> вовсе не делало их редкими.

Система всё равно остаётся механической по существу. :-) Добавляя электронику, мы добавляем ещё один слой, в котором возможны отказы. В некоторых случаях этот слой объективно улучшает свойства итоговой системы, а в некоторых нет. Необходимо уметь находить этот баланс. Его же и не ищут сегодня, поскольку, как я уж три раза писал, чипы и погромизды стоят дешевле инженеров, материаловедов и механики. Чем больше тираж продукта, тем больше разница.


> И я таки имею основания думать что в целом от смены паттернов
> надежность улучшилась. А отказы - ну, если самолеты не летают, они
> и не падают. Но это скучно.

Двигатели-миллионники — и можно спор закрывать. :-)


>> Да-да… А можно просто взять Аду, которая специально создана для таких случаев,
>> и не париться о сексе стоя в гамаке.
> Возможно. Просто это довольно эзотеричная штука для специфичных задач.

Вовсе даже она не эзотерическая. Но в стороне от говнокодерских интересов, это да. Аду активно развивают, периодически обновляют стандарт. У неё прекрасная документация. Почему её не хотят применять шире — это для меня загадка. Наверное, как и с Паскалем, всё дело в скобках. :-)

> Фича си в
> его универсальности, это инструмент системщика и им в принципе можно сделать
> что угодно. Управляющие задачи и т.п. оказалось похоже на что-то такое.
> Ну вот и получилось так. Лично я не испытываю желания прогать
> на аде. Мне нравится си, он хорошо укладывается и на машину
> и на мой мозг, являясь съедобным и работоспособным компромиссом.

Спасибо за лекцию, товарищ профессор, уж теперь-то я буду знать. :-)

Но всё же напомню ещё раз, что Аду _специально_ сделали для авиастроения, ракетостроения и пр. Её создатели были в курсе существования Сишечки и знали о её достоинствах и недостатках.


> А на другие планеты таки надо расселиться.

Зачем?


>> Типичный программист глуп
> Совсем глупые программистами не становятся, хоть немного работающий мозг способный к логическому
> мышлению для этого все же надо.

Логика, нужная и достаточная для начала занятия программированием, чрезвычайно примитивна, это самое-самое начало формальной логики. Даже смешно ставить это в заслуги. Ею в той или иной мере обладают все психически полноценные человеки.


>> и ничего не знает о науках реального мира.
> Самый кайф штук типа МК это возможность скрестить реальный мир и софт...
> и да, при этом стоит принадлежать к обоим мирам.

МК это что?

Ответить | Правка | К родителю #500 | Наверх | Cообщить модератору

537. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (537), 07-Июн-20, 20:11 
> В Сях и Плюсах сделать это особенно просто в силу множества причин,
> ибо языки заточены на тонкое их использование умелыми руками профессионалов.

1) Си был сделан системщиками. У ни надежность выше среднего "по роду деятельности".
2) Плюсы таки имхо стоит рассматривать отдельно. Там можно наворотить очень сложные и концептуальные вещи, которые не понятно как взаимодействуют с железом, нестандартными ситуациями и прочим. В духе того бреда HW exception vs Ada, только еще и софтварно.
3) Мой личный опыт с сями таков что на них можно писать аккуратно и предсказуемо. Если не относиться к этому процессу как вебмакака. А с таким отношением никакой ЯП не поможет.
4) В случае си довольно просто понять как это маппится на железо и взаимодействовать с оным. И у МКшных сишников ситуация "прилетел HW эксепшн, а мы ниипем что это за зверь" - редкость. Сишники бывают достаточно близки к bare metal для того чтобы подумать что делать при watchdog timeout, крутом exception, затыке железа и проч. Теоретики в своих абстракциях обычно не заморачиваются этим - они не ижненеры, полное видение системы вне их контекста мышления.

> Неопределённое поведение. Даже оно, взятое само по себе, должно ставить крест на
> использовании Сей и Плюсов в критических задачах.

С чего бы? Прогеры просто не должны полагаться на него. И вообще, имхо, господам теоретикам нехило бы попытаться что-нибудь сделать по своим лекалам. Вот тогда им станет понятнее в чем прикол. И wtf is "tunnel vision". Утык в 1 проблему при том что проблема многогранна и многофакторна к добру не приводит.

> Особенности работы с типами данных. Напоминаю ещё раз о переворачивающихся самолётах.

Уже не падающих, в отличие от ракет с адой? :)

> Какое число у нас получается при добавлении единички к последнему, допустимому для
> объявленного типа данных? :-)

Зависит от типа данных и фактической реализации в железе. И да, в этой вашей аде - вы только подумайте, это чекать не стали по соображениям оптимизации. Только адовики явно более расслабленные чем сишники и не очень готовы съесть последствия этого.

> Арифметика указателей. Скажи, положив руку на пульс планеты: это точно то, что
> надо для написания ПО для критических применений? Точно-точно?

Это не следует использовать без острой нужды. Иногда - таки надо. Простой пример: boot loader занимающийся апдейтом основной фирмавары. Указатель на точку входа в фирмвару нам все же надо чтобы ее запустить. Или надо это вообще на ассемблере?

Туда же странные для вас вещи типа global state "вне контекста" программы и потому переживающие HW reset, так что после ресета чипа можно быренько вспомнить где были и что делать. Double-edged sword, есть риск наступить на факт что ресет не приводит к деглюкации. И тут что важнее: быстрый tune-in или более гарантированная деглюкация. Смотря что перевешивает.

Еще ща memmapped регистры железок - адреса в памяти. Это типовой паттерн проектирования железа. Так что работа с HW = "доступ к адресам". Что хотите, то и делайте! А делая математику над этим надо еще понимать реальные обращения к адресу. Потому что есть IRQs которые могут там же что-то хотеть, а железо само меняет регистры по ходу пьесы. Безбашенная реализация без понимания ведет к race conditions. Стреляющих раз в год. Это очень трудноуловимые и потому опасные классы багов.

ИМХО, абстрактные рассуждения - одно. А попытка удержать комбо железа и софта в мозгу и понять что оно по факту сделает и как не наступить на грабли "де-факто" - другое. И я думаю что когда речь о программноаппаратной штуке, это чертовски важно. С сями у меня это более-менее получается.

> Особенности управления памятью и сишной строки.

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

> i++ vs ++i, наконец.

Внезапно, это лишь маппинг того что де-факто умеет железо. И иногла удобно одно, иногда другое. Это позволяет оптизировать некоторые алгоритмы vs железо. Опять же если програмер понимает это, ничем не грозит. И расписно в каждом втором мануале на чипы.

> Зачем вся эта милота и красота там, где от любой ошибки может
> упасть ракета и запороть проект стоимостью в миллиарды, да ещё и убить экипаж и зрителей?

Если кто-то не заметил, красоты оставляют столько, сколько обосновано. Поэтому апликушные рожи пишут немного не так как микроконтроллерщики и являются малость раздолбаями. Особенно плюсовики.

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

Вот тут я согласен - "простая насколько это возможно, но не более того". То-есть - если мы знаем что у нас 12-битный ADC, получение сэмпла более 0xFFF намекает хьюстону про проблемы. Туда же и таймаут железки. Даже "simple automation" может уйти навечно в себя если частица воткнется. И будет очень кстати если код 1) заметит это и 2) не будет делать откровенно провальные действия, как те адовики.

> Я не утверждаю, что писать такой софт на Си/Си++ нельзя, но ещё
> раз повторяю свою мысль: для критических задач создали Аду. Люди, которые
> её придумали, были уж наверняка не глупее нас и что-то таки понимали.

Я даже согласен что некий пойнт есть. Но он относительно теоретический и однобокий на мой вкус. А на практике ... есть ракета убаханая адовиками, а хотя-бы самолет... хм... ?

> Ну вот, а спрашиваешь, что не так с Сишечкой. С ней-то всё
> так, но с людьми, которые её используют, всегда что-то не так.
> Это инструмент не для всех, я считаю. Она слишком многое позволяет.

Программирование реалтаймных надежных систем - априори не для всех. Там вообще нехило бы знать довольно много о железе, софте и как это де-факто взаимодействует. Иначе можно наступить на очень странные грабли. Скажем некоторая mmaped периферия очень требовательна к порядку доступа. Си достаточно прост чтобы это неплохо обыграть. А остальные... даже не знаю.

> Городская легенда гласит, что:

Там забавные баги, особенно клетчатый тип. И я начинаю припоминать подобную байку. Только она немного звучала, самолет был пилотный и не убился, хоть пилот и офигел. Но я никогда не встречал деталей.

> Нифига подобного. Причина именно та, что я писал: экономят на механике, материалах
> и людях, которые умеют с этим грамотно работать.

Чем больше трубочек, проводочков и проч, тем быстрее при вибрации что-нибудь отвалится или замкнет. Механика подвержена износу и усталости. Не все из этого хоршо заметно, диагностика сложна, ненадежна, трудоемка, плавающее КЗ вообще могут не заметить на земле, а потом уже поздняк.

Грубо говоря, МК к его датчику + шина в которую он сливает результат имеют в 9000 раз меньше причин для отвала + могут в самодиагностику, не зависящую от внимания персонала, etc. И даже залоггить transient failure. Мне нравится этот аспект. Это и затраты на майнтенанс уменьшает, и убирает дофига человеческого фактора. Аналогично, можно не тянуть кучу механики черти-куда, поставив управление и исполниловку где удобно.

> Иногда, пожалуй, лучше не знать, как и где экономят — будешь спокойно спать…

Я в курсе что типичный лайнер никогда не взлетает в 100% исправном состоянии. Водилы жмущие педали не видят длинный лог ошибок OBD-II. Но меня этим не удивить.

> Аналоговый вычислитель в машинах зачастую лучше бы решал, но он дороже и
> его сложнее делать. Да и не модно, не молодёжно.

Я даже видал несколько таких и в азы ОУ умею. Но замечу что это в принципе не может ряд вещей. Оно в принципе не может переключиться на радикально иной plan B малой кровью. Есть некая разница между вычислителем и тюринг-полным процессором. МК может мониторить кипу связанных датчиков и если вон то например перегревается, выключить или сменить режимы. Добиться такого интеллекта от аналоговщины малореально и гарантирует толпу наладчиков с крутилками - и толпу отказов на этой почве.

> Ой, ну не надо быть таким наивным. :-) Никуда ничего не наступает,

Если инженерные паттерны и парадигмы изменились - и теперь поезд, самолет и даже автомобиль это куча процов соединенных сетью, странно это игнорировать. Это удачный паттерн сделавший системы менее аляповатыми и более умными. Да, решив одни проблемы оно принесло другие, но в целом эффект позитивный. Иначе бы не использовалось.

> просто экономия и норма прибыли при использовании электроники получаются больше, вот
> и суют её всюду.

Кроме этого есть и технические моменты, труднореализуемые или невозможные. Аналоговый вычислитель сложно "пробросить на 1000 километров". А цифровые отсчеты - хоть на другую сторону глобуса.

> как мы знаем, тиражирование отработанной и окупившейся микросхемы чрезвычайно дёшево,
> а тирижирование уже написанного софта не стоит вообще ничего —

И это тоже. Более того - монтаж печатных плат и чипов куда технологичнее чем месиво из кучи проводов требующее кучу мануальщины. С рисками ошибок и отказов, опять же. Однажды оттестив печатку, накопипастить не вопрос. А клубок проводов в шкафу собирать отдельно - и каждый раз может выйти лажа. Цифровые системы радикально упростили это - и сделали надежным. Если роботы собрали плату 100 раз, 101-я скорее всего ничем не хуже.

> в отличие от тиражирования любой материальной детали или узла.

Копипаста всем понравилась - токарей отправили за сборщиками шкафов, сделав CNC которые вполне себе хардварная версиея копипасты. А идеал это автоматическая фаба. Ей модель на вход, девайс на выход. И уже есть автоматические фабы без людей.

> ИТ делает для производителей производство дешевле — это единственная _реальная_
> причина продвижения ИТ. Попутно _иногда_ улучшаются _некоторые_ потребительские свойства
> товара, но чаще всего не улучшается ничего, а улучшение заменяется агрессивной рекламой,
> убеждающей нас в наличии такового.

Одной рекламой сыт не будешь. А таки технологичные, повторяемые решения имхо хорошо. Это делает их массовыми и повсеместными. Десяток крутых вундервафель на всю планету - скучно и бесполезно для большинства людей. Не то чтобы совсем не нужно, но возможность повторить на бис методом копипсты - ацкий плюс.

>> 1) Сделало возможным много того что было невозможным или нецелесообразным.
> Например?

Проц в плите! Программируемые времена, детект пустой плиты, антисклероз и safety timeout. Автоматические кастрюли, с которыми кто угодно повар: насыпал, залил, запустил программу и забыл. Через часик готово. А оно там само режимы телепает. Или робот-пылесос. С ним вокруг куда чище, он не ленивый. Все это делает жизнь лучше. А порой и безопаснее: забытая плита это хреново. Хорошо что авторы фирмвари в курсе склерозности людей.

На жесткой логике такое вообще не особо прокатило бы. А жизню лучше явно делает.

> Добавило всюду экранов и сенсоров? Да уж, прогресс…

Ну вон робот автоматически пыль коллекционирует, иногда только бак вытряхнуть. А из интерфейсов 1 кнопка - "сделать зашибись". Работает, через час - зашибись!

> Примеров, пожалуйста, в студию.

Да те же самолеты. Новые статистически (в пересчете на вылет, километр, ...) здорово надежнее. Картинные факапы конечно да, но... пока не было цифровых систем, были люди. Они лажались чаще. Устранение human factor поднимает надежность инженерных систем. Однажды люди решили что железный TCAS в приоритете над мясным диспетчером. Прецеденты, прецеденты.

> 4) значительно улучшило предсказуемость планируемого устаревания промышленных изделий
> и вознесло копроэкономику на невиданные высоты.

Многие микропроцессорные штуки живут десятилетиями. Микроконтроллеры делают на десятки лет - заранее неизвестно куда их поставят. Так что не факт.

> свой страх и риск. В старые добрые времена, когда принимались стандарты
> на компактные источники питания, такое было невозможно. А сейчас — норма.

Так вышло что будущее пришло а новые стандарты не сделали. Точнее, призматический литий - стандартен. Просто вариантов X*Y*Z легион, под все мыслимые нужды. Но если задаться целью, найти банку можно. Электроника защиты или BMS - вопрос номер два. Я пару раз реюзал от родной банки.

Самое стандартное из - 18650, наверное. Батареи "для лаптопов" которые перекочевали в современные фонари, электроинструмент, powerbank и проч, где надо как можно больше электричества при меньшем размере и весе. И нет, как угодно, но меня зачастую не устроят более тяжелые и объемистые батарейки где В ТРИ РАЗА меньше энергии в том же размере. Это достаточно хорошее улучшение чтобы я поканителился.

> Моторов-миллионников, которыми были славны некоторые производители в шестидесятые,
> семидесятые и восьмидесятые годы, нынче не делают.

Я знаю авто которые десяток лет и более юзали без особых ремонтов, намотав почтительные расстояния. Не миллион, конечно.

И удачи без проца суметь евро5. Без этого, когда миллионы накупают авто, в городах начинается газенваген. В этом месте право наматывать миллион наезжает на право не дохнуть от выхлопов. На вашем месте я бы радовался: можете купить и ездить. Главное чтобы вас было мало и вас не замечали. Иначе отлупят и запретят, глобальный газенваген люди не потерпят.

> же. Вопрос: кто (производитель vs потребитель) и сколько приобретает и теряет
> при покупке традиционного корыта 40 лет назад и модно-молодёжного сегодня (после
> приведения ценников к единому курсу, конечно).

До некоторой степени тенденции есть, конечно, но обычным людям хватает на дофига лет, а потом там начинается дочерта проблем с всем вплоть до сгнившего кузова - и те миллионники тоже всем этим страдали. Конечно, при сильном желании - DeLorean вон из нержавейки, но их и выпустили, пардон :)

> Эти паттерны называются планируемое устаревание, ага. :-)

В ряде стран это запрещено законодательно. Даже уголовная ответственность бывает. Так что именно специально этим редко занимаются.

> 1) их можно самостоятельно починить в гараже при помощи кувалды и такой-то матери;

И с электроникой частично катит, просто для электронщиков вместо механиков.

> 2) они реалтаймовые безо всяких ухищрений;

Только медленные процессы. Сунуться в микросекунды? Упс, инерция.

> 3) они дают прекрасную обратную связь — опять же без ухищрений;

Вспотевший водила vs руль без усилителя жарким летом поспорил бы на тему багов и фич.

> 1) тяга всегда стоит денег, её невозможно тиражировать бесплатно;

Алсо, длинная или изогнутая тяга - непрактично или нереализуемо. Дальше идут тянуть электрику или гидравлику, на каждый контрол, получается месиво проводов и трубочек. Вместо 1, бл, шины.

> 2) для её проектирования и производства нужно иметь _настоящих_ квалифицированных инженеров
> и специалистов других наук, а не погромиздов, копипастящих с шлаковерфлоу.

В эпоху CNC и CAD копипастеры там в почете. В этом их пойнт.

> Система всё равно остаётся механической по существу. :-)

Система следует другим паттернам - есть сеть/шина, есть роли на ней, они чем-то перекидываются. Одна группа проводов на все. Или даже радио. Или интернет. Прокиньте тягу на другую сторону шарика?

Более того - цифровые системы можно собирать в более глобальные вещи для глобальной координации и мониторинга. Энергетикам и т.п. явно по вкусу.

> Добавляя электронику, мы добавляем ещё один слой, в котором возможны отказы.

Но обычно и выкидываем много слоев.

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

Ну вот как-то в целом этот подход проиграл по совокупности параметров. Придумают что-то лучше - и это задвинут. Хотя больше похоже что скорее доразовьют до абсолюта.

> Двигатели-миллионники — и можно спор закрывать. :-)

Это ширпотреб, и видимо в целом пиплам столько не надо, никто и не парится.

> Почему её не хотят применять шире — это для меня загадка. Наверное,
> как и с Паскалем, всё дело в скобках. :-)

Возможно. Я начинал с паскаля. Отличная штука чтобы понять как надо. И зело нудная чтобы на нем что-то реальное делать. На сях мне как-то явно прикольнее. И в конечном итоге я могу им зарулить почти любую мыслимую задачу от фирмвари МК до патча кернела или какой-то сетевой штуки делающей странные вещи.

> Но всё же напомню ещё раз, что Аду _специально_ сделали для авиастроения,
> ракетостроения и пр.

Я думаю что они забыли спросить чего хотели инженеры которые это делают, вместо этого вообразив какие-то синтетические конструкции.

>> А на другие планеты таки надо расселиться.
> Зачем?

Этот мир не будет существовать вечно. Вымереть как динозавры после всего этого? Было бы досадно. Более того - я бы не отказался увидеть как выглядит суперцивилизация с суперструктурами типа сферы Дайсона. Технически реализуемо, ниипет.

> Логика, нужная и достаточная для начала занятия программированием, чрезвычайно примитивна,

Оно все же требует немного абстрактного мышления. Это довольно продвинутая форма нервной деятельностии, не каждое двуногое на это способно.

> Ею в той или иной мере обладают все психически полноценные человеки.

Думаю, максимум что светит какому-нибудь борцу или пловцу программировать - кнопки в лифте.

> МК это что?

МикроКонтроллеры (MCU). Как правило сие небольшие чипы, где процессорное ядро, RAM и (Flash)ROM упакованы в 1 чип. "Маленькие компьютеры" для встраиваемых применений. Самые мелкие и предсказуемые, умеют в жесткий реалтайм и быстрые и предсказуемые реакции (порядка микросекунд если не наносекунд), заточены на взаимодействие с физическим миром.

https://en.wikipedia.org/wiki/Microcontrollers

Ответить | Правка | К родителю #528 | Наверх | Cообщить модератору

560. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 08-Июн-20, 21:07 
Чувак, давай договоримся: ты не будешь больше писать огромные простыни банальных и общеизвестных вещей. Излагай лаконично и по существу. Я даже читать это не буду дальше первого абзаца про Си, не говоря уж о комментировании.
Ответить | Правка | К родителю #537 | Наверх | Cообщить модератору

566. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (566), 13-Июн-20, 11:20 
> Чувак, давай договоримся: ты не будешь больше писать огромные простыни банальных и
> общеизвестных вещей.

Ты назвал себя гуманитарием с виндой. Ну я и объяснил на уровне где даже кто-то такой имеет шанс :\

Ответить | Правка | К родителю #560 | Наверх | Cообщить модератору

569. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 13-Июн-20, 11:33 
>> Чувак, давай договоримся: ты не будешь больше писать огромные простыни банальных и
>> общеизвестных вещей.
> Ты назвал себя гуманитарием с виндой. Ну я и объяснил на уровне
> где даже кто-то такой имеет шанс :\

И что с того? У тебя нет чувства юмора или ты хочешь сказать, что гуманитариям-виндузятникам запретили закон Ома, позиционное счисление и умение держать в руках паяльник? :-)

На самом деле, конечно, я прочитал (попозже, когда нашёл время). Мне эта тема интересна, но обсуждать общеизвестное не вижу смысла. Если бы я где-то высказывался о Сишечке в негативном смысле, можно было бы поспорить, но ты гарантированно не найдёшь на опеннете ни одного такого моего комментария. А в этой дискуссии я высказывался против использования Си там, где следует использовать Аду (ибо это область mission-critical и life-critical) — только и всего.

Ответить | Правка | К родителю #566 | Наверх | Cообщить модератору

573. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (-), 20-Июн-20, 07:31 
> И что с того? У тебя нет чувства юмора или ты хочешь сказать, что гуманитариям-виндузятникам
> запретили закон Ома, позиционное счисление и умение держать в руках паяльник? :-)

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

А закон Ома это хорошо, только это школа, какой там класс, и не требует многого. Но этот мир намного сложнее чем сие.

> комментария. А в этой дискуссии я высказывался против использования Си там,
> где следует использовать Аду (ибо это область mission-critical и life-critical) —
> только и всего.

А я соответственно и поинтересовался - какие есть предпосылки по части того how it performs на практике. На сях дочерта всякого добра в критичных местах, и мир вроде не разваливается на части.

А так - ну вон тойота. Растовикам там прилетело бы в тыкву не хуже. И адовикам наверное тоже, черт их там знает где они стэк кладут, но вменяемо обработать его переполнение они бы имхо забыли, за них же безопасный рантайм подумает. Эти умники видите ли рекурсию запилили, да еще в worstcase использования стэка не смогли. Ну стэк рос, рос и дорос до области с переменными. Потому что система с ограниченным объемом RAM - и MMU иам нет чтобы в тыкву дать (можно это вкостылить, но япы были явно не в курсе, и вообще, они там тоже расслабились с своим RTOS и рекурсией).

Ответить | Правка | К родителю #569 | Наверх | Cообщить модератору

576. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 20-Июн-20, 12:14 
> Я хочу сказать что если нечто выглядит как гуманитарий и ведет себя как гуманитарий - надо либо закрыть дискуссию

Правильно! Закрой дискуссию и не пиши мне больше. Смирись с тем, что гуманитарий никогда не поймёт всей твоей премудрости.

Ответить | Правка | К родителю #573 | Наверх | Cообщить модератору

56. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (56), 03-Июн-20, 23:29 
Скорее то что наоборот...
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

24. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +7 +/
Сообщение от Аноним (-), 03-Июн-20, 22:39 
> И никакого Rust, Ada и подобных...

Достичь надежности можно многими способами. Один из которых тут и описан. На сях написана адская куча требовательного к надежности софта под жесткий реалтайм. И это просто держит на себе половину вашего глобуса, пока вебмакаки понтуются и набивают себе цену.

А прогеры на ada между прочим угробили Arian-V. И это был самый дорогой баг в ПО в истории человечества.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

53. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Фотошоп лучше (?), 03-Июн-20, 23:27 
Но только не тот софт, который должен сработать один раз в жизни устройства. А тысячу раз проверить код на плюсах - это, конечно, самый надёжный способ (да и единственный), потому что на он очень на большом проекте становится хрупким.
Ответить | Правка | Наверх | Cообщить модератору

67. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (-), 04-Июн-20, 00:04 
> Но только не тот софт, который должен сработать один раз в жизни устройства.

У маска его добро еще и многоразовым задумано.

> на он очень на большом проекте становится хрупким.

Очень большие проекты на чем угодно становятся хрупкими. Арифметика проста: больше кодов = больше багов.

Ответить | Правка | Наверх | Cообщить модератору

97. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от anonimous (?), 04-Июн-20, 02:02 
>А прогеры на ada между прочим угробили Arian-V.

Там все прикольно. Вроде обычное переполнение.

The internal SRI software exception was caused during execution of a data conversion from 64-bit floating point to 16-bit signed integer value. The floating point number which was converted had a value greater than what could be represented by a 16-bit signed integer. This resulted in an Operand Error. The data conversion instructions (in Ada code) were not protected from causing an Operand Error, although other conversions of comparable variables in the same place in the code were protected.

При этом решение не проверять именно это место на переполнение было совершенно осознанным (т.к. комп был слабосильный и надо было экономить) и 100 раз проверялось моделированием что такой ситуации не будет. Вот только этот кусок кода был скопирован из софта для другой ракеты, с другой траекторией и совсем другими числами

The value of BH was much higher than expected because the early part of the trajectory of Ariane 5 differs from that of Ariane 4 and results in considerably higher horizontal velocity values.

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

546. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (-), 07-Июн-20, 23:59 
> Там все прикольно. Вроде обычное переполнение.

А на самом деле, если подумать, то как минимум
1) Общий долбоклюизм - безбашенно скопировать код от системы с другими параметрами, с аргументом "вроде работает", не прочекав что и правда катит в системе с новыми параметрами.
2) На тестирование системы в целом - забить, с аргументом "это слишком сложно". Серьезная заявка на успех.
3) Подобные выходки с плавучкой прямым текстом запрещает даже тот же MISRA C. Потому что конверсия плавучки в интегер это вообще в принципе грабли. Особенно если время жмет и хочется пооптимальнее. Технически, это 2 разных мира. И горе тому кто это не осознал.
4) Офигенная обработка исключений - явно не специфичная для задачи, поэтому как только оно случилось, абстракция рассыпалась и эта штука вообще не имела никаких шансов сделать что-то вменяемое.

Ответить | Правка | Наверх | Cообщить модератору

151. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (151), 04-Июн-20, 09:20 
> пока вебмакаки понтуются и набивают себе цену

Чукча не читатель? Там же в самом низу написано:


> Интерфейс, с которым работают космонавты, реализован на базе web-приложения на JavaScript, открываемого в Chromium

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

153. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (151), 04-Июн-20, 09:24 
> пока вебмакаки понтуются и набивают себе цену

Чукча не читатель? Там же в самом низу написано:


> Интерфейс, с которым работают космонавты, реализован на базе web-приложения на JavaScript, открываемого в Chromium

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

201. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 12:25 
>> И никакого Rust, Ada и подобных...
> Достичь надежности можно многими способами. Один из которых тут и описан. На
> сях написана адская куча требовательного к надежности софта под жесткий реалтайм.
> И это просто держит на себе половину вашего глобуса, пока вебмакаки
> понтуются и набивают себе цену.

Тот софт на сях пишут по особым методикам, а не по вашему отраслевому новому стандарту (ляп-ляп и в продакшын). Ты, надеюсь, знаешь об этом? Тогда зачем передёргиваешь и врёшь? Вебмакаки этот софт не пишут никогда.


> А прогеры на ada между прочим угробили Arian-V. И это был самый
> дорогой баг в ПО в истории человечества.

Ещё один пересказывает ОБС. Иди хоть почитай википедию, чтоб не позориться.


И, кстати говоря, практически все остальные пуски этой ракеты недвусмысленно дают понять, что сделана она вполне надёжно.

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

288. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (-), 04-Июн-20, 15:30 
> Тот софт на сях пишут по особым методикам

Логично. Только там и сроки и стоимость разработки под стать. На любом ЯП.

>  Вебмакаки этот софт не пишут никогда.

Ну вообще гламурную морду написали. Правда ее подперли кнопками, зная повадки вебмакак.

> дают понять, что сделана она вполне надёжно.

Однако achievement все-таки unlocked. И вообще совсем не тот который задуман в изначальном описании.

Ответить | Правка | Наверх | Cообщить модератору

96. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от anonimous (?), 04-Июн-20, 01:50 
>Управляющее полётом ПО написано на C/C++

Там так все урезано, что от с++ остается что-то более-менее управляемое

У НАСА например надо удовлетворять мисре, + у них добавлены свои ограничения

https://en.wikipedia.org/wiki/The_Power_of_10:_Rules_for_Dev...

мисра вроде только платная, но для си есть
http://easyelectronics.ru/files/Book/misra_c_rus.pdf

для с++ можно глянуть
https://www.grammatech.com/sites/default/files/misra2012-map...

так, для примера
Dynamic heap memory allocation shall not be used.
The C library shall not be used.
When an array is declared, its size shall either be stated explicitly or defined implicitly by initialization.
The increment ( ++ ) and decrement ( -- ) operators should not be mixed with other operators in an expression.
вот это любопытно
Sections of code should not be "commented out" using C++ comments.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

203. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 12:30 
Смотрите-ка, не только стырили, но и перевели. А я читал на английском. :-)
Ответить | Правка | Наверх | Cообщить модератору

345. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (344), 04-Июн-20, 19:51 
> Смотрите-ка, не только стырили, но и перевели. А я читал на английском. :-)

Линку дай. На русском там такая терминология местами что без поллитры не разберешься.

Ответить | Правка | Наверх | Cообщить модератору

369. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 20:40 
>> Смотрите-ка, не только стырили, но и перевели. А я читал на английском. :-)
> Линку дай. На русском там такая терминология местами что без поллитры не
> разберешься.

Ты хочешь купить или украсть?

Купить — там: https://www.misra.org.uk/Buyonline/tabid/58/Default.aspx

Украсть — Гугл подскажет где.

Ответить | Правка | Наверх | Cообщить модератору

376. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (376), 04-Июн-20, 20:54 
> Ты хочешь купить или украсть?

На самом деле всего лишь почитать. Чтобы это вот именно кражей стало - я должен взять у MISRA их, гм, довольно странный товар в виде _сообщений_ и где-то типа компилера или верификатора поюзать. Тогда это еще будет напоминать кражу (по версии MISRA).

> Украсть — Гугл подскажет где.

Да я уже нашел относительно легальный вариант - описание на кривой козе, без самих сообщений которые цопирайт этих жадин.

Ответить | Правка | Наверх | Cообщить модератору

383. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Anonymoustus (ok), 04-Июн-20, 21:40 
Мне, собственно, не жаль, это не моё:

http://libgen.is/search.php?req=Motor+Industry+Software+Reli...

Там документы не последней версии, но читать годятся.

Ответить | Правка | Наверх | Cообщить модератору

121. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +2 +/
Сообщение от Аномсис (?), 04-Июн-20, 05:06 
Зато есть JavaScript и Chromium.
Откроют несколько вкладок и память закончится в космосе.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

160. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (151), 04-Июн-20, 09:33 
> Откроют несколько вкладок и память закончится в космосе

Простите, а несколько вкладок чего?

Ответить | Правка | Наверх | Cообщить модератору

581. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от FF (?), 02-Июл-23, 19:01 
Несколько приложений, какая разница. Хоть калькулятор, хоть IDE
Ответить | Правка | Наверх | Cообщить модератору

138. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  –1 +/
Сообщение от Анонимъ (?), 04-Июн-20, 08:44 
Есть там растишка.

> At SpaceX I worked with the platform team to improve the boot times of flight hardware. This involved changes to the bootloader, kernel, drivers, initialization systems, and flight software runtime. My changes decreased boot times by 75%.

https://sergio.bz/

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

143. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (143), 04-Июн-20, 09:06 
Стабильный Rust появился после того, как значительная часть кода уже была написана
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

314. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (313), 04-Июн-20, 18:20 
> Стабильный Rust появился после того, как значительная часть кода уже была написана

...и прожил пару месяцев, после чего опять все перефигачили во имя бобра.

Ответить | Правка | Наверх | Cообщить модератору

149. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  –2 +/
Сообщение от КО (?), 04-Июн-20, 09:16 
Rust -
в программах требующих предсказуемого поведения языки с автоматическим управлением памятью не подходят. А без оного - кой в нем прок?
Ada -
хороший программист на нем - очень большая редкость.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

185. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (143), 04-Июн-20, 10:34 
И что же в Rust непредсказуемого относительно управления памятью? Это тебе не Java / C# / Python со сборкой мусора
Ответить | Правка | Наверх | Cообщить модератору

315. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  –2 +/
Сообщение от Аноним (313), 04-Июн-20, 18:22 
> И что же в Rust непредсказуемого относительно управления памятью? Это тебе не
> Java / C# / Python со сборкой мусора

Например MISRA C запрещает динамическое выделение памяти в HEAP. И правильно делает. А вы вообще в состоянии понять упрвление памятью этой штуки чтобы осознать worst case? А то хорошо когда фирмварь запускается - и у нее ну вот вообще совсем не может кончиться память после этого.

Ответить | Правка | Наверх | Cообщить модератору

334. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Forth (ok), 04-Июн-20, 19:07 
Какой штуки? Rust в heap память выделяет явно, через хреновины типа Box.
Не надо - не пользуйся Box.
Ответить | Правка | Наверх | Cообщить модератору

468. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Совершенно другой аноним (?), 05-Июн-20, 15:37 
> Какой штуки? Rust в heap память выделяет явно, через хреновины типа Box.
> Не надо - не пользуйся Box.

Я так понимаю, что уважаемый тёзка, а может и родственник, хотел указать, что память того, может утечь и закончится, и когда в очередной раз Вы вызовете выделение памяти, вам скажут, в терминах C - NULL. И дальше что Вы будете делать на половине пути между орбитой и землёй?

Ответить | Правка | Наверх | Cообщить модератору

489. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Forth (ok), 05-Июн-20, 20:00 
> Я так понимаю, что уважаемый тёзка, а может и родственник, хотел указать,
> что память того, может утечь и закончится, и когда в очередной
> раз Вы вызовете выделение памяти, вам скажут, в терминах C -
> NULL. И дальше что Вы будете делать на половине пути между
> орбитой и землёй?

А вы не выделяйте. В расте пока Box::new не скажешь heap трогать не будет.
Для таких случаев, как описываете, есть no_std режим. Там урезанная стандартная библиотека без heap.
Так что если надо полный детерминизм для этого всё есть.

Ответить | Правка | Наверх | Cообщить модератору

511. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (-), 06-Июн-20, 16:45 
И тем не менее, раст какой-то сложный и его все время перефигачивают. Вон новая версия и опять дохрена изменений. Это замечательно, но когда я между железом и софтом - я при этом утрачиваю видение системы в целом. И вместо понятной и предсказуемой штуки получается черный ящик, что совсем не рулит. Для сей осознать взаимодействие с железом явно проще. И высокоуровневые конструкции всему этому вообще совсем не помогают - ровно наоборот.
Ответить | Правка | Наверх | Cообщить модератору

545. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Forth (ok), 07-Июн-20, 22:03 
> И тем не менее, раст какой-то сложный и его все время перефигачивают.
> Вон новая версия и опять дохрена изменений.

Все эти изменения с обратной совместимостью, старый код никак не пострадает.

> Это замечательно, но когда
> я между железом и софтом - я при этом утрачиваю видение
> системы в целом. И вместо понятной и предсказуемой штуки получается черный
> ящик, что совсем не рулит. Для сей осознать взаимодействие с железом
> явно проще. И высокоуровневые конструкции всему этому вообще совсем не помогают
> - ровно наоборот.

С чего такие выводы?  Вы посмотрите на ассемблерный выхлоп.
Даже что-то функциональное типа .filter.map.collect выражается в итоге в простой цикл без фигни неведомой.

Ответить | Правка | Наверх | Cообщить модератору

547. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +1 +/
Сообщение от Аноним (547), 08-Июн-20, 00:17 
> Все эти изменения с обратной совместимостью, старый код никак не пострадает.

Это в целом выглядит высокорискованно - на уровне парсинга, генерации кода, стандартных либ и объема изменений во всем этом. ИМХО, если кто живет на вулкане, hi-rel его явно не интересовал. Какой rel на вулкане, право? В любой момент #%анет! Это единственное что можно гарантировать.

> С чего такие выводы?  Вы посмотрите на ассемблерный выхлоп.

Есть какие-то внятные гарантии что это будет одинаковым или мало изменяющимся между версиями компилера, либ и ллвм?

> Даже что-то функциональное типа .filter.map.collect выражается в итоге в простой цикл без
> фигни неведомой.

Зато все это надо в бошке держать - понимая как оно де факто оттранслируется. И если я хотел простую конструкцию - то и записать ее логично просто. А завтра в LLVM или этой штуке что-то поменяется и все окажется иначе. А чего доброго и с багами. Даже в си, без всяких плюсов, можно получить довольно нестандартные приколы в репу, с которыми "апликушники" либо не знакомятся, либо не парятся.

А чисто по человечески я буду думать что взрослый человек все же должен отдавать отчет в действиях - и поэтому может использовать опасные инструменты достаточно безопасным образом, вместо того чтобы хотеть везде безопасный детсад как единственную опцию. Отвечать за то что мозильская хипстота наворотила в рантайме, кодогенераторе, парсинге, либах и зеленеть изучая их конский объем изменений каждый месяц все же как-то не прикольно.

Так там ordu вон чего-то с этим упражнялся на атмегах - но я так и не понял каких успехов он достиг. И может ли он при этом сказать о своей системе то что могу сказать я.

Ответить | Правка | Наверх | Cообщить модератору

551. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Forth (ok), 08-Июн-20, 01:17 
Я не доверяю ни gcc, ни расту ни любому другому софту.
Я проверяю. В основном модульными тестами и тестами, которые QA проводит на наших продуктах. Если продукт тесты проходит, а тесты покрывают всё или по-крайней мере все критичные части, значит можно _предполагать_, что всё хорошо.
Полагаться же на некое "они там наворотили", а вот тут "все такое проверенное временем" я не буду.
Другое дело, что писать на C и тем более тесты C-кода, гораздо муторнее и дольше и это задолбало.
Я свой выбор сделал: legacy остается на C, всё новое пишется на Rust, если нет каких-то объективных причин писать на чем-то другом.
Ответить | Правка | Наверх | Cообщить модератору

553. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (-), 08-Июн-20, 07:54 
> Я не доверяю ни gcc, ни расту ни любому другому софту.

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

> Я проверяю. В основном модульными тестами и тестами, которые QA проводит на
> наших продуктах. Если продукт тесты проходит, а тесты покрывают всё или
> по-крайней мере все критичные части, значит можно _предполагать_, что всё хорошо.

А оно является именно "critical" когда с вот лично вас за отказ этой штуки могут спросить, с перспективой компенсации ущерба или тем более обвинить в причинении вреда здоровью/смерти?

> Полагаться же на некое "они там наворотили", а вот тут "все такое
> проверенное временем" я не буду.

И тем не менее - это фактор. Если я юзаю тулчейн, сделал на нем кучу фирмварей, они работали как надо и все такое - это аргумент. А делать полный стресстест тулчейну мне уже как-то напряжно, особенно если его каждый месяц вываливать с кучей изменений.

А так то тесты конечно да, но опять же ресурсов не бесконечно и обвешивать все тестами - нафиг надо.

> Другое дело, что писать на C и тем более тесты C-кода, гораздо
> муторнее и дольше и это задолбало.

Воевать с тулчейном тоже как-то не быстро. И еще лично я не доверяю мозилле и их экосистеме. Для меня пакость мне в систему пакетынм менеджером - жирный минус, а вовсе и не плюс. Мне нравится что у си независимая от одного корпа экосистема. А вот у раста это выглядит очень стремно.

> Я свой выбор сделал: legacy остается на C, всё новое пишется на
> Rust, если нет каких-то объективных причин писать на чем-то другом.

А это вообще про какие сценарии? Характер софта, требования к надежности, платформы, ... ? А то если это уебня какая-нибудь или корпсофт - я в курсе чего там, thank you very much. А если это что-то типа микроконтроллеров с требованиями к надежности и жесткому реалтайму, это уже интереснее послушать. Если это честное описание проблем, особенностей и грабель вместо слащавого маркетингового булшита, например. Вот маркетинговый булшит я могу почитать на сайте любой корпорахи.

Ответить | Правка | Наверх | Cообщить модератору

559. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Forth (ok), 08-Июн-20, 21:02 
> А оно является именно "critical" когда с вот лично вас за отказ
> этой штуки могут спросить, с перспективой компенсации ущерба или тем более
> обвинить в причинении вреда здоровью/смерти?

Только после того, как клиент согласится провести опломбирование не только изделия, но и управляющего интерфейса машины, во избежание вмешательств с его стороны. Этого уже не первый год от них добится пытаемся. :)

> А так то тесты конечно да, но опять же ресурсов не бесконечно
> и обвешивать все тестами - нафиг надо.

Не понимаю как без модульных, системных, стресс тестов (в том числе климатических и прочее) можно тогда говорить о "Critical" и личной ответственности? Глупо быть обвиненным в кривости изделия, не проверив его в полном объеме.

> Воевать с тулчейном тоже как-то не быстро. И еще лично я не
> доверяю мозилле и их экосистеме. Для меня пакость мне в систему
> пакетынм менеджером - жирный минус, а вовсе и не плюс.

То не тот пакетный менеджер, ничего в систему не ставит, посмотрите как оно сделано. Мы же о cargo говорим?

> А это вообще про какие сценарии? Характер софта, требования к надежности, платформы,
> ... ? А то если это уебня какая-нибудь или корпсофт -
> я в курсе чего там, thank you very much.

Что могу - расскажу. :)

> А если
> это что-то типа микроконтроллеров с требованиями к надежности и жесткому реалтайму,
> это уже интереснее послушать.

Так и есть. Система отслеживает попадание людей в близкое положение к рабочим органам машин или под колеса. При возникновении опасной ситуации выключает механизмы/останавливает машину, если допустимо. Как минимум выдает тревогу оператору машины. Речь о шахтных и карьерных погрузчиках, самосвалах, буровых машинах и т.п.

> Если это честное описание проблем, особенностей и
> грабель вместо слащавого маркетингового булшита, например. Вот маркетинговый булшит я
> могу почитать на сайте любой корпорахи.

Куда же без грабель и особенностей, есть они, но пока ни во что критичное не вляпывались.
Правила разработки в целом те же, что и для safe-critical систем на C, язык просто другой.
Например память только статическая, без аллокаторов, детерминизм всех вычислений, время всех операций считается по worst-case и т.д. и т.п.
Пробегусь по основным замеченным вещам:
1. На удивление не было граблей пока с линковкой с C кодом, просто работает как надо. Все-таки тесно интегрировано с llvm/clang, нечему ломаться.
2. Отладка доставляет некоторый геморой, потому что нормально отладчик работает только в дебаг режиме, без оптимизаций. А в нем все на порядок медленнее, чем в релизе, не попадаем в тайминги реальных операций иногда. Наверное лечится подбором параметров оптимизации llvm, не проверял. Но редко нужен отладчик, 95% багов ловится тестами!
3. После C компиляция медленная конечно, текущий проект в релизе собирается 7 минут, дебаг побыстрее минуты 2. Терпимо, тем более что релиз сам не собираешь, это забота билд-сервера.
4. Поддержка со стороны IDE вменяемая только в IntelliJ/CLion, в остальных есть грабли.

Ответить | Правка | Наверх | Cообщить модератору

565. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (566), 13-Июн-20, 11:14 
> уже не первый год от них добится пытаемся. :)

Еще надо к питанию не подключать, чтобы уж наверняка.

>> А так то тесты конечно да, но опять же ресурсов не бесконечно
>> и обвешивать все тестами - нафиг надо.
> Не понимаю как без модульных, системных, стресс тестов (в том числе климатических
> и прочее) можно тогда говорить о "Critical" и личной ответственности? Глупо
> быть обвиненным в кривости изделия, не проверив его в полном объеме.

Если говорить об этом - вы кого пытаетесь за дурака держать? Ну невозможно в полном объеме протестировать любую мало-мальски сложную систему. Все кто в теме об этом прекрасно в курсе. То что мой decision making на предмет что тестить хуже тойотовского - можно поспорить :)

А, на поржать, в этом вашем пыхтонрасте то на что налетела тойота не особо то и чинится. Раст видите ли на системе без MMU так вообще от переполнения стэка не поможет особо - а там тоже вот так вот запросто пойдет и перепишет переменные и кучу. В большой системе MMU возбухает на основании сегментов, но в более мелких МК - MPU есть не всегда и не у всех.

Я даже нашел костыль на тему. Но черт возьми, это что? Специальный линкер? Какой-то экспериментальный? Спецом для? Серьезно? Блин, на сях это стандартным линкером из тулчейна можно обыграть если надо. Не то чтобы совсем без костылей, но не таких же, йпрст...

> То не тот пакетный менеджер, ничего в систему не ставит, посмотрите как
> оно сделано. Мы же о cargo говорим?

О карго, конечно. Я не доверяю хипстерам норовящим мне нагадить мне куда-то сбоку каким-то мусором. А то что оно не в систему - отлично, у меня какой-то мусор мимо системного пакетника. А потом припрутся рубисты, питонисты, ноджыэсеры... и в конце концов сделают мою систему одной большой помойкой.

> Что могу - расскажу. :)

Я тут случайно наткнулся на пример. Подофигел малость. Ощущения системы вообще по сути нет.

> машину, если допустимо. Как минимум выдает тревогу оператору машины. Речь о
> шахтных и карьерных погрузчиках, самосвалах, буровых машинах и т.п.

Это уже неплохо. Хоть я и не понимаю как вы при этом расписываетесь что эта шляпа может сделать в хучшем случае и чего делаете по поводу конской скорости релиза тулчейнов.

> Куда же без грабель и особенностей, есть они, но пока ни во что критичное не вляпывались.

Смотря что за критичное считать.

> Правила разработки в целом те же, что и для safe-critical систем на
> C, язык просто другой.

И субъективно - его навороченность совсем не в плюс, а правила особо не отработаты и не особо проверены. И копаясь вопросом как мне свои фирмвари улучшить сделав защиту от stack overflow я наткнулся на то нечто от растовиков. Долго фигел. Такое все же не в моем вкусе, я в МК предпочитаю быть близко к железу а не абстрагироваться от него хрен знает чем.

> Например память только статическая, без аллокаторов, детерминизм всех вычислений, время
> всех операций считается по worst-case и т.д. и т.п.

Ну раз так - а как вы узнаете использование стэка в worst case? И как конопатите его переполнение? Путем покупки крЮтого и дорогого камня с MPU? :)

> 1. На удивление не было граблей пока с линковкой с C кодом,
> просто работает как надо. Все-таки тесно интегрировано с llvm/clang, нечему ломаться.

А я в GCC руку набил - так что ну вообще ничерта с этого не выигрываю. Для меня это чуждая экосистема, мне самому не особо нужная. И ее зависимость от целого гугла и эпла на почти все и вся меня нервирует. Тем более что ни тем ни другим мелкие кортексы вообще не уперлись.

> Наверное лечится подбором параметров оптимизации llvm, не проверял. Но редко нужен
> отладчик, 95% багов ловится тестами!

Вот кстати у меня на си примерно так же. Только что вычислил забавный баг просто позырив дизасм.

> 3. После C компиляция медленная конечно, текущий проект в релизе собирается 7
> минут, дебаг побыстрее минуты 2. Терпимо, тем более что релиз сам
> не собираешь, это забота билд-сервера.

Как-то энтерпрайзно очень.

> 4. Поддержка со стороны IDE вменяемая только в IntelliJ/CLion, в остальных есть грабли.

Говоря за себя я МК для мелких вещей предпочитаю, без всяких ртосов и проч. Для наворотов у меня линухи на одноплатинках есть.

p.s. ах да, в процессе этого всего я как раз и узнал на чем именно лоханулась тойота... %)

Ответить | Правка | К родителю #559 | Наверх | Cообщить модератору

538. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Аноним (537), 07-Июн-20, 20:13 
> Так что если надо полный детерминизм для этого всё есть.

Для полного детерминизма надо как можно проще и без библиотек. А это явно не про раст.

Ответить | Правка | К родителю #489 | Наверх | Cообщить модератору

543. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от Forth (ok), 07-Июн-20, 21:58 
>> Так что если надо полный детерминизм для этого всё есть.
> Для полного детерминизма надо как можно проще и без библиотек. А это
> явно не про раст.

Опять двадцать пять. Пишите проще и без библиотек. Никто же не обязывает.


Ответить | Правка | Наверх | Cообщить модератору

402. "SpaceX использует Linux и обычные x86-процессоры в Falcon 9"  +/
Сообщение от None (??), 05-Июн-20, 05:06 
А зачем? Сейчас при обилии инструментов анализа и автоматического выявления ошибок можно на чём угодно писать. От концепции "ошибки выявляет компилятор" ушли.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру