Re: Вот я не понимаю...
От: mkizub Литва http://symade.tigris.org
Дата: 29.08.07 09:56
Оценка: 1 (1) +3 -2 :))) :)))
Здравствуйте, eao197, Вы писали:

E>Или это вообще сейчас тенденция такая в софтостроении -- ничего стабильного нет, поскольку оплачивается скорость выхода продукта на рынок, а не его качество?


Эта тенденция была всегда. Объясняю на пальцах.
Есть программа с двумя элементами. Между ними одна связь. X — Y
Усложним программу, добавив ещё один элемент. Между ними уже будет 3 связи
X — Y
\ /
Z
Добавим ещё один элмемент, ещё один... Количество связей в программе растёт факториально!
При изменении каждого элемента тебе надо проверить все связи, любая может быть нарушена и программа получит ошибку.

Борьба с этой возрастающей сложностью — и есть основная проблема программирования. Именно для её решения выдумывают модульное, объектное программирование и прочие технологии. Они помогают уменьшить скорость роста взаимосвязей, инкапсулируют работу отдельных частей, уменьшают количество взаимосвязей. Но эти приёмы не всесильны. Вместо количества связей между глобальными переменными и функциями — появляются связи между классами. Было 100 элементов (глобальных переменных и функций), стало 10 классов. Код, конечно, стал сложнее и может много больше — в каждом классе у нас по несколько функций и полей. И теперь мы можем делать более сложные программы. И делаем. И получаем программу из 100 классов — и опять она приходит к порогу, за которым её сопровождение становится невозможным.

А ты думаешь, это из-за плохой кармы MS писала Vista 5 лет и потратила 6 миллиардов, реализовав меньше половины обещанных фич? Нет, просто они тоже упёрлись в этот порог. И раньше упирались, когда Windows 1.0 написали — только тогда это был порог сложности технологий того уровня.

ЗЫ Теперь понятно, почему тебе Ruby так понравился... ты просто не писал никогда сложных программ, не участвовал в сложных проектах.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.