С ростом количества программ для вычислительных машин к ним постепенно стали относиться, как к тексту, — с позиции его качества. Далее неизбежно возникло понятие стиля программирования, а при передаче знаний в этой профессиональной предметной области начали рассматривать и методы программирования. И похоже, обучение стилю и методам программирования превратилось в некое подобие преподаванию в литературном институте, а в числе авторов книг по этому предмету мы видим наиболее маститых членов программистского цеха, начиная с Э. Дейкстры, положившего начало употреблению понятия стиля в виде термина. Появление среди книг серии «Основы информационных технологий», выпускаемой Интернет-университетом информационных технологий (ИНТУИТ), одним из наиболее известных образовательных проектов в России (www.intuit.ru), тома проф. Н.Н. Непейводы «Стили и методы программирования» следует признать не только своевременным, но и важным, так как это означает, что образовательные услуги в университете подняты на хороший профессиональный уровень, поскольку теперь в нем можно научиться не просто писать тексты программ, но и делать это качественно.
Н.Н. Непейвода Стили и методы программирования М.: Интернет-университет информационных технологий, 2005. 320 с.: ил. |
Предлагаемая вниманию читателей книга проф. Н.Н. Непейводы интересна прежде всего тем, что в ней нашел отражение взгляд на программирование с позиции математической логики. Образование, полученное автором на мехмате МГУ им. М.В. Ломоносова, и опыт работы по перестройке преподавания информатики в Удмуртском ГУ (автор убежден, что научить «настоящему программированию без адекватной математики и философии невозможно») определили содержание данного курса для учащихся в ИНТУИТе. По количеству лекций и упражнений он соответствует традиционному семестровому вузовскому курсу и, естественно, предполагает знакомство с программированием и отвечает требованиям дополнительного образования.
Восемнадцать лекций включают материалы по программированию от вводных, позволяющих упорядочить имеющиеся у читателя знания и навыки, до общих сведений о стилях программирования и соотношении методов и стилей.
Разумеется, программирование связано с моделями вычислений, и в книге имеется соответствующая глава, в которой рассмотрены традиционная модель, известная как модель Джона фон Неймана (автор делает уточнение, связав ее разработку с именем Конрада фон Цузе), и нетрадиционная — модель параллельных вычислений.
Несколько глав книги Н.Н. Непейводы посвящено языкам программирования, их конструкции и компонентам: синтаксису, семантике и прагматике, а также абстрактному и конкретному синтаксису.
Многие главы книги содержат материалы по различным видам программирования — сентенциальному, функциональному, автоматному, событийному, структурному, параллельному и др. (Здесь же можно узнать о роли соответствующих языков Рефал, PROLOG, Lisp и о стилях программирования.)
Н.Н. Непейвода понимает под стилем программирования (с. п.) «внутренне концептуально согласованную совокупность средств, базирующуюся на некоторой логике построения программ». В посвященной этому главе он уточняет: «... с. п. — совокупность парадигм и методологий, соответствующих одному и тому же классу логических методов, используемых при построении программ». Им же в книге предложен «морфологический ящик по координатам действия—условия, локальность—глобальность», позволяющий выявить назначение каждого стиля. Также рассмотрены вопросы использования различных стилей программирования с учетом их взаимодействия, называемого сочетанием.
В завершающей главе книги дана сводка сочетаемости восьми методов и стилей программирования.
В целом, по нашему мнению, книга представляет большой интерес для широкого круга читателей, в том числе и опытных программистов, поскольку и им полезно «сверить часы», познакомившись с иным профессиональным мнением по поводу стилей и методов.
Очень важным представляется нам то обстоятельство, что данный курс составлен с учетом результатов, полученных отечественными школами программирования. Привлекателен также авторский стиль книги, который не только украшен доброй иронией, но и щедро отмечен историческими справками и нетривиальными комментариями, позволяющими глубже вникнуть в суть проблем.