Re[4]: Закон сохранения сложности
От: Silver_s Ниоткуда  
Дата: 21.07.09 20:16
Оценка: 38 (4)
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, gandjustas, Вы писали:

L>Тут не термодинамика, тут любой процесс можно повернуть вспять и очень легко — окрываешь сорсконтрол и делаешь Revert Changes. И если в ревизии 101 у тебя при прочих равных сложность выше, чем в ревизии 100, то откатившись на 100-ю ревизию получишь уменьшение сложности, которого по мнению автора статьи "не существует".



И тут не математика, такое ощущение, что пытаешься представить каждую фразу в виде исчисления предикатов такого-то порядка.
Да и автор не говорил, что "не существует".

Это плохо работает, когда мы пытаемся заранее выделить код, который по идее можно повторно использовать, но на практике его повторно использовать не получается.


Если хочешь чтобы все сходилось с формальной точки зрения. Введи понятия(характеристики сложности):
Всякая сложность состоит из двук компонент:
Сложность = Объективная сложность + исскуственная(избыточная сложность,неумышленная обфускация)

всем очевидно что для функции int Sqr(int x){return x*x;} Можно до бесконечности увеличить сложность.Так что ни один программист за сутки не сможет доказать что она в квадрат возводит, разве что только экспериментально проверить...
И при этом не выполнится условие в одном месте выиграешь в другом проиграешь (и следствие в одном месте проиграешь значит в другом выиграешь). Но обективная компонента сложности останется неизменной (рост только за счет искусственной).

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

Вот можешь к каждому предложению автора где упоминается сложность добавлять префикс "объективная". Если бы обсуждался вопрос защиты программ и разные методы умышленной обфускации кода( какого нибудь JavaScript,чтоб никто не ковырялся). Тогда бы интересовала совсем другая компонента сложности.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.