Here is what John Polstra, author of the popular CVSup, replied:
Subject: Re: SUP on sup.freebsd.org Date:Wed, 06 Nov 1996 12:31:26 -0800 From:John Polstra
> Erhm, why on earth did you chose Modula3 ?? I newer got the warm > fuzzies by mr. Wirth's languages
Modula-3 came out of DEC's Systems Research Center, and as far as I know, Wirth had nothing to do with it.
> they are maybe good educational tools, but for real world apps, > nah.... :)
I've used the original Wirth Pascal and Algol-W, and that's certainly true of both of them. I've never used Wirth's Modula, so I can't comment on it.
Modula-3 really is a different language, designed specifically for systems programming by some extremely competent and experienced people who knew what they were doing.
> Oh and yes I have seen apps written in modula3, all of which was > horrible performers, and impossible to port to new platforms, so > the management decide a complete rewrite in, guess what, C!
Are you sure it was Modula-3 and not something else with "Modula" in the name? The SRC Modula-3 compiler supports about 25 different platforms.
Plenty of real world apps (*big* ones) have been written in Modula-3, and they perform pretty well. There's also the SPIN OS project [SPIN] at University of Washington, in which the kernel was written in Modula-3. It performs well, too.
Now, you can always argue that a program would be somewhat faster and somewhat smaller if it had been written in C. Hey, guess what? I was around when Unix V6 came out, and the same stuff was written about it. Just substitute "C" for "Modula-3" and "assembly language" for "C". The answer is the same in both cases: Unix would not exist as we know it today if it had been written in assembly language. CVSup would not exist as we know it today if it had been written in C (or C++, for that matter).
OK, so why on earth did I choose Modula-3? In no particular order:
Now before you label me an unstudly OO weenie, please consider this. I've been programming in C professionally for 19 years. I made my living for many years writing C compilers and related tools such as assemblers, linkers, and disassemblers. I still use C and C++ when I feel they are appropriate for a project, not to mention when I have to because that's what the client wants to use. I have experience programming in many many different languages. Different languages are good for different things. I still like programming in C (and C++ for some things), but I'm glad I didn't use it for CVSup.
Any questions? :-)
John - -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth