Сообщений 11 Оценка 46 Оценить |
Книга представляет собой руководство по программированию на C++, позволяющее быстро освоиться в данном алгоритмическом языке, и включает как необходимый теоретический материал, так и реализации задуманных программ в виде листингов, поясняющих рисунков, таблиц. Начав с изучения основ языка, читатель знакомится с принципами перехода от формального словесного описания задачи к описанию, понятному для ПК и позволяющему решить ее за короткое время, постепенно осваивает все более сложные конструкции, учится сам использовать богатый арсенал C++. Приводятся примеры не только работающих, `отлаженных` программ, но и наиболее вероятных ошибок, возникающих в процессе написания программы и не всегда распознаваемых компилятором. Рассматриваемые встроенные функции, библиотеки дают возможность при правильном подключении уже готовых функций, макросов значительно сократить программный код.
По шутливому замечанию Джеффа Элджера, "на рынке продается по крайней мере 2 768 942 книги о С++". И все же выдержите в руках еще одну - 2 768 943-ю книгу о том же самом. Зачем нужна еще одна книга о С++?
Когда я стал преподавать программирование на языке С++ для первокурсников, мне потребовалось выбрать базовый учебник, по которому студенты станут изучать С++ и учиться программировать на этом языке. Перерыв гору литературы, я с удивлением констатировал, что нужной мне книги нет. По той или иной причине ни одна из них меня не устроила. Оказалось, что некоторые очень важные свойства языка часто либо вовсе не описаны, либо рассматриваются на элементарном уровне. Наверное, лучшим выбором была бы книга Стенли Липпмана "С++ для начинающих", однако в настоящее время ее просто не найти.
Все книги о С++ можно разделить на несколько категорий: о самом языке С++, об использовании конкретной среды программирования вроде Borland C++ или Visual C++, и о типовых структурах данных и алгоритмах. Однако по собственному опыту знаю, что этого недостаточно, чтобы научиться программировать на С++. В жизни программисту приходится сталкиваться с целым спектром чисто практических проблем, которые ни в одной книге не излагаются.
Во-первых, как я неоднократно ранее убеждался на собственном опыте, и еще раз убедился на опыте моих студентов, изучить язык программирования в отрыве от среды программирования нельзя. Можно прекрасно выучить все нюансы С++, но быть совершенно беспомощным при написании конкретной программы в конкретной системе. Обучение всегда должно происходить в некоторой среде программирования, да и работать всегда приходится в реальной системе, которая имеет те или иные особенности и недоработки.
Во-вторых, программировать, не обращая внимания на операционную систему и аппаратную платформу, тоже невозможно - хотя бы потому, что реализация встроенных типов данных зависит от аппаратуры. И тут существует множество "подводных камней", на которые постоянно "натыкается" начинающий программист. А ввод/вывод в любом языке программирования всегда зависит от файловой системы ОС. Недаром, чтобы уменьшить эту зависимость, ввод/вывод в С++ полностью вынесен в отдельные библиотеки.
И наконец, проблема русских букв. Естественно, ни одна книга иностранных авторов, многие из которых просто замечательны и мне очень нравятся, эту проблему не затрагивает. Удивительно, но и в книгах российских авторов тоже нет об этом ни слова! Между тем, это серьезная проблема для начинающего программиста, требующая определенных знаний и навыков.
Такой же серьезной проблемой является переход от консольных приложений к оконным. Помню, как мучительно долго я, опытный программист, разбирался в идеологии и особенностях программирования для Windows. Угнетало количество технических деталей и отсутствие четких ориентиров, на что в первую очередь обращать внимание. Тем более такой переход сложен для новичка, несмотря на то, что сейчас существует достаточно много отличных книг, обучающих программированию для Windows.
Однако в экспресс-курсе невозможно изложить все. В процессе работы над книгой мне часто приходилось решать, что оставить, а что выбросить. Поэтому в главе об указателях я решил не упоминать о функции malloc и ее "родственниках" из С, а в главе о вводе/выводе ни слова нет о библиотеке stdio.h. Не упоминается и о битовых полях в структуре и совсем мало о битовых операциях. А вот о программировании функций, наоборот, написано значительно больше, чем это обычно принято. Довольно много внимания уделено и различным проблемам, возникающим в реальном программировании. Достаточно подробно описана проблема "кириллизации" строк, так важных для начинающих программистов.
Что получилось - судить вам.
Получилось - "то, что доктор прописал". Правильный порядок подачи материала, примеры с использованием средств именно C++, а не просто "C с классами" (потоки ввода-вывода, шаблоны, STL), указания на особенности используемых средств разработки позволяют смело рекомендовать ''С++. Экспресс курс'' как книгу, с которой нужно начинать изучение C++.
Сообщений 11 Оценка 46 Оценить |