Глюки в TxCalc
Приведу цитату из книги, написанной еще до 1977 года:
С современным программированием тесно связаны старый миф и новая реальность. Миф утверждает, что при составлении программ ошибки неизбежны и программирование есть не что иное, как процесс проб и ошибок. Реальность же выдвигает требование научиться последовательно проектировать и писать такие программы, которые были бы правильными с самого начала и не содержали ошибок на этапах тестирования и последующей эксплуатации.
Р.Лингер, Х.Миллс, Б.Уитт. Теория и практика структурного программирования.
Увы! Про себя я могу сказать, что за всю жизнь так и не научился не совершать ошибок. Успокаиваю себе тем, что "благими намерениями путь в ад выстлан". При всем при том я почти не умею пользоваться отладчиками, т.к. очень редко обращаюсь к их помощи.К чему это я все? Да просто сегодня (27.11.2009) решил проверить еще раз "позднее связывание" и сваял следующий примерчик:
[b graph(a,x,y,t,0,6,0.02)]
[xx x=sin(t)*150][yy y=cos(t)*150]
b
Борьба с ошибками привела в своё время к тому, что оказалась работоспособной следующая строчка:
Но ... А что должен думать пользователь, если ему сообщат, что в программе, которой он пользуется имеются ошибки? Почитайте типичную лицензию:
... РАСПРОСТРАНЯЕТСЯ ПО ПРИНЦИПУ "КАК ЕСТЬ". ПРИ ЭТОМ НЕ ПРЕДУСМАТРИВАЕТСЯ НИКАКИХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ. ВЫ ИСПОЛЬЗУЕТЕ ЕГО НА СВОЙ СОБСТВЕННЫЙ РИСК. НИ АВТОР, НИ ЕГО УПОЛНОМОЧЕННЫЕ АГЕНТЫ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ПОТЕРИ ДАННЫХ, ПОВРЕЖДЕНИЯ, ПОТЕРИ ПРИБЫЛИ ИЛИ ЛЮБЫЕ ДРУГИЕ ВИДЫ ПОТЕРЬ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ (ПРАВИЛЬНЫМ ИЛИ НЕПРАВИЛЬНЫМ) ЭТОЙ ПРОГРАММЫ.
На самом деле подобное положение необходимо для того, чтобы сразу отсечь армию чиновников, которые, дай им волю, уничтожили бы всё живое на нашей планете. На историю программирования можно смотреть, как на историю борьбы с ошибками. И структурное программирования и ООП представляют из себя этапы этой грандиозной борьбы. К этому подталкивает и "индустрия" программирования."Автор бредит" - подумал читатель, пожалуй он прав. В свое оправдание могу сказать, что ошибки, подобные той, которую я привел в начале, обескураживают. Конечно, я, не заглядывая в исходный текст, быстро догадался, что дело в концовке - достаточно в конец текста добавить пробел и все начинает работать правильно. Но легче мне от этого не стало - проблема в том, что я могу добавить, например "+", и тоже будет работать. Но это же необработанная ошибка, с которой "правильная" программа должна справляться ...
Короче, предлагаю пользователям программы TxCalc "отметиться" на форуме, посвященном этой программе. Кстати, svb.hut.ru - зеркало это сайта.