Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here


using eiffel as a learning langauge at RIT

using eiffel as a learning langauge at RIT

using eiffel as a learning langauge at RIT

isn't c++ more widely used in the professional world
rather than eiffel?

RE: using eiffel as a learning langauge at RIT

C++ is definitely more widely used. That doesn't make it a good language to learn on. C is bad enough.

Eiffel is a clean language that is complete and powerful. It is **MUCH** safer than C++. Actually, I have serious questions as to whether C++ should really be used for anything. It's too much like a buzzsaw with the guards taken off. I feel that C should be used where efficient *SMALL* pieces are needed, and that Java, Eiffel, Ada95, or possibly Python should be used elsewhere. Ada95 has the defect of a missing garbage collector, otherwise it would be a good professional choice for most situations (but it *IS* difficult to master). Java and Eiffel are good, but a triffle slow. Python is slow, has an incomplete garbage collector and unorthodox syntax. Note, however, that Eiffel and Python can link directly to C modules for accelerations of time-critical modules. Java merges easily into the net (and links more awkwardly with C).

Then there are the arguments for Smalltalk, Lisp, ML, OCaML, ...

RE: using eiffel as a learning langauge at RIT

In my opinion, C++ is one of the most expensive programming languages out there in terms of development costs, debugging, maintaining, etc. One of the many problems in the industry is the belief that this cost can be reduced to practically nothing through the use of one or more "process(es)" and then they are surprised when it doesn't work. I have not seen anyone actually look at the tools that are being used as a way to reduce the expense of development, even though you gain the biggest improvement by moving away from C++ and to Eiffel. And, of course, you can't move the decision makers to this conclusion, because they are typically not technically savvy, so they only base their decisions on what is "popular". And C++ is popular, since it has 8 million books on the matter. Of course, these books mostly try to help work around the problems with C++...:-).

In the case of Java, I'll say this: "Java was written by people that knew that C++ had problems...they just did not understand what the problems were."

Eiffel, on the other hand, is the best programming language out there...and I've studied a lot of them. Out of the list that you gave, the only one that I haven't written stuff in (some was a long time ago, though) is OCaML, which looks like a version of ML. I disagree with the comments about it being slow...although this might be because I'm using the latest stuff, but it hasn't had any noticable problems with that.

Anyway, I'll say this about the original topic. Teach Eiffel! It will help the students learn the concepts of OO Programming, without the garbage that C++ throws in. If the students then have to use C++, it will be painful, but doable. I haven't seen too many people that have really understood the OO approach through learning C++. Remember that a programming language is really a tool. Once the students have learn the concepts, moving from tool to tool should not be that hard (I know that that is not always the case).

Hopefully this isn't too late...but I just found out about this list.

Gary M. Smithrud

RE: using eiffel as a learning langauge at RIT

For more on Eiffel, read the book: Object-oriented software construction by Bertrand Meyer (ISBN 0-13-629155-4). The book describes how object-oriented programming works and why C++ (among others) is not an object oriented language.

Meyer states also that object-oriented programming consists of more than merely coding. The vital but to a great extent ignored concepts of method, analysis and design are but a few of components a good programmer should have knowledge of.

The book is quite expensive but very detailed. For an introduction, go to www.eiffel.com. They also have a free version of eiffel for download.

Good luck.

RE: using eiffel as a learning langauge at RIT

To learn Eiffel, read Robert Swizer's "Eiffel - An Introduction" or, for more detail, "Object-Oriented Programming in Eiffel" by Thomas and Weedon. There are several other good books available and a lot of useful sites. While there are fewer tools available than for Java or C++, I have never failed to find the things I really need. If you think of going to one of these, just remeber the old saying "Eat s**t, a million flies can't be wrong".

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close