Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!mit-eddie!uw-beaver!ssc-vax!dmg From: dmg@ssc-vax.UUCP (David Geary) Newsgroups: comp.lang.c++ Subject: Re: How common are C++ Compilers? Keywords: Not as common as I'd like ;-( Message-ID: <3058@ssc-vax.UUCP> Date: 16 Dec 89 00:33:18 GMT Organization: Boeing Aerospace & Electronics, Seattle WA Lines: 88 Mark Goodurum writes: In article <2351@draken.nada.kth.se>, matsl@nada.kth.se (Mats Luthman) writes: >> Is C++ a suitable implementation language if you are going to develop a >> fairly large program that you want to run on many different systems? >> Well, that depends upon what you'd define 'many different systems' to be. I am working on a graphical user interface for a data management program that has to be ported to: SUN Apollo IBM PC Intergraph MicroVax IBM RT HP3000 Macintosh Cimlinc ( what ?? ) To me, that qualifies as 'many different systems'. I would love to use C++, but I cannot, because I cannot get C++ compilers for all of the above systems. So, I am stuck writing in plain old C. >> Are there C++ compilers for all major operating systems (IBM systems, VMS, >> all UNIX systems, MS-DOS and extended memory (4 Mbyte and more, maybe >> generating 386 code), OS/2)? Is there a greater chance of finding an Ada >> compiler than a C++ compiler on a randomly chosen system? >C++ compilers are available on a variety of systems. PC-DOS, Macintosh, >Amigas (I enjoy this one...), Unix, and OS/2 and more. I'd say chances >are about equal with C++ maybe having a slight edge on PCs and Ada having >a slight edge in minis and mainframes. I would agree with the fact that Ada is liable to be more prevalent on minis and mainframes. >> How portable is C++ code between different systems? >Like C or most other high level languages, C++ is VERY portable IF you only >do things defined in the language. Of course accessing the BIOS on aDOS >application, or using the graphics coprocessor on the Amiga aren't very >portable. Well, at this stage of the game, I think you may run into some trouble with using C++ 2.0 features. Not all vendors have come out with 2.0 compatible compilers... >> Are the C++ compilers on UNIX good (fast, error free et.c.)? Which SUN >> computers does the GNU C++ compiler run on? Well, C++ compilers are most likely going to be slower than your average C compiler due to the fact that most produce C code, which then must be compiled as usual. >> If you want to port to a system that only has a C compiler, are there >> any chances whatsoever of getting the C code you get from the AT&T C++ >> compiler to run on it? >The AT&T C++ preprocessor 'cfront' used in many systems outputs real honest >to goodness C code. You could in theory compile your code on a C++ system >and take the C code back to your little machine. The problem with this >approach is the Cplusplus library that contains many functions reference >by the C code cfront produces. You COULD liscense the stuff from AT&T >and port it, but that would be major would and lots of $$. Yeah, this idea occurred to me a while back, but it is unworkable due to the fact that you must link in libraries that have many built in functions defined. You need not only the C code, but the C code for the libraries. >Honestly, I cant think of any system (of sufficient size to support a >'decent' development environmen) that doesnt have C++ available except >if your doing embedded systems development, in which case there are >C++ cross development systems coming out for most processor families. Well, how about a Cimlinc? That sucker was the real clincher in holding me back from using C++. Of course, no one reading this will even know what a Cimlinc is. (Cimlincs are discontinued Unix machines which support a 'decent' (word used very usely) development environment, but it will *never* have a C++ compiler. ;-( -- ~~~~~~~~ David Geary, Boeing Aerospace, Seattle ~~~~~~~~ ~ Seattle: America's most attractive city ... ~ ~ to the *jetstream*. ~