Предисловие от автора
Все началось с того, что летом 2002 года я окончательно разочаровался в языке php, на
котором в то время довольно много писал. Специализировался я на веб-программировании,
поэтому выбор инструмента был в общем-то логичным, но при разработке крупных проектов
php показывал себя далеко не с лучшей стороны: сказывалось отсутствие средств каскадной
обработки исключений, множественного наследования и пространств имен.
Короче, php меня не устраивал и по практическим соображениям, и с точки зрения
идеологии. Как говорится, ничто так не ограничивает полет мысли программиста, как
компилятор/интерпретатор.
Я начал искать альтернативу php. До php мне приходилось работать с языком perl,
который меня не устраивал по тем же причинам. C++ тоже не самый удобный язык для
разработки web-приложений, т.к. стоимость владения такими приложениями довольно
велика. И вот я наткнулся на Питон (Python, http://python.org).
Идею использования Питона подхватил Дмитрий Бречалов, мой знакомый, с которым
мы очень продуктивно переписывались и обменивались книгами. Он довольно быстро
освоил Питон и умудрялся писать на нем даже для своего «наладонника» Psion. Он же
прислал мне по электронной почте ссылку на сайт проекта «How to think like a computer
scientist. Learning with Python» (http://greenteapress.com/thinkpython/). Книгу я прочитал на одном дыхании, меня поразил способ подачи материала. Например, понятие рекурсии в этой
книге вводится раньше синтаксических конструкций, реализующих циклы, причем очень
понятно и элегантно. В школьных же программах рекурсивные алгоритмы обычно выносятся
в разряд олимпиадных задач.
Окончательным толчком послужило то, что я начал преподавать компьютерные курсы
в фонде «Интеллект-клуб» для детей в возрасте от 9 до 13 лет. Эксперименты с паскалем
были неудовлетворительными, т.к. приходилось отвлекаться на тонкости реализации типов и
различные ограничения, присущие этому языку, отвлекаясь от сути программирования.
Использовать C++ я даже не пытался, т.к. он еще сложнее. На помощь опять пришел Питон.
Хотелось бы поблагодарить исполнительного директора фонда, Репях Андрея, который
предоставил мне полную свободу, поощряя мои эксперименты.
Для того чтобы быть уверенным, что ничего не упустил, я попробовал другой язык –
Ruby (сайт проекта), но вскоре вернулся к Питону. Ruby, как и perl, изобилует конструкциями, которые способны читать только «гуру», что совсем не помогает начинающим программистам. Да и в плане количества модулей Питон его пока превосходит.
Чтобы дети могли заниматься самостоятельно, я решил перевести книгу «How to think
like a computer scientist». Но в процессе перевода у меня постоянно возникало желание
дополнить ее своими собственными идеями, переставить местами главы, чтобы изложение
материала было более логичным. Более того, я обнаружил множество спорных моментов. В
конечном итоге я взялся за свою собственную книгу, основанную на «How to think like a
computer scientist», но с дополнениями и исправлениями. Можно сказать, что это
русскоязычная редакция или ответвление от проекта.
Книга получилась немного сложнее, чем планировалось: в целом она соотвествует
уровню старших классов и начальных курсов ВУЗов, но и младшеклассники при поддержке
преподавателя тоже смогут без особого труда освоить материал книги.
Данная книга распространяется по лицензии OPL
с ограничением VI-B. Это означает, что текст данной книги может использоваться свободно
в любых целях, за исключением коммерческих.
Скачать книгу PDF, 750KB
Как здесь качать? | Сообщить об ошибке
