In the large project i was working on (approx. 100 man years), we had the choice of C or Modula-2. Modula-2 has an almost exact mapping 1:1 with C. C has arithmetic, logical operations, records, arrays, function calls, and the classic control flow statements like loops, if, switch. So from a feature point of view Modula-2 only offered a few additional features. So people ignored it. But what they failed to realize at the time, and still continue to fail to realize, is that from a practical standpoint programming is all about avoiding human error. You can write 1000 lines of code in a certain number of hours, but how long until all the errors are removed? This is where the majority of time is spent, and when you have a whole bunch of people changing the same code base at the same time, that multiplies the possibility for errors. Modula-2 offered more protection for the programmer. It caught errors that C at the time did not catch