Cyberax:
BB>>Прошивку на машинном языке можно подвергнуть статическому анализу, как ручному, так и автоматическому. C>Кто мешает анализировать JS?
Есть разница между проанализировать время исполнения набора машинных инструкций и непонятного интерпретируемого кода?
Предсказать время выполнения и для JS можно но дело в точности.
А то что динамическая типизация мешает статическому анализу понимаешь?
BB>>Можно выявить возможные лаги, неопределенное поведение и много чего еще. BB>>С лишней прослойкой, вроде JS, такого уже не сделаешь, появляется большой класс ошибок и неопределенностей. BB>>А работа с памятью? Где гарантия, что сборка мусора не произойдёт в критический момент? C>Я не припомню, чтобы сборка мусора в браузере как-то влияла на отзывчивость.
Шутишь? Попробуй не закрывать браузер пару недель и узнаешь про отзывчивость.
Особенно если CPU и/или GPU чем-то нагружены...
BB>>А банальная надёжность? Браузеры еще как падают. А безопасность? C>Думаю, что астронавты с экранов управления на Порнхаб не заходят.
И без порнухи падает.
Здравствуйте, Mamut, Вы писали:
P>>Почему не могут? Что должны и могли бы сделать космонавты за считанные секунды, если вдруг бы увидели, что топливо и кислород закончились M>Не «закончились», а «заканчивается» или «расход выше расчетного» или «миллион прочих важных вещей, отклик от которых не может подождать».
Прямо так, чтобы реакцию нужно было за полсекунды? Если что, я сам делал устройство на Линуксе, которое загружалось с нуля до экрана браузера за 2 секунды. И это было 7 лет назад.
P>>Есть конечно одна ситуация M>Есть конечно множество ситуаций.
Например, можно прочитать про аварию на Tri-Mile Island — там у операторов всё было в виде тёплых ламповых аналоговых индикаторов. В результате чего предупреждение о наличии воды в sump zone никто и не заметил на фоне других ошибок, пока всё не расплавилось нафиг.
Современные цифровые системы классифицируют тревожные сигналы и выведут приоритетные сообщения вперёд.
Здравствуйте, pagid, Вы писали:
C>>Видимо, по хронометражу. Это резервный переключатель, на случай отказа вообще всего. P>Тогда получается, что у них перед глазами должен быть... э-э-э... видимо хронометр, работающий независимо от всего, оно же все отказало.
Аналоговые часы на руке. Я так понимаю, что переход в свободное падение, когда надо уже выпускать парашют, астронавты и так просто по виду в окне определят.
Здравствуйте, Bill Baklushi, Вы писали:
C>>Кто мешает анализировать JS? BB>Есть разница между проанализировать время исполнения набора машинных инструкций и непонятного интерпретируемого кода? BB>Предсказать время выполнения и для JS можно но дело в точности.
Для UI нужна микросекундная точность, да?
BB>А то что динамическая типизация мешает статическому анализу понимаешь?
1. Typescript.
2. Можно и с динамикой анализировать.
C>>Я не припомню, чтобы сборка мусора в браузере как-то влияла на отзывчивость. BB>Шутишь? Попробуй не закрывать браузер пару недель и узнаешь про отзывчивость. BB>Особенно если CPU и/или GPU чем-то нагружены...
Мы делаем CAD-систему в браузере. Полёт нормальный.
BB>>>А банальная надёжность? Браузеры еще как падают. А безопасность? C>>Думаю, что астронавты с экранов управления на Порнхаб не заходят. BB>И без порнухи падает.
Может в руках тогда дело?
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, Mamut, Вы писали:
P>>>Почему не могут? Что должны и могли бы сделать космонавты за считанные секунды, если вдруг бы увидели, что топливо и кислород закончились M>>Не «закончились», а «заканчивается» или «расход выше расчетного» или «миллион прочих важных вещей, отклик от которых не может подождать». C>Прямо так, чтобы реакцию нужно было за полсекунды? Если что, я сам делал устройство на Линуксе, которое загружалось с нуля до экрана браузера за 2 секунды. И это было 7 лет назад.
Дело не в конкретном времени, дело в гарантии отклика.
Как можно доказать что от времени получения информации до ее отображения
пройдет строго не больше N секунд.
Если все написано например на каком-нибудь голом C и тупо в цикле получает пакет с данными,
распарсивает, а потом рисует по абсолютным координатам. И все это несколько тысяч строк
без зависимостей это одно. А если там и браузер и javascript VM и еще фреймворки,
со всеми CSS/html, склеиванием слоев на GPU и т.д.
Как доказать показать 100% покрытие тестами? Как доказать что это система реального времени.
Уверен что можно подобрать железо и вылизать javascript код чтобы это все просто летало,
но как гарантировать что все будет "хорошо"?
Здравствуйте, Bill Baklushi, Вы писали:
BB>Aquilaware:
BB>Прошивку на машинном языке можно подвергнуть статическому анализу, как ручному, так и автоматическому.
Вы можете написать приложение на машинном языке, которое отправит команду на отображение HTML движку. Повторяю, HTML != JS. Неужели трудно уяснить эту простую истину?
В HTML движок отображения отделен от языка через интерфейсы DOM, которые описаны в строго-типизированном и языко-независимом формате IDL. Если вы прокините эти интерфейсы в "машинный язык", то получите полноценный GUI тулкит для этого языка, в котором JS не будет участвовать вообще.
BB>Браузеры еще как падают.
Qt тоже падает. И WPF тоже можно пригнуть, не говоря о Windows Forms. Если программа невалидная и не принимает специальных мер, она будет падать на любом языке и движке.
P>>>Почему не могут? Что должны и могли бы сделать космонавты за считанные секунды, если вдруг бы увидели, что топливо и кислород закончились M>>Не «закончились», а «заканчивается» или «расход выше расчетного» или «миллион прочих важных вещей, отклик от которых не может подождать». C>Прямо так, чтобы реакцию нужно было за полсекунды?
Да, в том числе и для этого. И, как минимум, чтобы не было реакции на устаревшие данные.
C>Если что, я сам делал устройство на Линуксе, которое загружалось с нуля до экрана браузера за 2 секунды. И это было 7 лет назад.
Молодец. Это говорит примерно ничего про отзывчивость UI.
P>>>Есть конечно одна ситуация M>>Есть конечно множество ситуаций. C>Например, можно прочитать про аварию на Tri-Mile Island — там у операторов всё было в виде тёплых ламповых аналоговых индикаторов. В результате чего предупреждение о наличии воды в sump zone никто и не заметил на фоне других ошибок, пока всё не расплавилось нафиг.
C>Современные цифровые системы классифицируют тревожные сигналы и выведут приоритетные сообщения вперёд.
Это имеет ровнро нулевое отношение ко времени отклика системы.
Здравствуйте, Mamut, Вы писали:
C>>Прямо так, чтобы реакцию нужно было за полсекунды? M>Да, в том числе и для этого. И, как минимум, чтобы не было реакции на устаревшие данные.
А если на аналоговом дисплее стрелка застрянет?
C>>Современные цифровые системы классифицируют тревожные сигналы и выведут приоритетные сообщения вперёд. M>Это имеет ровнро нулевое отношение ко времени отклика системы.
А оно там вообще нужно? Космический корабль — это не автомобиль или самолёт. Там всё очень медленно и неторопливо.
Здравствуйте, Zhendos, Вы писали:
C>>Прямо так, чтобы реакцию нужно было за полсекунды? Если что, я сам делал устройство на Линуксе, которое загружалось с нуля до экрана браузера за 2 секунды. И это было 7 лет назад. Z>Дело не в конкретном времени, дело в гарантии отклика.
И какие проблемы её дать? Верхние границы времени GC для JS прекрасно вычисляются.
Z>Как доказать показать 100% покрытие тестами? Как доказать что это система реального времени.
Покрытие тестами? Уж это как раз для браузеров делается элементарно. Вполне реально добиться 100% покрытия кода тестами и протестировать все возможные комбинации элементов UI.
Z>Уверен что можно подобрать железо и вылизать javascript код чтобы это все просто летало, Z>но как гарантировать что все будет "хорошо"?
Как обычно — тестами.
C>>>Прямо так, чтобы реакцию нужно было за полсекунды? M>>Да, в том числе и для этого. И, как минимум, чтобы не было реакции на устаревшие данные. C>А если на аналоговом дисплее стрелка застрянет?
Это является большой проблемой. Странно, что ты на это указываешь, как на проблему, а на непредсказуемость отзывчивости UI в браузере — нет
C>>>Современные цифровые системы классифицируют тревожные сигналы и выведут приоритетные сообщения вперёд. M>>Это имеет ровнро нулевое отношение ко времени отклика системы. C>А оно там вообще нужно? Космический корабль — это не автомобиль или самолёт. Там всё очень медленно и неторопливо.
В критические моменты там мало отличается от самолетов.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, Zhendos, Вы писали:
C>>>Прямо так, чтобы реакцию нужно было за полсекунды? Если что, я сам делал устройство на Линуксе, которое загружалось с нуля до экрана браузера за 2 секунды. И это было 7 лет назад. Z>>Дело не в конкретном времени, дело в гарантии отклика. C>И какие проблемы её дать? Верхние границы времени GC для JS прекрасно вычисляются.
Можно пример расчета? И как этот расчет поможет, если даже будут такие данные,
то ведь еще нужно показать что GC сработает не более N раз,
и еще ведь GC это мягко говоря не все. Нужно еще доказать что алгоритм отрисовки
браузера на все изменения DOM которые организует JavaScript отработает за время не больше
какой-то константы. Неужели и это для вас легко? Типа раз два и рассмотрели все бесконечное
множество вариантов на входе и доказали что эти миллионы строк кода парсинга и рендеринга
html+css для всех вариантов отработают не больше чем за X?
И это еще не принимая внимания JIT и парсер javascript, ведь у них тоже небось полно
"corner case"
Z>>Как доказать показать 100% покрытие тестами? Как доказать что это система реального времени. C>Покрытие тестами? Уж это как раз для браузеров делается элементарно. Вполне реально добиться 100% покрытия кода тестами и протестировать все возможные комбинации элементов UI.
Э... А вы учитываете что и браузер нужно включить в это уравнение? То есть 100% покрытие
тестами должно быть у JavaScript + C++. Сколько там миллионов строк в браузере?
Z>>Уверен что можно подобрать железо и вылизать javascript код чтобы это все просто летало, Z>>но как гарантировать что все будет "хорошо"? C>Как обычно — тестами.
А можно пример? Давайте забудем о JavaScript,
можно пример 100% покрытия тестами кода разбора и отображения современно html,
со всеми шрифтовыми движками, использование opengl и т.д. и т.п.?
Это ведь так легко, спецификация веба если исключить JavaScript очень маленькая
и это так легко сделать?
Здравствуйте, Cyberax, Вы писали:
C>Аналоговые часы на руке. Я так понимаю, что переход в свободное падение, когда надо уже выпускать парашют, астронавты и так просто по виду в окне определят.
По виду в окне не определят. Все объекты внизу будут очень маленькие и вообще будет непонятна высота и скорость снижения. Особенно, если приземление в степь, пустыню или море, т.к. там сверху будет видна большая однородная поверхность.
Видимо, момент открытия парашута определяют по высоте, а для этого можно использовать давление за бортом, радиовысотометр или спутниковую навигацию. Интересно, какие приборы есть в SpaceX и как отображается информация с них?
Здравствуйте, Cyberax, Вы писали:
C>>>А вы ещё используете Винду и голосуете за Путина? Ну что же, над убогими не смеются. DC>>Ну вы же за майора голосовали. Что, тоже над вами ржать? C>Эээ... Майора?
Здравствуйте, Ops, Вы писали:
C>>Да, вполне. Винда не пригодна для космических аппаратов из-за того, что без исходников её не адаптировать для работы на специальной архитектуре SpaceX (у них там троированые CPU для надёжности). Ops>Так ведь нет проблем с исходниками винды, бери да адаптируй.
Адаптировать нельзя, лицензия не разрешает. Только смотреть.
Здравствуйте, pagid, Вы писали:
M>>Смотря что в этом UI выводится. Какие-нибудь показатели расхода топлива или кислорода не могут ждать, пока UI «сбросится при необходимости и снова загрузится». P>Почему не могут? Что должны и могли бы сделать космонавты за считанные секунды, если вдруг бы увидели, что топливо и кислород закончились P>Есть конечно одна ситуация — куда-то очень очень понятно и наглядно должна выводится команда "надеть шлем" в случае разгерметизации или какого-нибудь выброса гидразина в кабину. Только боюсь, что в традиционной космонавтике, она проходит даже мимо процессора БЦВМ, прямо с датчиков на транспарант. А тут да, через Chromium + JS
Куда интереснее другое. В КК и на старте и на спуске бывает весьма нехилое ускорение, так что даже механическую кнопку не так то просто нажать. Видел у космонавтов такую палку для нажатия кнопок? А тут тачскрин без фидбека механического.
С другой стороны там под правой рукой панелька видна, и там явно больше кнопок чем Cyberax говорил.
Здравствуйте, Cyberax, Вы писали:
C>>>Современные цифровые системы классифицируют тревожные сигналы и выведут приоритетные сообщения вперёд. M>>Это имеет ровнро нулевое отношение ко времени отклика системы. C>А оно там вообще нужно? Космический корабль — это не автомобиль или самолёт. Там всё очень медленно и неторопливо.
Вывод на орбиту с первой космической за пару минут это медленно и неторопливо?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Куда интереснее другое. В КК и на старте и на спуске бывает весьма нехилое ускорение, так что даже механическую кнопку не так то просто нажать. Видел у космонавтов такую палку для нажатия кнопок? А тут тачскрин без фидбека механического.
А что они смогут сделать в полёте-то? Практически единственное решение — это аварийное прерывание миссии. Всё остальное автоматика сделает лучше.
НС>С другой стороны там под правой рукой панелька видна, и там явно больше кнопок чем Cyberax говорил.
Ну вот там эта кнопка, скорее всего, и есть.
Здравствуйте, Ночной Смотрящий, Вы писали:
M>>>Это имеет ровнро нулевое отношение ко времени отклика системы. C>>А оно там вообще нужно? Космический корабль — это не автомобиль или самолёт. Там всё очень медленно и неторопливо. НС>Вывод на орбиту с первой космической за пару минут это медленно и неторопливо?
Во время работы ракеты космонавты — это просто чуть более продвинутый аналог массогабаритного симулятора.
А уже на орбите все манёвры очень неторопливые. Приближение к МКС заняло более дня.
Здравствуйте, Mamut, Вы писали:
C>>А оно там вообще нужно? Космический корабль — это не автомобиль или самолёт. Там всё очень медленно и неторопливо. M>В критические моменты там мало отличается от самолетов.
Ага, особенно при атаке на Звезду Смерти!
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, Cyberax, Вы писали:
НС>>Вывод на орбиту с первой космической за пару минут это медленно и неторопливо? C>Во время работы ракеты космонавты — это просто чуть более продвинутый аналог массогабаритного симулятора.
Союз, к примеру, изначально проектировался с проработкой по возможности большего количества ситуаций что что то пошло не так. С возможностью ручной коррекции в таких ситуациях, если оно в принципе возможно. И самые опасные участки это вывод на орбиту и спуск. Если у Маска любой отказ автоматики в эти моменты означает провал миссии — это очень очень печально.