Newsgroups: comp.realtime Path: utzoo!utgpu!cunews!bertrand!greg From: greg@organia.sce.carleton.ca (Greg Franks) Subject: Re: RSX -- one of the best? In-Reply-To: klaus@captain-crunch.ai.mit.edu's message of 4 Jun 91 21: 22:59 GMT Message-ID: Sender: news@cunews.carleton.ca Organization: /home/organia/greg/.organization References: <22847@shlump.lkg.dec.com> <41618@genrad.UUCP> <16302@life.ai.mit.edu> Distribution: comp.realtime Date: Wed, 5 Jun 1991 20:00:23 GMT In article <16302@life.ai.mit.edu> klaus@captain-crunch.ai.mit.edu (Klaus B. Biggers) writes: In article greg@organia.sce.carleton.ca (Greg Franks) writes: > >The *lack* of a C compiler is often considered an advantage in the >context of larger real-time systems (i.e., those with lots of people >working on the same 8-megabyte program). Type checking -- what't >that? :-). >-- I think they call it ANSI C and prototyped functions... or there's lint which will do your type checking. C has some really nice advantages.. C still doesn't do enumerations well. Arguments of values 1..10 are still stuffed in integers or characters or whatever in C. The compilers I used for real time switching systems put range checks in strategic locations for enumerated types (Dialed digit '60' is out of range 0-9: core dump). We never turned the range checking off, despite the hit on performance, because reliability was more important than speed. We also found that the performance hit was not all that bad anyway. Next, of course, is the issue of "pointer surprise". We had enough troubles with Pascal-style pointers. Ansi C has not been in existance for all that long. Regrettably, lint is not used. (Try running lint on some AT&T System V.3 source code sometime. :-(). If it isn't built into the compiler, it will not be used. portability-- what't that? data abstraction-- what't that? what did you use on RSX11?? fortran? I forgot about the RSX connection, it was a long time ago. To answer your question, Macro-11. Portability, who cares. Data abstraction, what's that? :-) Portability is often not an issue with real time systems because it is expensive to change the hardware. And if you change the hardware, almost everything else changes too because much of the code deals with all of those fancy devices you have hooked up to the system. The RSX-system was designed to run for 30 years after a 10 year development period. The hardware chosen for the project was not the newest or sexiest, but one that would probably still be available in some form or another for the entire life span of the plant. Don't get me wrong. I do like C. I use it all the time, but only on software with small teams (< 5 people). But I get scared when I consider the consequences of large design teams (> 50 developers) using it as *the* development language, especially on hardware with minimal or non-existant memory management support. Fortran is no better. (I like Concurrent Euclid myself -- real time programming made easy! Who knows, I might even like Ada.) -- Greg Franks, (613) 788-2800 x5726 | "The reason that God was able to Systems Engineering, Carleton University, | create the world in seven days is Ottawa, Ontario, Canada K1S 5B6. | that he didn't have to worry about greg@sce.carleton.ca ...!cunews!sce!greg | the installed base" -- Enzo Torresi