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

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

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

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

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

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

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

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

7d6231229f04c22f7521c77b0ac08bf7.jpg

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

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

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

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

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

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

968c34a47257f28c63e0646ef9188556.png

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

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

5c68afa6ea1d340c023159315451954a.png

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

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

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

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

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

© Habrahabr.ru