Я встретил эту статью о стилях программирования, которые видел Эдсгер Дижсктра. Чтобы быстро перефразировать, основное отличие - это Моцарт, когда аналогия делается для программирования, полностью понимаемая (спорная) проблема перед тем, как писать что-либо, в то время как Бетховен принял свои решения, написав заметки на бумаге, создавая много изменений на этом пути. С программированием Моцарта версия 1.0 была бы единственной версией для программного обеспечения, которая должна стремиться работать без ошибок и максимальной эффективности. Кроме того, Дейкстра говорит, что программное обеспечение не на этом уровне утонченности и стабильности не должно публиковаться.
По его мнению, два вопроса. Возможно ли программирование Моцарта? Будет ли программное обеспечение, которое мы пишем сегодня, действительно приносит пользу, если мы вместо этого примем стиль Моцарта?
Мои мысли. Похоже, что для решения растущей сложности программного обеспечения мы перешли от этого метода к таким вещам, как гибкая разработка, публичное бета-тестирование и постоянные изменения, методы, которые определяют веб-разработку, где скорость имеет наибольшее значение. Но когда я думаю обо всех версиях, веб-программное обеспечение может пройти, особенно во время обслуживания, когда часто исправления применяются поверх патчей, а затем уточняются через утомительный процесс рефакторинга. Моцарт выглядит очень привлекательно. Это по меньшей мере уменьшит эти досадные обновления программного обеспечения, например. Digsby, Windows, iTunes и т.д., Что является результатом непредвиденных уязвимостей, требующих новой и немедленной версии.
Изменить: см. ответ ниже для более точного объяснения представлений Dijsktra.