Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, Аноним, Вы писали:
А>> Бред... отлаживать такое крайне неудобно. Есть золотое правило: одна строчка — один оператор.
СГ>Не отлаживать программы надо, а математически строго доказывать их корректность.
А как ты докажешь их корректность мне интересно? Насколько я знаю, доказать корректность нельзя даже для
double max(double a, double b) {
return a > b ? a : b;
}
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Ice MC — Never stop believing";
Здравствуйте, Centaur, Вы писали: C>Есть предложение придать этому фильтру звание бритвы, по аналогии с бритвами Оккама и Хэнлона
А это что, простите мне мое невежество?
Насчет предложения — почти согласен. Принцип Эйнштейна несколько расширяет принцип Оккама, т.к. говорит не только о необходиомости простоты, но и о необходимости ее ограничивать. Так что это, пожалуй, ножницы Эйнштейна.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
C>>Есть предложение придать этому фильтру звание бритвы, по аналогии с бритвами Оккама и Хэнлона S>А это что, простите мне мое невежество?
Хэнлон: "Не усматривайте злого умысла в том, что вполне объяснимо глупостью".
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, ansi, Вы писали:
A>>А как ты докажешь их корректность мне интересно? Насколько я знаю, доказать корректность нельзя даже для К>
A>>double max(double a, double b) {
A>> return a > b ? a : b;
A>>}
К>
К>Почему нельзя?
Ну типа, чтоб доказать корректность, надо прогнать все возможные варианты.
Всего 2^(64 + 64) вариантов. Например, проверяем миллион тестов в секунду:
Здравствуйте, ansi, Вы писали:
A>Ну типа, чтоб доказать корректность, надо прогнать все возможные варианты. A>Всего 2^(64 + 64) вариантов. Например, проверяем миллион тестов в секунду: A>Пример давался еще на лекциях первого курса... Ну оно конечно возможно, но оооочень-очень долго
Интересно, а теорему Пифагора вы тоже проверяли? С какой дискретностью и в каких диапазонах?
Здравствуйте, boomsic, Вы писали:
B>Здравствуйте, moudrick, Вы писали:
M>>define-ы не рулЯт. B>почему?
А вообще да... В обчных Сях (без плюсов) без define-ов никуда.
B>зато "Синтаксический оверхед" уменьшется в разы
(я прикинусь Сергеем Губановым на мнговение, только не убивайте сразу, ладно?)
#define — это директива препроцессора, если Вы помните.
То есть прежде чем отдавать текст на компиляцию, препроцессор заменяет в тексте все define-ы на их фактические значения.
Так что оверхед никуда не девается, он просто умело маскируется под свое отсутствие.
Re[8]: Синтаксический оверхед
От:
Аноним
Дата:
17.06.05 12:35
Оценка:
Здравствуйте, ansi, Вы писали:
A>Здравствуйте, Кодт, Вы писали:
К>>Здравствуйте, ansi, Вы писали:
Здравствуйте, moudrick, Вы писали:
M>Здравствуйте, boomsic, Вы писали:
B>>Здравствуйте, moudrick, Вы писали:
M>>>define-ы не рулЯт. B>>почему? M>А вообще да... В обчных Сях (без плюсов) без define-ов никуда.
B>>зато "Синтаксический оверхед" уменьшется в разы M>(я прикинусь Сергеем Губановым на мнговение, только не убивайте сразу, ладно?)
M>#define — это директива препроцессора, если Вы помните. M>То есть прежде чем отдавать текст на компиляцию, препроцессор заменяет в тексте все define-ы на их фактические значения. M>Так что оверхед никуда не девается, он просто умело маскируется под свое отсутствие.
блин а я как то и не подумал...
я вот было подумал что уменьшение перерасхода строчек хорошо повлияет на распечатывание кода, типо меньше бумаги... но если важно чтобы и после раскрытия всех дефайнов было все без оверхедов...
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, ansi, Вы писали:
A>>Ну типа, чтоб доказать корректность, надо прогнать все возможные варианты. A>>Всего 2^(64 + 64) вариантов. Например, проверяем миллион тестов в секунду: A>>Пример давался еще на лекциях первого курса... Ну оно конечно возможно, но оооочень-очень долго
К>Интересно, а теорему Пифагора вы тоже проверяли? С какой дискретностью и в каких диапазонах? К>
Ну это вообще как бы совсем другая песня... Одно дело теорема, другое — техническая реализация некоего алгоритма, корректность которого скорее всего можно доказать. Но вот как по-другому доказать корректность именно реализации?
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Ice MC — Run fa cover";
M>>>>define-ы не рулЯт.
B>>>зато "Синтаксический оверхед" уменьшется в разы M>>(я прикинусь Сергеем Губановым на мнговение, только не убивайте сразу, ладно?)
M>>#define — это директива препроцессора, если Вы помните. M>>... M>>Так что оверхед никуда не девается, он просто умело маскируется под свое отсутствие.
B>блин а я как то и не подумал... B>я вот было подумал что уменьшение перерасхода строчек хорошо повлияет на распечатывание кода, типо меньше бумаги... но если важно чтобы и после раскрытия всех дефайнов было все без оверхедов...
А как же Вы думали? Несомненно! Не должно быть оверхеда ни на каком этапе трансляции программы — от UML или блок-схемы до бинарных машинных кодов! Не должно быть оверхеда даже в исходной модели! Иначе весь мир переподнится оверхедами!
M>А как же Вы думали? Несомненно! Не должно быть оверхеда ни на каком этапе трансляции программы — от UML или блок-схемы до бинарных машинных кодов! Не должно быть оверхеда даже в исходной модели! Иначе весь мир переподнится оверхедами!
Сильно напоминает известную статью про перерасход GUID'ов.
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Здравствуйте, ansi, Вы писали:
A>Ну это вообще как бы совсем другая песня... Одно дело теорема, другое — техническая реализация некоего алгоритма, корректность которого скорее всего можно доказать. Но вот как по-другому доказать корректность именно реализации?
M>>А как же Вы думали? Несомненно! Не должно быть оверхеда ни на каком этапе трансляции программы — от UML или блок-схемы до бинарных машинных кодов! Не должно быть оверхеда даже в исходной модели! Иначе весь мир переподнится оверхедами!
HB>Сильно напоминает известную статью про перерасход GUID'ов.
Здравствуйте, moudrick, Вы писали:
M>>>А как же Вы думали? Несомненно! Не должно быть оверхеда ни на каком этапе трансляции программы — от UML или блок-схемы до бинарных машинных кодов! Не должно быть оверхеда даже в исходной модели! Иначе весь мир переподнится оверхедами!
HB>>Сильно напоминает известную статью про перерасход GUID'ов.
M>Известную а не известную?
M>Ссылку на статью — в студию!
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Здравствуйте, anton_t, Вы писали:
_>Здравствуйте, ansi, Вы писали:
A>>Ну это вообще как бы совсем другая песня... Одно дело теорема, другое — техническая реализация некоего алгоритма, корректность которого скорее всего можно доказать. Но вот как по-другому доказать корректность именно реализации?
_>Про верификацию программ слышал?
Верификация ... нет, не слышал.
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "тссссссссс";