Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!emory!dtscp1!tridom!wht From: wht@tridom.uucp (Warren Tucker) Newsgroups: comp.sys.intel Subject: Re: PLM vs. C for 80286/80386 Summary: PL/M is NOT very portable Keywords: PLM C Message-ID: <126@tridom.uucp> Date: 7 Jun 89 23:42:22 GMT References: <598@philtis.UUCP> Organization: Tridom Corporation, Atlanta Lines: 53 Having programmed PL/M-86 and -186 for three years and C for five (not concurrently), I give the vote to C with two minor caveats. Pro C: 1. PL/M-x86 is implemented for Intel 80x86 CPUs. If you can imagine you'll EVER want to move the design to another architecture, C is an infinitely better language to put your long hours of design, hacking, debugging and strenuous testing into (medical systems get tested 'strenuously', yes :-) ? ). 2. The tools for C language development abound. The same for PL-M are fewer and harder to find. The same holds for the availability of subroutine libraries and programs to extract code and ideas from. 3. C is a lot less wordy. Having refused to use a macro for the PL/M DECLARE keyword, my fingers are a great deal more tired after finishing a module in PL/M. EVERY function or procedure used in a module not resident in it must be DECLAREd EXTERNALly. This is probably a weaker argument, but it counts. 4. Support. I may be wrong, but I think there is a great deal more C programmers out there than PL/M. Pro PL/M: 5. PL/M is inherently a strongly typed language. It is very hard to screw up the number and type of parameters supplied to a function, etc. This might be a good thing for what you are trying to accomplish. Passing a variable number of arguments to some function like printf is nice, but having the facility all over the language is why function prototyping and lint were invented. 6. I haven't seen any C compiler produce such good code for the Intel CPU. PL/M built-in functions use REP, LOOPxx, MOVSB, etc. in inline code, while C is always calling external routines for such things (like _blmv for structure assignment). Such things are more important for ROM-based MPU-controlled instruments than for, say, a disk-based multi-MIP MRI system. I hope this diatribe has been of some use. -- ------------------------------------------------------------------- Warren Tucker, Tridom Corporation ...!gatech!emory!tridom!wht Sforzando (It., sfohr-tsahn'-doh). A direction to perform the tone or chord with special stress, or marked and sudden emphasis.