>>30336> Где ты видел тестера, который бы формально доказывал программы?
До недавнего времени я вообще не видел тестеров.
> Чтобы от этого был толк, изучать должен не ты один, ведь так?
Так давайте изучать вместе!
Алсо, я сейчас занимаюсь больше поиском, чем изучением.
>>30343> Ты должен доказывать ваши программы, они должны находить, где ты наебался.
Если бы это было так, то с меня бы требовали еще и доказательства. Реально же я даже пробные запуски не всегда прово
жудил (скомпилировалось — и ладно), и это прокатывало.
> Корректное поведение (http://www.fileformat.info/info/unicode/char/1d100/index.htm) теперь является "абсолютной упоротостью"?
Не понял, о чём ты. Я имел в виду, что длина строки, состоящей из одного музыкального символа, в C# равна 2. А в Ruby — 1.
> > нормальными массивами байт,
> Што?
С «==», сравнивающим их содержимое, с «+», конкатенирующим их, и т. д. Впрочем, да, претензии мелочные.
> "памагите выброть лутчший изык в мире"
Нет. Я советуюсь, какую платформу лучше выбрать
для данной задачи, и спрашиваю/рассказываю, как потом доказывать корректность того, что напишу.
>>30347 Спасибо, но я не вижу у него преимуществ перед .NET-языками или Ruby. У него мощная система типов, но она позволяет отсечь лишь часть нежелательных поведений программы (не все). Так что в этом смысле он ничем не лучше того же Ruby.
Есть его более продвинутые аналоги, как-то: Agda, Coq, ATS — которые позволяют ограничивать возможные поведения программы вплоть до одного. Но используют для этого теорию типов Мартина—Лёфа, в которую я
пока не въехал, но которая по сравнению с SMT выглядит как говно.
К тому же, в Ruby меня не устраивает только возможность опечататься в названии функции.
>>30349>>30350 Юнит-тесты позволяют проверить программу только на определённых — «показательных» — наборах данных. Эти самые «показательные» наборы ещё надо вычислить.
P. S. Вообще, злой какой-то тред вышел, не рекомендую.