Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Я думал, это можно как-то для тестирования использовать, например нагенерировать много кейсов, прогнать по ним программу и смотреть, не опровергает ли что-то гипотезу
Ну вот у тебя есть программа, о структуре которой ничего не известно. Ты генеришь тесты чтобы определить ее свойства, на их основанияи строишь гипотезы и их символьно доказываешь
Нет, суть такова: с помощью зависимых типов ты описываешь желаемые свойства функции, и если функция проходит тайпчек, то ты заключаешь, что она удовлетворяет этим свойствам всегда. Тесты не нужны. (Ну, кроме интеграционных).
Хз про теорему. Без дополнительных аксиом, насколько я понимаю, там конструктивистская логика a la Martin-Löf, но при желании можно обмазаться классической логикой из стандартной библиотеки. Впрочем, для задач верификации мне это ровно один раз понадобилось. Я никакой интересной математикой не занимаюсь, увы.
Подтверждаю. От опытных крестушков слышал высказывание (и даже сам сталкивался), что хороший код - это тот код, который если смог скомпилиться, то уже скорее всего правильный.
В общем-то даже языки с формальными пруфами не гарантируют "правильности" кода, т.к. они проверяют только какой-то набор свойств, которые ты посчитал важными.
Правильности кода не гарантирует вообще ничто, т.к. заказчик мог написать хуйню в ТЗ, и даже если б был мегакрутой ИИ, который любое ТЗ правильно и без багов превращает в код, получилась бы хуйня
Странное утверждение для императивных языков.
Впрочем, шансы на корректность у них выше, чем у скриптоговна.
Скриптоговно не факт, что работает верно. Даже если запустилось
{ Вы случайно не middle клингон? }
это оно?
https://www.youtube.com/watch?v=3Szc_pOz9fw
В общем-то даже языки с формальными пруфами не гарантируют "правильности" кода, т.к. они проверяют только какой-то набор свойств, которые ты посчитал важными.
Впрочем, шансы на корректность у них выше, чем у скриптоговна.
Скриптоговно не факт, что работает верно. Даже если запустилось
???????
Доброе утро.