This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Question re. FSF GNU SmallEiffel vs. C and C++


Alexandre Oliva wrote:
> 
> On Oct 17, 2000, mike corbeil ordinary user account <mcorbeil@NetRevolution.com> wrote:

Since I didn't get nailed in any way for posting the question to this
mailing list, I'll venture a little further, because I don't know that
you'd want this only sent direct to you.  The bit more follows your
respone.

> 
> > the SmallEiffel compiler translates the code to or into C, followed
> > (obv.) by compiling the C code.  This seems tentatively or possibly
> > okay, or even good, if it avoids problems people have with C++, and
> > C; however, this also means that SmallEiffel is more of a macro
> > language than a real one, albeit modelled after or based on the
> > Eiffel language.
> 
> This is not unlike the first implementation of C++, that was also a
> translator from C++ to C.  Given enough time and interest, people may
> eventually write a front-end for GCC, that may allow more higher-level
> information about the source program to be exposed to the compiler,
> providing for language-specific optimizations.

In other words, you're not saying that Eiffel or SmallEiffel is
something you're against, based on your experience and knowledge, if I
understand you correctly.

I found some material to read last night (I have a book from several
years ago, but it's not within reach) and from the albeit small amount
of actual Eiffel language used to highlight certain aspects or strengths
of the language, it looks interesting.  

I've taken an OOP course using C++, read a few or more reputable books,
and worked for a few months with it; however, having read several months
ago that Eiffel was considered better, I'm wondering which to focus on
for some self-study and subsequently trying to find employment.  

I have around ten years experience, mostly on Unix, with "enough" C and
shell scripting, database and gui development, PASCAL (years ago), some
FORTRAN, ..., and a b.sc. CS (swe).  With all of the importation of
foreign labor, I'm in need of  taking some time to learn Linux, Perl
(these two, I've been working on for about six months), and would like
to get some good compiled language in the mix.

Even if I've already more than broken the ice with C++, I've heard or
read that many people or projects have problems with it, and the little
I've read about Eiffel makes it sound like a good way to go.  There
aren't presently many jobs for this, but there are a few or more
companies which are apparently using it.  If it is as good as what I've
read, then I may have some chance of getting future clients (or
employers) to accept using Eiffel, especially since it's a "front-end"
to C and makes C programs better (supposedly anyway).

The fact that it does compile to C, they're working on improving the
compile to Java bytecode (which SmallEiffel already has some of), and
"hooks" to C and (I believe) C++ are supported, well, this makes Eiffel
seem of value (but I'm not sure).  Someone from Lockheed, a guru or a
manager (or both), supposedly recommends Eiffel over Ada95, and from
what I read, it's only a little slower than normal C and C++ binaries,
due to assertions.  The expressiveness looks, at least initially,
interesting, and I like focusing on providing good and "clean"
solutions.

However, I don't have personal acquaintances who know anything about
Eiffel; therefore, I've only the little reading for a basis.  The
documents I've read on Eiffel speak more highly of Java compared to C++,
and don't seem to make a whole lot of the difference between Eiffel vs.
Java, but do say that Eiffel is better in some supposedly important ways
(I don't remember exactly which these are).  I only know of Java being
used for internet/intranet/web, my background is systems programming,
and I haven't been planning on becoming a web developer, not per se
anyway (if I got hired for that, then ...).

Having C for experience and Eiffel compiling to C, with many companies
using GCC, seems a potential plus.

I think that I'm satisfied with it compiling to C, after last night's
reading.  Using Eiffel may be or is a way of providing more reliable C
code, and with C being considered an object-based language, good for
component oriented development, the extra or robust data typing of
Eiffel makes it, again, seem probably worthwhile.

Linux and Perl, alone, with my prior experience, should open doors of
opportunity, but I'd like to learn more OOA/OOD/OOP with a compiled
language.  Java would be an option, and I wouldn't mind Smalltalk, but
I'm in the world of fuzzy logic at the moment, evidently.

This, hopefully, isn't too long and not too out of place for this
mailing list, however do you have any further tips or feedback to share
based on this additional gibberish?  It'd be appreciated, if you have
any.

P.S.  I don't really care whether work is in FORTRAN, C, C++, ... for
the primary focus is to do the best that can be done with which ever
language is pertinent to a job.  For new development, providing the
best, or at least a very good, solution, one that's easy to understand,
maintain, and reliable, is the way (in case this is of any help in
understanding where I'm "coming from").  (Sorry for the length.)


> 
> --
> Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
> Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
> CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
> Free Software Evangelist    *Please* write to mailing lists, not to me

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]