Если программа отлажена на 100%, то да.
Однако сегодня сложилось превратное мнение, будто бы программу принципиально невозможно полностью отладить, поэтому в ней всегда будут глюки, баги, фичи и прочие недоработки. Чем конечно же пользуются многие фирмы-разработчики ПО.
Конечно капитализм диктует получение прибыли любыми путями, в том числе и навязыванием покупателям послепродажного техобслуживания под видом "сопровождений" и "обновлений". В рекламных целях иногда даже бесплатных.
Но я например, пишу софт для встроенных систем, где принципиально не предусмотрено никаких обновлений, поэтому нужно делать сразу же рабочую и на 100% отлаженную программу. Начальство никаких отмазок не принимает. Конечно, это немного дольше: приходится долго вчитываться между строк в даташиты оборудования и комплектующих, не использовать сложные типы данных, каждый раз при обращении контролировать границы массивов и т.д., в сумме выходит около 2-3 месяцев на одну программу. Моя з/п от сроков не зависит, она фиксированная. Прибыль получаю не я лично, а начальство.
Другой, вопрос, что на самом деле без внешних воздействий никогда не обходится: сбои питания, электромагнитные помехи, ошибки в процессе электромонтажа оборудования и т.д. Даже естественные радионуклиды могут давать до 1-2 сбоев в год.
И насчет вечности - тоже вопрос: существует же механический износ деталей любой аппаратуры. Разве что сделать девайс без единой подвижной детали. Например, если комп, то без кулера, чисто с пассивным радиатором. И без HDD. Но и FDD имеют какой-то износ даже без стирания/перезаписи, заряд ячеек постепенно утекает. Разве что в матричном ПЗУ хранить весь софт. Дальше, срок жизни полупроводников ограничен процессами деградации кристаллов, это уже нужно обращаться к спецам из Зеленограда, что они скажут. Но на практике даже китайские полупроводники нормально работают лет по 30-50, дольше вроде никто не проверял. Отечественные, если с 5 приемкой, тоже не хуже.
В-общем, сколько тысячелетий безотказной работы софта на каком девайсе и с какими воздействиями Вам нужно и какую сумму Вы на это готовы потратить?
)
Ответу можно верить.
Простейшая арифметическая программа всегда будет выдавать правильный результат?
сравнение идеального мира и реального не всегда устраивает вопрошающего вечных истин )))
Может, если в ней не предусмотрена возможность изменения формата входных данных или ограничений по вводу. Например, "проблема 2000" года. Тогда действительно некоторые программы "сломались", не позволяя ввести верную дату. Так же мы постоянно видим "сломанные" программы в Windows, когда в выводе командной строки получаем кракозябры в кодировке 866
Код тоже сломается рано или поздно. Любой электронный носитель подвержен деградации.