Другие языки программирования и технологии

Почему нигде в мире изучается не программно, а лишь факультативно и то кое где метод "БЕЗОШИБОЧНОГО НАПИСАНИЯ ПРОГРАММ"?

Синтаксические ошибки словит компилятор. А семантические чаще всего кроются в неполно сформулированном условии.
Старый анекдот:
Программиста на остановке спрашивают:
"Я доеду на этом трамвае до вокала? " - "Да"
"И сколько ехать? " - "Полтора часа"
"Ой, а мне сказали, за десять минут доеду... " - "Тогда вам надо ехать в другую сторону"

Насчет метода "БЕЗОШИБОЧНОГО НАПИСАНИЯ ПРОГРАММ" - приведи ссылку. Есть метод доказательства правильности программ Дейкстры, но в ходе доказательства сделаешь ошибок впятеро больше, чем в программе ;)
Валерий Салов
Валерий Салов
77 822
Лучший ответ
Виктор Гончаров А почему не изучают?

Ведь принципы просты?
Потому что это антинаучная утопия. Ошибки бывают синтаксические, фактические и стилистические - никакой метод со всеми не справится, я гарантирую это.
Виктор Гончаров ну вот Вы о нем даже не читали, а может и не слышали.
А разве можно написать программу совсем без ошибок?
Очень маленькую и простенькую - пожалуй да.
Но когда речь идет о больших проектах, в которых занято куча народу, ошибки и не стыковки
присутствуют всегда. Для этого и делается отладка, тестовые прогоны, альфа и бета тестирование.
Хуже когда ошибка одна, но концептуальная. Тогда проще проект в мусор и начать заново.. .

На тему ошибок в программировании есть куча шуток (Законы Мерфи) .

• Совет начинающему программисту. Никогда не исправляйте найденные ошибки,
ибо это повлечет за собой появление неизвестного числа ненайденных.
Лучше опишите их в сопроводительной документации как особенность программы (Это не баг, это фича! ) ...

• От перестановки двух эквивалентных ошибок результат не меняется (коммутативность эквивалентных ошибок) .
• Две последовательные ошибки можно объединить в одну, более сильную.
• Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости.
• Ошибки могут образовывать циклы. Наиболее устойчивый из них - бесконечный.
• Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок) .
• Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.
• Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задание.

• Ошибка, повторенная дважды, перестает быть ошибкой.
• Во время исполнения ошибки имеют наивысший приоритет. Прервать исполнение ошибки может только другая, более активная ошибка.
• Запросы операционной системы к ошибкам ошибками могут игнорироваться.
• Запросы ошибок к операционной системе игнорироваться не могут.
• При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и ее ошибками.
• На компьютере с параллельной архитектурой может выполняться несколько ошибок одновременно.
• Системные программы облегчают процесс написания прикладных программ и их ошибок.
Виктор Гончаров отвечу также как и предыдущему оппоненту

"ну вот Вы о нем даже не читали, а может и не слышали".