Afterword: You and Modula-2--Why did you Really buy This Book?

You have done one or more whole courses in Modula-2 now, and what can you conclude? What have you gained, or what have you become? Are you now a professional computer scientist?

To the latter, no, not unless you were before starting this book, and you used its contents only to add another language to your growing repertoire. If this lofty status is indeed your goal, your next step is probably a course in the management of large programs and data structures. You will also need to learn about how that computer you have been using works (digital systems and hardware design), a few courses in such things as systems design, expert systems ("artificial intelligence"), computers and the law, computers and society, some applications courses (design and use) such as in data-bases, communications, networking, and so on. More work on advanced programming (graphics, GUIs and operating systems) would top things off nicely, and make you an apprentice. You have a long way to go.

Are you a real programmer?

Same as above, to put it succinctly. This book has covered an introduction to the facilities of a single programming language, and while it is the author's belief that Modula-2 offers most of the modern facilities any programmer needs and a nearly ideal programming environment for development work, there are many other languages that will be more suitable (at least in the near future) for specific tasks. If you are planning to become a professional programmer, you should learn at least two other high-level languages that are substantially different from Modula-2, at least one of C++, Java, Pascal or Ada ( each similar in their own way) and at least one machine language.

Moreover, you should be familiar with your main working language in several different operating systems (environments). If you have learned Modula-2 on a mainframe or large mini-computer, you should get a microcomputer version and learn that, or vice-versa. In any event, find one with full windowing and learn how to generate applications that take full advantage of such features. Above all, never stop learning, for computer science is changing and being changed so rapidly that you will quickly be left far behind if you stay in one place.

Has your life been enriched by this book?

Silly, presumptuous and inappropriate question. Still, one would hope so.

--Rick Sutcliffe, Ft. Langley 1988, 1990, 1995, 1999, 2002. 2004


Contents