В недавнем тексте "Реальность существует и это надо учитывать" есть небольшое противоречие - не показана реальность явления, с которым предлагается бороться.
Действительно ли люди совершают ошибки связанные с неверными единицами измерения и размерностями величин? Может быть проблемы нет, и имеет место быть массовое использование инструментов помогающих программистам и исследователям избегать ошибок при оперировании величинами имеющими физический смысл??
Давайте выяснять (дальше развёрнутое объяснение и сам опрос)
Исследуемая проблема имеет два проявления и первое состоит в том, что систем единиц измерения больше одной. Широко распространены две системы:
СИ она же "метрическая" - метры и килограммы
Имперская - футы и фунты (и таких систем как минимум 2)
И проблема в том, что есть люди которые по разным причинам используют именно Имперскую систему.
Широко известны два события связанные с этой проблемой.
1) "Планёр Гимли" (1983) - при переходе Канады на метрическую систему в самолёт залили топливо, по привычке думая что цифры обозначают галлоны и фунты, а это уже были литры и килограммы.
2) "Mars Climate Orbiter" (1999) - автоматическая межпланетная станция получила данные для торможения которые были вычислены в имперских единицах "фунт-сила", а отработала так, как будто это были метрический "Ньютоны".
Больше таких рассказов нет. Может быть такие случаи не выходят за пределы внутренних отчётов об авариях, а может и правда проблемы нет.
Потому, что решение проблемы существует и давно известно - работать не с голыми числами, а с именованными величинами. Тогда программа может сама всё сконвертировать и правильно посчитать.
Например, вот так.
Второе проявление проблемы состоит в том, что можно просто сделать опечатку в имени переменной или арифметической операции и получить математически корректный, но бессмысленный результат.
Например, если ускорение не "умножить" на "время", а разделить, по получится не "скорость", а чёрти что. Но если использовать именованные величины, то ошибочную операцию можно обнаружить и своевременно исправить.
А если не использовать контроль размерностей, то можно получить число 12,5 и пребывать в уверенности, что расчёт прошёл успешно.
Таких инструментов существует много, как на уровне языка программирования, так и в виде специализированных библиотек и т.д. Такие инструменты существуют давно.
Да, там не всё идеально и есть свои особенности, сложности и проблемы.
Но они, эти самые инструменты контроля за размерностями, существуют.
И вот вопрос, а Вы ими пользуетесь? Вы вообще в курсе того что они существуют?
Комментарии (5)
KirillBelovTest
21.12.2023 23:33Вот как в WL с размерностями можно работать
https://imgur.com/a/Rt8uwWQ
Darth_Anjan
21.12.2023 23:33Знаю примеры формул из серьёзных книжек, в которые если подставить все величины с размерностями, итоговая размерность не будет совпадать с тем, что дано в формуле.
Собственно, это следствие того, что формула является аппроксимацией другой очень сложной функции, просто в каких-то пределах нам норм считать по ней.ptr128
21.12.2023 23:33Когда ещё в студенческие годы пришлось изменения сдвига фаз в ФАР пересчитывать в расстояния и азимуты до объектов, тоже с этим столкнулся.
muxa_ru Автор
21.12.2023 23:33Были времена, когда вычислительных мощностей не хватало и приходилось использовать разные упрощённые формулы.
А что за формула, если не секрет? По идее, при упрощении формулы, размерность множителей которые рассматриваются как константа могут быть сброшены в возникающий числовой коэффициент.
Dair_Targ
в физических рассчетах все хорошо, но как только дело доходит до маркетинга/социологии/чего-то странного, то либо все сваливается в безразмерные величины (эдакий математический void*), либо нужно почти с нуля свою доменно-ориентированную систему городить, причем, в отличие от СИ, быстро-быстро.