Xref: utzoo comp.lang.eiffel:241 comp.lang.c++:3580 Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!agate!gypsum.berkeley.edu!donahn From: donahn@gypsum.berkeley.edu (Don Ahn) Newsgroups: comp.lang.eiffel,comp.lang.c++ Subject: Re: Eiffel vs. C++ Message-ID: <25321@agate.BERKELEY.EDU> Date: 8 Jun 89 02:38:08 GMT References: <2689@ssc-vax.UUCP> <150@eiffel.UUCP> <124@tridom.uucp> <5975@watdcsu.waterloo.edu> Sender: usenet@agate.BERKELEY.EDU Reply-To: donahn@gypsum.berkeley.edu (Don Ahn) Organization: University of California, Berkeley Lines: 34 In article <5975@watdcsu.waterloo.edu> mgardi@watdcsu.waterloo.edu (M.Gardi - ICR) writes: > >I have heard that eiffel creates hideously large executables from very >trivial programs. Does anyone have any information as to whether this is >true or not?? I found that using advantage C++ also produced large >executables...one of the reason why I am using Zortech C_++ currently. It does >not seem to have this problem (executable size seems on average to be about >1/5 the size of advantage c++ code). >We're talking 35K here for a hello world program in advantage...something >that can't be tolerated on the PC. One source gave the comparable eiffel >program a number even much higher. What I'd be more interested in here is the INCREMENTAL increase in executable size due to program lines/functionality. Given the fact that eiffel has more functionality in it's run-time environment (built in garbage collection etc..) it is understandable that for "trivial" programs code size will seem to be unexplainably huge. This is not to say that the code size for a "hello, world\n" program is not completely unimportant. A extremely large amount of code for a "trivial" program may indicate an inefficient linker. But it does not necessary mean that the compiler is a dog. A more meaningful comparison to me would be the executable size of two large "algorithmically equivalent" programs. Given the power that an OOPS gives you, re-useable and organized code, it may be possible to DECREASE your executable size over a non-OOPS language for large programs. Of course, a well implemented program in a lower-level language (C , assembler) will always be more efficient than an OOPS. The problem is, it gets exponentially harder to create a "well implemented" program as its size goes up in a low level language. As I see it, OOPS was created to help make LARGE programs maintainable. The merits of an OOPS should be measured in this realm.