Подтвердить что ты не робот

Что означает "Комплекс лучше, чем сложный"?

В "Дзен Питона", Тим Петерс, предложение "Комплекс лучше, чем сложный" смутило меня. Может ли кто-нибудь дать более подробное объяснение или пример?

4b9b3361

Ответ 1

хотя и сложный и сложный звук, они не означают одинакового в этом контексте.

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

Чтобы привести пример:

counter = 0
while counter < 5:
   print counter
   counter += 1

Код очень легко понять. Это не сложно. Однако это сложно. Вам не нужно вручную выполнять большинство описанных выше шагов.

for i in xrange(5):
   print i

Этот код более сложный, чем приведенный выше пример. Но: зная документацию об "изменении", вы можете понять это одним взглядом. Многие шаги скрыты за простым в использовании интерфейсом.

По мере роста процессов разрыв между сложным и сложным становится все шире и шире.

Общее правило состоит в том, чтобы следовать другим принципам Zen Python:

Если это трудно объяснить, это не очень хорошая идея.

Если это легко объяснить, это может быть хорошей идеей.

Ответ 2

Комплекс: много. Обычно неизбежно.

Сложно: Трудно понять.

Мне нравится эта цитата (источник):

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

и этот (источник):

Airbus A380 сложный. Медуза сложная. Парижский метрополитен сеть сложна. Как люди используют это сложно. Ваш скелет сложно. Вы сложны. здание сложное. Город комплекс.

Еще несколько статей по этому поводу:

Ответ 3

Я не читал эту книгу.

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

сложное - это решение, которое может быть простым (или сложным), но написано в коде, что непросто понять, потому что в нем нет шаблонов или логики и нет правильных метафор и имен.

Ответ 4

Сложные системы сильно связаны и, следовательно, хрупки.

Сложные системы состоят из простых частей, работающих вместе для создания сложного эмерджентного поведения. В то время как возникающее поведение может все еще быть проблемой, отдельные части могут быть изолированы, изучены и отлажены. Отдельные части можно удалить и повторно использовать.

Я прокомментирую эту тему и приведу примеры в своем блоге

Ответ 5

Для "сложных" трудная вещь находится на поверхности. (Ваше описание сложное.)

Для "сложных" трудная вещь находится под столом. (Автомобиль сложный.)

Так же, как показано на примерах EinLama.