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

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

Давайте выяснять (дальше развёрнутое объяснение и сам опрос)

Кто контролирует размерности? (опрос)
Кто контролирует размерности? (опрос)

Исследуемая проблема имеет два проявления и первое состоит в том, что систем единиц измерения больше одной. Широко распространены две системы:

  • СИ она же "метрическая" - метры и килограммы

  • Имперская - футы и фунты (и таких систем как минимум 2)

И проблема в том, что есть люди которые по разным причинам используют именно Имперскую систему.

Широко известны два события связанные с этой проблемой.

1) "Планёр Гимли" (1983) - при переходе Канады на метрическую систему в самолёт залили топливо, по привычке думая что цифры обозначают галлоны и фунты, а это уже были литры и килограммы.

2) "Mars Climate Orbiter" (1999) - автоматическая межпланетная станция получила данные для торможения которые были вычислены в имперских единицах "фунт-сила", а отработала так, как будто это были метрический "Ньютоны".

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

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

Например, вот так.

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

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

А если не использовать контроль размерностей, то можно получить число 12,5 и пребывать в уверенности, что расчёт прошёл успешно.

Таких инструментов существует много, как на уровне языка программирования, так и в виде специализированных библиотек и т.д. Такие инструменты существуют давно.

Да, там не всё идеально и есть свои особенности, сложности и проблемы.

Но они, эти самые инструменты контроля за размерностями, существуют.

И вот вопрос, а Вы ими пользуетесь? Вы вообще в курсе того что они существуют?

Комментарии (5)


  1. Dair_Targ
    21.12.2023 23:33

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


  1. KirillBelovTest
    21.12.2023 23:33

    Вот как в WL с размерностями можно работать
    https://imgur.com/a/Rt8uwWQ


  1. Darth_Anjan
    21.12.2023 23:33

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


    1. ptr128
      21.12.2023 23:33

      Когда ещё в студенческие годы пришлось изменения сдвига фаз в ФАР пересчитывать в расстояния и азимуты до объектов, тоже с этим столкнулся.


    1. muxa_ru Автор
      21.12.2023 23:33

      Были времена, когда вычислительных мощностей не хватало и приходилось использовать разные упрощённые формулы.

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