Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!uwvax!tank!uxc!uxc.cso.uiuc.edu!m.cs.uiuc.edu!p.cs.uiuc.edu!johnson From: johnson@p.cs.uiuc.edu Newsgroups: comp.lang.c++ Subject: Re: Eiffel vs. C++ Message-ID: <77300027@p.cs.uiuc.edu> Date: 4 Jun 89 19:57:00 GMT References: <2689@ssc-vax.UUCP> Lines: 40 Nf-ID: #R:ssc-vax.UUCP:2689:p.cs.uiuc.edu:77300027:000:2106 Nf-From: p.cs.uiuc.edu!johnson Jun 4 14:57:00 1989 My favorite language is Smalltalk. I also do a lot of C++ programming. I have never programmed in Eiffel, but I read the book. Eiffel is a much more elegant language than C++. C++ is more-or-less upward compatible with C, which is both its greatest strength and its greatest weakness. C programmers will find it easy to program in C++, though they might take a while to learn how to use it to best advantage. Since there are so many C programmers, this means that C++ has a tremendous marketing advantage. However, if you don't use C then you don't care about this feature. Instead, you will spend a lot of time wondering why C++ has this or that feature, with the answer invariably being for compatibility. Given the constraint of being an extension to C, I think that C++ is quite well designed. However, Eiffel does not have those constraints, and so had a blank slate to solve problems like generic classes, multiple inheritance, and exceptions. Thus, it is not surprising that it is quite a bit simpler and yet more powerful. The first versions of C++ (i.e. the ones we had 3 or 4 years ago) were fairly unreliable. However, the current C++ compilers are pretty good. I'm sure that the first versions of Eiffel were also buggy, but there has been plenty of time to improve it. Eiffel has satisfied users. I have not seen any decent benchmarks comparing the languages. As a compiler expert, I don't see any real reason why Eiffel should be more than 10% slower than C++, though of course I am assuming a reasonably good compiler. If you are not a C shop, or if you are unhappy with C, then I would recommend giving Eiffel a close look. By that I don't mean reading the book. Instead, buy a copy of the compiler and use it. That is the best way to learn about a language and to be certain of the reliability and speed of an implemantation. On the other hand, if your programmers know and love C then C++ is the best way to go. You can quickly get them to use the new compiler, though getting them to exploit all the power of object-oriented programming will endoubtedly take longer.