пятница, августа 04, 2006

Преждевременная оптимизация

Есть такая классическая цитата: "Premature optimization is the root of all evil", "Преждевременная оптимизация есть корень всех зол". В качестве источника этой мудрости упоминаются разные люди, но я решила провести некоторые изыскания, чтобы доподлинно выяснить кто же это все-таки сказал. По беседам в конференциях и по Википедии я постаралась восстановить истину. Эту цитату часто приписывают Дональду Кнуту, который сказал так:

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.

Но он не сам это придумал. Про проценты - это Кнут добавил от себя, а изначальная цитата звучит так
Premature optimization is the root of all evil in programming.
и сказал это Энтони Хоар. Больше всего он известен тем, что придумал быструю сортировку.

Также в качестве автора часто указывают Ларри Уолла, создателя языка Перл, который, в свою очередь, цитировал то ли Хоара, то ли Кнута.

Об этой цитате, а также о ее неправильном использовании интересно рассказывается в статье The Fallacy of Premature Optimization. Мысли там высказываются следущие: сначала оптимизировать преждевременно, а потом на это уже времени нет. Также зачастую забывают первое слово этой цитаты и воспринимают ее как "Оптимизация - корень всех зол". То есть смысл меняется кардинально.

В продолжении темы: Optimization - статья в Википедии про оптимизацию.

Updated 20.12.2009

Сергей Тепляков пишет, что все на самом деле не так. Короче, дело ясное, что дело темное :-).

понедельник, июля 31, 2006

Статья "How to drive developers crazy with issue tracking"

How to drive developers crazy with issue tracking - сборник вредных советов по пользованию багтракинговой системой. Несмотря на то, что статья явно юмористическая, она получилась очень жизненной. Смех сквозь слезы получается.

пятница, июля 28, 2006

Синхронизация времени в Windows XP

Настраивала тут синхронизацию времени на своей машине... В Windows XP есть штатное средство синхронизации времени: Control Panel -> Date, Time, Language, and Regional Options -> Date and Time -> Internet Time. Но синхронизуется оно раз в неделю и интерфейса для настройки интервала времени нет. Если нет интерфейса, это вовсе не значит, что интервал нельзя настроить. Нужно подредактировать ключ в реестре: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services \W32Time\TimeProviders\NtpClien, ключик SpecialPollInterval. Там указано время в секундах, по умолчанию 604800 - одна неделя. Если нужен один час, ставим 3600.

Если стандартная синхронизация времени чем-то таки не нравится, можно поставить какую-нибудь другую программку для этого. Я себе поставила Dimension 4. Но прежде чем включать другую синхронизялку, надо прибить Windows Time в Сервисах, а то оно конфликтует.

Updated 26.10.2009
Анонимный комментирует...
Главное добавь, что нужно перезапустить службу (Служба времени Windows).

четверг, июля 20, 2006

Интервью с Эрихом Гаммой

Несколько интервью с Эрихом Гаммой, это один из авторов книги "Паттерны Проектирования". Интервью довольно старые, прошлогодние.
Part I: How to Use Design Patterns
Part II: Erich Gamma on Flexibility and Reuse
Part III. Design Principles from Design Patterns
Part IV. Patterns and Practice