ЗАКОНЫ МАШИННОГО ПРОГРАММИРОВАНИЯ
- Внутри каждой большой программы есть маленькая, которая там совсем не нужна.
- Все ошибки, описанные как особенности, в момент сдачи
программы не сработают или будут вести себя, как ошибки.
- Все программы содержат ошибки, просто о некоторых мы не догадываемся.
- Если Вы заводите в компьютер ерунду, то ничего кроме ерунды оттуда не выходит, только прошедшая через обработку такой умной машиной ерунда становится ценной и значимой в глазах начальства.
- Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей.
- Если Вы точно не знаете, что ваша программа должна делать, надо ли ее начинать?
- Если программа бесполезна, она будет документирована. Если программа полезна, ее изменят.
- Если программа полностью отлажена, ее нужно будет скорректировать.
- Именно та ошибка, о которой не знаешь, в один прекрасный день запорет твою работу за последние пять лет, одновременно уничтожая все игры на диске начальника.
- Компьютерам свойственно ошибаться, но людям свойственно делать это намного чаще (В каждой ошибке компьютера Вы найдете, по крайней мере, две ошибки человека).
- Любая, даже самая гениальная программа никогда не работает в момент сдачи ее заказчику.
- Любая действующая программа устарела.
- Любая программа обходится дороже и требует больших затрат времени, чем предполагалось.
- Любая программа стремится занять всю доступную память.
- Мощность компьютера увеличивается как квадрат цены. Таким образом, если Вы хотите сделать ваш компьютер в два раза дешевле, Вам нужно сделать его вчетверо быстрее.
- Неопределимые ошибки бесконечны, а определимые ограничены способностями компилятора.
- Новый компьютер сломается как раз тогда, когда старый отключат и выбросят.
- Основное различие между пользователя и хакером, взламывающим какую-либо систему это то, что действия пользователя непредсказуемы, и он действует на более широком фронте.
- Работа с автоматическим исправителем ошибок приведет к обнаружению его узких способностей и широких недостатков.
- Сделайте так, чтобы программисты писали программы на английском, и Вы узнаете,что они не умеют писать на английском.
- Сделать компьютер значительно проще и дешевле, чем заставить его что-то делать.
- Сложность программы растет до тех пор, пока не превысит способности программиста.
- Программы тестирования обязательно находят ошибку там, где их нет. Если ошибка все-таки есть то она в другом месте (например, на 5-10 символов выше, за границей экрана).
- То, что некоторые пользователи зовут в программе, пользуясь ей, ошибкой, на самом деле является особенностью. Вывод: все что является для них особенностью или просто крутым (например, Windows) на самом деле есть не что иное, как одна большая ошибка.
- Усилия, прилагаемые для исправления ошибки, увеличивают ее в геометрической прогрессии по отношению к затраченному времени.
- Ценность программы прямо пропорциональна весу ее "выдачи".
- Чем более сложна и совершенна программа, тем более неточные результаты она выдает.
Первая аксиома компьютеров.
Чтобы ошибиться, достаточно компьютера, но чтобы действительно испортить все, нужен все-таки еще и человек.
Третий закон Грида.
Машинная программа выполняет то, что Вы ей приказали делать, а не то, что бы Вы хотели, чтобы она делала.
Второй закон Вейнберга.
Если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию.
Закон о надежности компьютера
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.
Первая компьютерная аксиома Лео Бейзера.
Закладывая что-то в ЭВМ, помните, куда Вы это положили.
Руководство по системному программированию Штейнбаха.
Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать.
Закон Сатлингера.
Компьютер будет работать лучше, если его включить.
Постулаты Трумэна по программированию.
- Самая грубая ошибка будет выявлена, лишь когда программа пробудет в производстве, по крайней мере, полгода.
- Контрольные перфокарты,которые не могут стоять в неправильном порядке, будут перепутаны.
- Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобретательный идиот, который придумает способ, чтобы неправильная информация прошла через этот контроль.
- Непечатный жаргон - это тот язык, которым решительно все программисты владеют в совершенстве.
- Защита от "дурака" спасает только от неизобретательного дурака.
- Если у Вас вдруг появляется гениальная идея, Вы ее тут же забываете, но если она неверна, то пытаетесь ее применить.
- Если установка программы прошла нормально с первого раза, ничего не будет работать.