Cтраница 1
Последовательность рекурсивных вызовов функции fibonacci. [1] |
Большинство программистов просто полагает, что операнды будут вычисляться слева направо. Поэтому программист не может делать каких-либо предположений о последовательности, в которой будут выполняться эти вызовы. В этой и большинстве других программ результат не зависит от последовательности вычислений. Но в некоторых программах вычисления операндов могут иметь побочный эффект, который может повлиять на окончательный результат выражения. Для первых трех бинарных операций операнды гарантированно вычисляются слева направо. Ее самый левый операнд всегда выполняется первым; если результат его вычисления отличен от нуля, то следующим вычисляется средний операнд, а последний операнд игнорируется; если же результат вычисления самого левого операнда равен нулю, то следующим вычисляется третий операнд, а средний операнд игнорируется. [2]
Большинство программистов не используют точечные пары, поскольку по сравнению с требуемой в таком случае внимательностью получаемый выигрыш в объеме памяти и скорости вычислений обычно не заметен. [3]
Большинство программистов знакомо с этим правилом, но они чрезмерно обобщают его, считая, что лишние скобки никогда не изменяют смысл оператора. [4]
Большинство программистов не принимают участия в этой работе, поскольку она обычно осуществляется на уровне руководства проектом и связана с решением таких вопросов, как определение общего подхода к решению проблемы ( целесообразно ли вообще привлекать для этоп ЭВМ. [5]
Большинство программистов может быстро достичь уровня, позволяющего им по крайней мере читать программы, написанные на Паскале. Если Вы пользовались другими языками, то у Вас не возникает трудностей при чтении наших программ, поскольку хорошо структурированные программы должны читаться аналогично на многих языках. Мы избегаем многих черт, свойственных только Паскалю, и причем то, чего не удалось избежать, заключаем в четко определенные модули. [6]
Большинство программистов, использующих машину уровня п, интересуются только самым верхним уровнем, то есть уровнем, который меньше всего сходен с машинным языком. Однако те, кто хочет понять, как в действительности работает компьютер, должны изучить все уровни. Те, кто проектирует новые компьютеры или новые уровни ( то есть новые виртуальные машины), также должны быть знакомы со всеми уровнями. Понятия и технические приемы конструирования машин как системы уровней, а также детали уровней составляют главный предмет этой книги. [7]
Большинство программистов, и я в том числе, разрабатывают как внешнюю, так и внутреннюю документацию. Поэтому рекомендую вам после того, как вы завершите отладку и будете удовлетворены функцио-нированием программы, сделать резервную копию, а затем из рабочего экземпляра удалить все строки комментариев. [8]
Большинству программистов не надо представлять такой известный язык программирования, каким является Лисп, тем более, что некоторые из них уже прочно связали с ним свою деятельность. [9]
Однако большинство программистов редко работают с информацией на уровне двоичных наборов. Это, конечно, естественно для численных расчетов, в которых программист обычно имеет дело с арифметическими операциями и редко касается вопросов внутреннего представления чисел. С другой стороны, в областях, не так хорошо устоявшихся, как численные расчеты, некоторые важные операции над данными нельзя ввести в вычислительное устройство или языки программирования высокого уровня. Так, в некоторых часто встречающихся в комбинаторных вычислениях классах операций для эффективного программирования необходимо знание алгоритмов, которые работают на уровне двоичных символов. Со временем, когда эти операции будут более широко известны, они, вероятно, будут вводиться в вычислительные устройства и языки программирования. [10]
Когда большинство программистов встречаются с его утверждением, что специалисты, работающие над большими проектами, могут за год произвести всего лишь 1000 строк отлаженного кода, они удивляются, не прилетел ли профессор Брукс из космоса, с планеты Баг. В конце концов, большинство из них помнит, как они создавали программу из 1000 строк всего за одну ночь. [11]
Когда большинство программистов встречаются с его утверждением, что специалисты, работающие над большими проектами, могут за год произвести всего лишь 1000 строк отлаженного кода, они удивляются, не прилетел ли профессор Брукс из космоса, с планеты Баг. В конце концов, большинство из них помнит, как они создавали программу из 1000 строк всего за одну ночь. [12]
Возможно, большинство программистов, пользующихся стандартными функциями Паскаля In и sqrt, не знают, как вычисляются натуральные логарифмы и квадратные корни, именно так и должно быть. [13]
Дейкстра заметил, что большинство программистов придерживается устаревшей точки зрения, заключающейся в том. ЭВМ, в то время как современный программист знает, что ЭВМ существуют для того, чтобы выполнять программы, которые представляют собой сконструированные программистом абстрактные машины. Автору представляется, что в зависимости от обстоятельств обе эти точки зрения являются законными. Существенный шаг в нужном направлении будет сделан тогда, когда и разработчики и программисты серьезно задумаются об этих двух точках зрения и их фундаментальном отличии друг от друга. К сожалению, до сих пор очень мало кто задумывается об этом. Поэтому автор считает целесообразным более подробно рассмотреть этот вопрос. [14]
Несмотря на то что большинство программистов интуитивно представляют себе характеристики возможных ошибок, встречающихся в их программах, необходимо добиться количественного и качественного понимания причин ненадежности с целью их эффективного поиска и устранения. [15]