Re: Choice of languages



Actually, C++ is pretty well supported by EGCS.  In particular,
template handling is quite good.  The current ANSI version of C++
includes a spec for the STL.  C has no reasonable support for
container structures (or generic programming for that matter).  But
there is always casting void pointers and using lot of macros...

I imagine the real problem is that one wants gnome to compile on a
variety of different systems without having the following
prerequisite: `download and install EGCS if you don't have a
reasonably good C++ compiler'.  On the other hand, that may not be a
bad idea...

            -Fred


| >>>> In message <199905191606.MAA04192@mail.redhat.com>
| >>>> On the subject of "Re: Choice of languages"
| >>>> Sent on Wed, 19 May 1999 17:05:55 +0100
| >>>> Honorable Michael ROGERS <M.Rogers@cs.ucl.ac.uk> writes:
|  >> > >> Why choose C, and not C++?
|  >> >
|  >> >because C is a good assembly language, while C++ is a monster.
|  >> 
|  >>  This doesn't explain why C was used for Gnome - hardly an assembly
|  >> language project.
| 
| it answers a more general question - why people choose C over C++.
| 
|  >>  To quote from your own web page, "eventually C was used to write
|  >> large programs (word processors, computer algebra systems,
|  >> computer-aided design systems, etc). C is a totally inappropriate
|  >> language for large projects: it lacks all the aspects of a
|  >> high-level language, which means that the programmer has to design a
|  >> work-around for all of them".
| 
| the next sentence: "C++ is a slight improvement in some areas, but only
| a slight, and at a great cost of enormous complexity."
| 
|  >>  Surely by these criteria C++ is more suitable for application
|  >> programming than C?
| 
| C++ is suitable for only for Obfuscated Code Contests.
| C is suitable for small utilities.
| 
| Seriously though, the enormous mess that C++ is makes it very hard to
| write a good compiler.  I would be very wary of using C++ for a large
| project which would be compiled by different compilers on different
| platforms.  You never know what bug in which compiler you will uncover
| with the next "cool feature".



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]