This book has the objective of teaching the Modula-2 programming language from the viewpoint of language syntax, software engineering principles, style, and hazards for the unwary. The first section of the book does that. Section 2 covers the differences between Pascal and Modula-2. Section 3 discusses Input and Output. Section 4 delves into other libraries. Section 5 is concerned with recent changes to Modula-2 and the Borland Modula-2 Implementation (long in the works, but still not available). There are also appendices.
This book is set in an easy-to-read style. The accompanying notes on style and software engineering principles should indeed be included in tutorials on programming languages; it is not enough, these days, just to explain the syntax of a language. The style proposed in this book is reasonable, but not completely to my liking. It violates my law of minimizing rightward source-text drift. The rules involving lining up the colons in variable declarations and the equal symbol in type declarations force the text to the right side of the page and leave the left side blank.
The Modula-2 programming language has some of the characteristics of Ada, Pascal, and C. Many books are being published on the Modula-2 programming language. My favorite is by the same author in collaboration with Ford [1]. That book overlaps this one in introducing Modula-2, but it gives much more substantive examples on how one should think while writing larger-scale Modula-2 programs. It would be a “second course.”
The book is full of small, illustrative examples of Modula-2 programming, which makes it ideal for quick learning. I recommend this book for learning Modula-2, but I think that [1] would make one a Modula-2 wizard.