1. Внутри каждой большой программы есть маленькая, которая там совсем не нужна.
2. Все ошибки, описанные как особенности, в момент сдачи
программы не сработают или будут вести себя, как ошибки.
3. Все программы содержат ошибки, просто о некоторых мы не догадываемся.
4. Если Вы заводите в компьютер ерунду, то ничего кроме ерунды оттуда не выходит, только прошедшая через обработку такой умной машиной ерунда становится ценной и значимой в глазах начальства.
5. Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей.
6. Если Вы точно не знаете, что ваша программа должна делать, надо ли ее начинать?
7. Если программа бесполезна, она будет документирована. Если программа полезна, ее изменят.
8. Если программа полностью отлажена, ее нужно будет скорректировать.
9. Именно та ошибка, о которой не знаешь, в один прекрасный день запорет твою работу за последние пять лет, одновременно уничтожая все игры на диске начальника.
10. Компьютерам свойственно ошибаться, но людям свойственно делать это намного чаще (В каждой ошибке компьютера Вы найдете, по крайней мере, две ошибки человека).
11. Любая, даже самая гениальная программа никогда не работает в момент сдачи ее заказчику.
12. Любая действующая программа устарела.
13. Любая программа обходится дороже и требует больших затрат времени, чем предполагалось.
14. Любая программа стремится занять всю доступную память.
15. Мощность компьютера увеличивается как квадрат цены. Таким образом, если Вы хотите сделать ваш компьютер в два раза дешевле, Вам нужно сделать его вчетверо быстрее.
16. Неопределимые ошибки бесконечны, а определимые ограничены способностями компилятора.
17. Новый компьютер сломается как раз тогда, когда старый отключат и выбросят.
18. Основное различие между пользователя и хакером, взламывающим какую-либо систему это то, что действия пользователя непредсказуемы, и он действует на более широком фронте.
19. Работа с автоматическим исправителем ошибок приведет к обнаружению его узких способностей и широких недостатков.
20. Сделайте так, чтобы программисты писали программы на английском, и Вы узнаете,что они не умеют писать на английском.
21. Сделать компьютер значительно проще и дешевле, чем заставить его что-то делать.
22. Сложность программы растет до тех пор, пока не превысит способности программиста.
23. Программы тестирования обязательно находят ошибку там, где их нет. Если ошибка все-таки есть то она в другом месте (например, на 5-10 символов выше, за границей экрана).
24. То, что некоторые пользователи зовут в программе, пользуясь ей, ошибкой, на самом деле является особенностью. Вывод: все что является для них особенностью или просто крутым (например, Windows) на самом деле есть не что иное, как одна большая ошибка.
25. Усилия, прилагаемые для исправления ошибки, увеличивают ее в геометрической прогрессии по отношению к затраченному времени.
26. Ценность программы прямо пропорциональна весу ее "выдачи".
27. Чем более сложна и совершенна программа, тем более неточные результаты она выдает.
Первая аксиома компьютеров
Чтобы ошибиться, достаточно компьютера, но чтобы действительно испортить все, нужен все-таки еще и человек.
Третий закон Грида
Машинная программа выполняет то, что Вы ей приказали делать, а не то, что бы Вы хотели, чтобы она делала.
Второй закон Вейнберга
Если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию.
Первая компьютерная аксиома Лео Бейзера
Закладывая что-то в ЭВМ, помните, куда Вы это положили.
Руководство по системному программированию Штейнбаха
Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать.
Закон Сатлингера
Компьютер будет работать лучше, если его включить.
Постулаты Трумэна по программированию
1. Самая грубая ошибка будет выявлена, лишь когда программа пробудет в производстве, по крайней мере, полгода.
2. Контрольные перфокарты,которые не могут стоять в неправильном порядке, будут перепутаны.
3. Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобретательный идиот, который придумает способ, чтобы неправильная информация прошла через этот контроль.
4. Непечатный жаргон - это тот язык, которым решительно все программисты владеют в совершенстве.
5. Защита от "дурака" спасает только от неизобретательного дурака.
6. Если у Вас вдруг появляется гениальная идея, Вы ее тут же забываете, но если она неверна, то пытаетесь ее применить.
7. Если установка программы прошла нормально с первого раза, ничего не будет работать.
Законы ненадежности Джилба
1. Компьютеры ненадежны, но люди еще ненадежнее.
2. Любая система, зависящая от человеческой надежности, ненадежна.
3. Число ошибок, которые нельзя обнаружить, бесконечно, в противовес числу ошибок, которые можно обнаружить,- оно конечно по определению.
4. В поиски повышения надежности будут вкладываться средства до тех пор, пока они не превысят величину убытков от неизбежных ошибок или пока кто-нибудь не потребует, чтобы была сделана хоть какая-то полезная работа.
Закон Брука
Увеличения числа участников при подготовке опаздывающей программы только замедляет процесс.
Закон мира ЭВМ по Голубу
1. Неточно спланированная программа требует в три раза больше времени, чем предполагалось; тщательно спланированная - только в два раза.
2. Работающая над программой группа питает отвращение к еженедельной отчетности о достигнутых результатах, поскольку она слишком явно свидетельствует об отсутствии таковых.
Принцип Шоу
Создайте систему, которой сможет пользоваться дурак, и только дурак захочет ею пользоваться.
Законы Лопатина о программировании
1. Если ты наконец-то выучил язык программирования, то он никому уже не нужен.
2. Если ты думаешь, что знаешь язык программирования, то ошибаешься - твои знания безнадежно устарели.
3. Если язык программирования необычайно полезен и популярен в этой стране, то за ее пределами он никому не нужен.
Закон о надежности компьютера
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.
Виртуальная песочница (тм)
Saturday, August 20, 2011
Законы машинного программирования
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment