Цитата:
Это нехитро сделать и на C. Даже и на ассемблере.
Покажите мне компилятор си, который докажет вам то, что ваш алгоритм сортирует. Опять же, как вы уже указывали, аналогичное ручное доказательство для си будет ужасным.
Цитата:
Вы вот контрол календаря напишите. Чтобы был интуитивно правильным. И, желательно, в стандартном Windows (без всех этих новомодных фрейворков. Почему? да потому, что фреймворки тоже люди пишут. Вот и поставьте себя на место фрейворкаписателя).
Никакой "контрол календаря" меня совершенно не интересует
А уж windows -- тем более.
Цитата:
И даже не только потому, что найдите мне компилятор функционального языка, ориентированный на встроенные системы. Просто, когда речь идёт о строго хронометрированном опросе пары дюжин каналов с частотой 700 мкс и обработкой данных на процессоре с ограниченными ресурсами (скажем, PowerPC 20 МГц), на одном языке просто не получается писать. Начинаются всяческие разные вкрапления ассемблера, коды вспомогательных процессоров и подобные радости. И их тоже надо выписать без ошибок.
Такого компилятора нет, зато есть инструменты, позволяющие формально описывать многие встроенные системы вплоть до fpga и доказывать их корректность. И никто не собирается сами эти инструменты запускать на целевых системах.
Цитата:
Возьмите Алгол-68 — академически формальная строгая типизация.
Вот именно, что она только кажется строгой, на самом деле она там почти отсутствует
Цитата:
Есть и классическое определение ошибки в программе (Майерс, Искусство тестирования программ): ошибка — это когда программа делает не то, что ожидает пользователь.
Если добавить, "но то, что ожидает программист" -- тогда именно такие ошибки я и имел в виду, когда говорил "смысловые".
Добавлено спустя 5 минут 22 секунды:Да, кстати, про
Цитата:
(без всех этих новомодных фрейворков. Почему? да потому, что фреймворки тоже люди пишут. Вот и поставьте себя на место фрейворкаписателя)
Доказательства корректности исходного кода этой системы, к примеру --
http://coq.inria.fr/ -- были произведены вручную. Поэтому нет повода не доверять тем д-вам и программам, что через нее прошли
В основном она конечно не про программирование, а про доказательства, но опять же построена на зависимых типах и программировать кое-что можно.