МАТЕМАТИЧЕСКОЕ
ОБЕСПЕЧЕНИЕ
ЭВМ
Н. Вирт
ПРОГРАММИРОВАНИЕ
НА ЯЗЫКЕ МОДУЛА-2
Программирование на языке Модула-2
TEXT AND MONOGRAPHS IN COMPUTER SCIENCE
Editor David Gries
Advisory Board E. L. Bauer, K. S. Fu, J. J. Horning,
R. Reddy, D. G. Tsichritzis, W. M. Waite
PROGRAMMING IN MODULA-2
NIKLAUS WIRTH
Third, Corrected Edition
Springer-Verlag
Berlin Heidelberg New York Tokyo
1985
МАТЕМАТИЧЕСКОЕ
ОБЕСПЕЧЕНИЕ
ЭВМ
Н. Вирт
ПРОГРАММИРОВАНИЕ
НА ЯЗЫКЕ МОДУЛА-2
Перевод с английского
В. А. Серебрякова и В. М. Ходукина
под редакцией
В. М. Курочкина
МОСКВА «МИР» 1987
ББК 32. 973
В 52
УДК 681. 3
Вирт Н. В52 Программирование на языке Модула-2: Пер. с англ. — М. : Мир,
1987.
—224 с, ил. Книга известного швейцарского специалиста по системному программированию,
знакомого советским читателям по переводам его книг «Введение в системное программирование»
(М. : Мир, 1977) и «Алгоритмы + структуры данных = программы» (М. : Мир, 1985). Язык
Модула-2 является преемником известного языка Паскаль и ориентирован на
однопроцессорные малые ЭВМ. Книга сочетает в себе достоинства учебного пособия и справочного
руководства по этому языку. Для системных программистов, для специалистов, работающих с языком Модула-2. R1702070000-102 м КК1С „ 973
В 041(01)-88 45 ~88' ЧЛ ББК 32'973
Редакция литературы по математическим наукам
© 1985 by Springer-Verlag New York Inc. All rights reserved. Authorized translation from English language
edition published by Springer-Verlag Berlin —
Heidelberg — New York — Tokyo
© перевод на русский язык, «Мир», 1987
ПРЕДИСЛОВИЕ
РЕДАКТОРА ПЕРЕВОДА
Более 15 лет назад появился язык Паскаль, который быстро
завоевал популярность, получив широкое распространение. Создан
он был для целей обучения программированию, однако очень скоро
намел другое поприще - системное программирование. И пожалуй, в
дальнейшем (в том числе и у нас) он больше всего используется
именно для создания программного обеспечения. Правда, целый ряд
черт языка мешал этому. Прежде всего отсутствовала модульность. Немалую роль играли также такие моменты, как отсутствие в языке
параллельных процессов, затруднения с организацией работы
различных независимых устройств вычислительной машины и др. Видимо, все это привело Н. Вирта к идее разработки языка Модула,
а затем и настоящей его модификации - Модула-2. С того момента,
когда этот язык стал известен системным программистам в СССР,
число его сторонников постоянно увеличивалось. Можно смело
рассчитывать на то, что в ближайшее время, кроме зарубежных, мы
будем располагать целым рядом высококачественных отечественных
трансляторов, в большей степени приспособленных к нашей
специфике работы на ЭВМ. Трудно объяснить причины успеха (или неуспеха) какого-либо
языка программирования. Помимо привычки (возможно, основной
причины, объясняющей распространенность, например, Фортрана),
есть еще какие-то Факторы. И не исключено, что весьма
существенным для языков, создаваемых Н. Виртом, и в частности для
Модулы-2, является относительная простота*, при всей широте
возможностей и мощности изобразительных средств описание его
требует всего 40 страниц ("Сообщение о языке программирования
Модула-2" в настоящей книге).