Книги, посвященные обучению - не только обучению программированию, но и обучению всему, чему угодно - пишутся, как я думаю и надеюсь, убеленными сединами экспертами. Для того, чтобы с высот своего понимания предмета спуститься до уровня человека, впервые встречающегося с этим предметом, необходимы недюжинные педагогические способности. И тем более трудно применить эти способности не в прямом контакте с учеником, когда есть обратная связь и возможность по-другому - более понятно - формулировать свои объяснения, а при написании книги.
Эксперт знает все и сразу. На тот момент, когда он пишет "контекст устройства", он уже имел дело с этим "контекстом" тысячи раз, и стараясь объяснить это понятие на уровне новичка, он подсознательно все равно остается на своем уровне - обремененный своим опытом использования "контекста".
Эта книга написана по-другому. Я начинал ее писать, будучи новичком в С++, и писал я, конечно, не учебник, а что-то вроде справочника для самого себя - чтобы с трудом освоенные (в результате чтения книг, упомянутых выше, и долгих сражений с компиллятором) приемы и навыки, не пришлось с таким же трудом восстанавливать заново через несколько недель, когда возникнет подобная задача, требующая таких же приемов. Так что, на том этапе книгу можно было бы назвать "От новичка - новичку". И она написана именно на языке и уровне, понятном новичку в С++.
После того, как этот уровень был пройден, и я стал уже давать советы по программированию и даже обучать ему других, пришло понимание того, что получившийся справочник может легко стать учебником для людей, только что взявшихся за С++. В результате исходный текст был несколько переработан; главы были выстроены примерно в порядке возрастания сложности; к каждой главе, вначале представлявшей собой просто код с комментарием, были добавлены подробные пояснения, достигающие основ языка; и текст превратился в то, что вы видите перед собой. Надеюсь, что в нем сохранилась понятность для новичка (хотя каждое добавление уже несет на себе отпечаток "лишних" знаний) и, вместе с тем, исправлена часть ошибок молодости. Говорю "часть", поскольку язык достаточно безграничен и все вещи в нем можно сделать многими способами. Поэтому, став когда-нибудь экспертом, вы поймете, что некоторый код в этой книге можно значительно укоротить, но сделав так, спросите себя - поняли ли бы вы его в начале своего пути в С++?
Покончив с обоснованием преимуществ этой книги перед другими, необходимо отметить, что, как следует из названия, для чтения книги желателен Borland C++ 5. Это не исключает варианта, когда вы сначала читаете книгу, не прикасаясь к клавиатуре, а лишь затем решаете установить себе Borland и читаете ее второй раз вместе с ним. Третий вариант, который тоже применим - вы к моменту чтения книги уже имеете некоторый небольшой опыт в освоении С++ и используете книгу как источник каких-то новых для вас приемов. Также вы можете использовать эту книгу как дополнение к уже имеющейся у вас библиотеке по С++ - известно, что чтение нескольких вариантов объяснения одного и того же очень помогает в понимании.
Эта книга будет полезна даже в том случае, когда вы используете не Borland C++ 5 в чистом виде, а оболочку Borland Builder C++.
Используя эту книгу, вы постепенно, шаг за шагом, изучите основные принципы и конкретные приемы программирования на С++. Книга обильно снабжена скриншотами - вы всегда можете проверить себя, сравнивая картинки в книге с тем, что вы видите на экране. А в первых главах, вообще, картинок больше, чем текста - чтобы вы смогли быстро понять, что к чему в Borland-е.
Предпоследнее слово: Если у вас достаточно места на диске, устанавливайте Borland полностью, поскольку никогда заранее не известно, что вам может понадобиться и каких глубин вы сможете достигнуть. А если (или когда) Borland у Вас уже установлен, вы переворачиваете страницу, попадаете в первую главу и начинаете создавать свою первую программу.
Последнее слово: любые замечания, вопросы, претензии принимаются с удовольствием. Адрес электронной почты - в нижней части каждой страницы.
Галявов И.Р. e-mail: cborland@mail.ru