Игорь Одинцов Профессиональное программирование. Системный подход С-Пб.: bhv, 2002. 512 с.: ил. |
Среди множества книг, предлагаемых в качестве пособий по обучению программированию, редко встретишь действительно ценную. И вот читателям повезло. Выпущенную издательством bhv книгу можно, без сомнения, отнести к подобного рода удивительным исключениям. Она рассказывает об очень интересном опыте специалиста и педагога и аккумулирует накопленные за последние полвека знания, следуя при этом традициям в области программирования, сформировавшимся на математико-механическом факультете С-ПбГУ.
Свою цель автор книги видит, с одной стороны, в том, чтобы познакомить широкие круги программистов «с современным состоянием развития основных областей их предметной области», а с другой — предложить им «систематизацию и классификацию этих областей». Естественно, что в таком случае ему пришлось прибегнуть «к системному подходу к программированию» и изложить его понимание в «обобщенном и систематизированном виде». При этом основное внимание было уделено «знаниям методологий программирования, групп языков, классов систем и технологий, типов архитектурных и операционных платформ», которые, по мнению И. Одинцова, имеют сроки старения 10—15 лет. Таким образом, круг заинтересованных читателей книги образуют профессионалы, использующие ее для систематизации своих знаний, менеджеры проектов, начинающие программисты, студенты и преподаватели.
Структура книги отражает авторские намерения, которые он реализует, группируя главы в две части: «Профессиональные рамки» и «Три зерна профессионального программирования». Первая охватывает вопросы, характеризующие профессиональную деятельность программиста и рано или поздно встающие перед ним. Вот некоторые примеры. Каковы основные черты мышления профессиональных программистов? Что они должны знать и уметь? Существуют ли стандарты обучения программированию? Что такое программирование: искусство, наука или ремесло? Почему многие программные проекты не удовлетворяют требованиям заказчика по срокам и стоимости работ? Кроме того, в этой части рассмотрены основные понятия и их толкования, полезные для обсуждения вопросов профессионального программирования. Например, программа и программный продукт, алгоритмы, модели и моделирование, жизненный цикл ПО, проект и команда, его выполняющая. Основная задача профессионального программирования, по мнению автора книги, состоит в создании качественного ПО. Читателей наверняка заинтересует глава, посвященная карьере в области информационных систем. Из нее они почерпнут сведения о том, как сделать эту карьеру, каковы начальные шаги в ней, в чем особенности национальной карьеры, наконец, как написать резюме и подготовиться к собеседованию при приеме на работу.
Вторая часть книги, включающая «три зерна» — направляющее, инструментальное и базисное, — собственно, и дает представление о профессиональном программировании. Это касается использования методологий и технологий программирования, языков программирования, необходимых при написании программ или поддерживающих технологические процессы, а также систем программирования. Наряду с этими рассмотрены архитектурные и операционные платформы, которые необходимо учитывать в программном проекте, так как они определяют среду, где должно работать ПО.
Итак, читатель получил добротный труд, базирующийся на результатах одной из известнейших отечественных школ программирования. Важно, что автор аргументирует свои суждения, основываясь на обширной библиографии, включающей и российские источники, удобно привязанной к содержанию глав. Большой объем книги (более 500 страниц) свидетельствует не только о желании автора быть понятым читателем, но и о его богатом лекционном опыте и о результатах обсуждений некоторых материалов со студентами. Весьма полезны исторические комментарии по отдельным вопросам, например о развитии языков программирования и моделирования, операционных систем, Интернета и т. д.
Стиль и содержание книги И. Одинцова рассчитаны на широкий круг читателей. Удовольствие от знакомства с ней определенно перевесит те недостатки, которые сможет заметить вдумчивый читатель.