wtf

Jul. 15th, 2014 09:53 pm
juan_gandhi: (VP)
[personal profile] juan_gandhi
IntelliJ 13 with Scala plugin
Screen Shot 2014-07-15 at 2.00.25 PM
(also, failed to upload this image to their bug reporting site)

Screen Shot 2014-07-15 at 9.52.26 PM
(atlas oreilly editor)

Date: 2014-07-16 11:17 pm (UTC)
From: [identity profile] zyxman.livejournal.com
В высоконадежном программировании применяют расширенную типизацию и гард-выражения.
Суть что в типе можно указать только те значения, для которых функция протестирована, соответственно виртмашина пристреливает процесс с ошибкой типа синего экрана, стектрейсом итп, естественно в некоторых пределах возможны всяческие try с обработкой ошибки.
Гард-выражения в сущности делают то же, что расширенные типы, но чуть другой синтаксис и проверка находится на входе в функцию и позволяет применять бюилтин функции виртмашины.
Пример - if (x%2 == 0)

Date: 2014-07-16 11:44 pm (UTC)
stas: (Default)
From: [personal profile] stas
Суть что в типе можно указать только те значения, для которых функция протестирована

А не упарятся на 2^64 значений тестировать? А если аргументов пять?

Date: 2014-07-17 12:57 am (UTC)
From: [identity profile] zyxman.livejournal.com
Для невычислимого применяется аналитическое доказательство - ну например, что корень квадратный при вещественной арифметике, определен только для положительных чисел.

Date: 2014-07-17 01:07 am (UTC)
From: [identity profile] zyxman.livejournal.com
На практике, в реально критических приложениях (самолеты/ракеты/спутники) диапазон входных значений очень сильно ограничен физикой - например, типичный самолет на 10+км просто в принципе летит на скорости 800км/ч +-10км/ч - если больше может развалиться, если меньше - упадет, так что и смысла нет тестировать за пределами этого диапазона - важно только чтобы эту цифирь тщательно и безошибочно вписали в контракт (см "контрактное программирование").
- Например, самая дорогая в истории программная ошибка, как раз и случилась от того что на "Ариан-5" реиспользовали софт от "Ариан-4", а в контракте не учли что "Ариан-5" летает выше и быстрее чем "Ариан-4".

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

June 2025

S M T W T F S
1 2345 6 7
8 9 10 11 121314
15161718 1920 21
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 28th, 2025 01:59 am
Powered by Dreamwidth Studios