<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-15">
<META content="MSHTML 6.00.6000.16608" name=GENERATOR></HEAD>
<BODY style="MARGIN: 4px 4px 1px; FONT: 10pt Tahoma">
<DIV>I agree!</DIV>
<DIV>--Randy<BR><BR>>>> "Rodney M. Bates" <rodney.bates@wichita.edu> 2/26/2008 1:34 PM >>><BR>I have been thinking lately that the climate might be right for a new<BR>attempt to promote Modula 3.  I see two major trends and a small one<BR>that suggest this.<BR><BR>Fist, probably nearly once week on the average, I see new articles<BR>that say that software developers are not prepared to utilize the now-<BR>proliferating multi-core processors.  This actually greatly surprises<BR>me, because I had lots of exposure, decades ago, to all the concurrent<BR>programming stuff--threads, synchronization, scheduling, etc.  But<BR>apparently, most programmers have been doing strictly sequential<BR>programming, and I have to admit, I myself only use concurrent<BR>programming techniques a minority of the time.<BR><BR>In Modula-3, we have a language that already has better support than<BR>most, and certainly better than all the popular languages.  Moreover,<BR>the implementation is out if front too, with Tony's recent thread and<BR>GC work for multi-processors.  There are also a few articles out there<BR>that say, in effect, it is hopeless to implement threads and<BR>synchronization correctly as library code on top of existing C/C++.<BR><BR>Second, the expansion of the internet and its vulnerability to<BR>automated attacks from anywhere in the world has greatly upped the<BR>ante on correctness of software.  Before, it was enough if a program<BR>handled all the realistic cases that a reasonable user would present<BR>it with.  Now, the whole theoretical space of inputs has to be handled<BR>with at least some level of correctness to avoid vulnerabilities.<BR>1000-byte passwords are the standard example.<BR><BR>All this means the limits of testing as a means of finding the bugs<BR>are a far greater obstacle than they once were.  This makes the time<BR>right for another push toward static languages, which were somewhat of<BR>a popular flop the first time.<BR><BR>Third, and perhaps rather more narrow, the developers of safety-<BR>critical software are reexamining the value of testing in the light of<BR>various close-calls, for example in airplanes.  They are starting to<BR>look again at static methods.<BR><BR>We have a language which, though little-known, is already designed and<BR>implemented and has a lot of convincing history.  It has a lot of<BR>things that can be promoted.  Aside from good thread support and the<BR>best safety properties around, it is much simpler than almost<BR>anything, yet more powerful than almost anything.<BR><BR>A serious push would probably need the support of some large company<BR>or organization.  But I think the climate is better than it has been<BR>in decades, and the technical arguments are very strong.<BR><BR>-- <BR>-------------------------------------------------------------<BR>Rodney M. Bates, retired assistant professor<BR>Dept. of Computer Science, Wichita State University<BR>Wichita, KS 67260-0083<BR>316-978-3922<BR>rodney.bates@wichita.edu<BR><BR></DIV></BODY></HTML>