The OpenNET Project / Index page

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



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

Оглавление

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

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


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ообщить модератору

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

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




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

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