Why do some universities use Modula-2 for teaching instead of C or C++?
A1. Modula-2 is a type-safe language and its compilers will therefore catch many errors that otherwise show up only at run time. While professional programmers need to learn C++ because it is commonly used, it is important to begin a discipline of deliberate, engineered programming at the outset. Modula-2 is easier to write in, easier to read (it reads left to right) and easier to debug. It lends itself well to software engineering of very large projects. Modula-2 is a higher level language than C++, particularly with respect to pointers, all of which have types that depend on what is pointed to, and that can be treated as addresses only by flagging this fact in the code. A good computing science department (such as the one at Trinity Western University, where I teach,) tries to inculcate a way of thinking (as a software engineer, not a hacker) and beyond that, a breadth of ideas. At TWU C, C++, Java, Prolog, php, and other languages, are taught in appropriate courses, and on a variety