ii
го, умение быстро творчески осваивать новые системы понятий и находить
новые эффективные решения.
Эту книгу правильнее всего хоть один раз прочитать с начала и до конца
подряд. Тогда Вы сможете наиболее четко выстроить систему понятий. Не-
которые фрагменты изложения могут показаться сведущему читателю слиш-
ком простыми, другие — сложны для новичка. Тем не менее, мы советуем не
пропускать материал, возможно, уделяя меньше времени простым вопросам,
а к не до конца понятому — обращаясь повторно, когда накопится необходи-
мый опыт. Конечно же, она приспособлена и к фрагментарному чтению, но
в этом случае следует контролировать однозначность понимания тех поло-
жений, которые определяются ранее
1
. Отчасти этому помогут приложения и
глоссарий в конце текста. При чтении полезно не только знакомиться с при-
водимыми программами, но и пытаться выполнять их на своем компьютере.
При этом полезно не буквальное повторение написанного, а вариации на за-
данную тему. Так, если у вас получится более эффективная программа, по-
старайтесь понять, почему авторы предпочитают свой вариант; если под ру-
кой нет системы программирования, на языке которой представлен пример,
постарайтесь перевести его в привычную для вас обстановку, по возможно-
сти сохраняя идеи моделируемой программы.
Пособие не затрагивает тренинга, на котором отрабатываются типовые
приемы программирования и методы их применения. Место таким занятиям
в разделах курсов, посвященным конкретным языкам программирования и
алгоритмике как таковой, менее связанной с программированием на языках.
По конкретным языкам есть множество отличных пособий, по алгоритмике
можно рекомендовать книгу [42], соответствующую по уровню изложения
данному курсу и отлично сочетающуюся с ним по материалу. Отчасти мы
неизбежно затрагиваем и эти две темы. Отличие нашего изложения в следу-
ющем.
• Языковые аспекты. Подчеркиваются существенные черты, анализиру-
ются с показом достоинств, недостатков и существенных особенностей
их различные реализации; порою полностью игнорируются случайные
детали конкретных (хотя бы и самых распространенных) реализаций;
если какие-то интересные аспекты были отброшены из-за неудачной
реализации либо еще не реализованы как следует, они все равно ана-
лизируются.
1
Не стоит пытаться переносить на эту книгу опыт чтения энциклопедий, поскольку при
нынешнем понимании этого слова они представляют из себя базу данных, а не базу знаний.