Linked by Thom Holwerda on Sat 26th Nov 2005 17:02 UTC, submitted by Megatux
Gnome "I followed the debate about a successor for the C/C++ combination as the primary language for developing the GNOME core desktop platform very closely last month. There has been discussion about a number of options. What I would like to do on this page is give an overview how a probably less well-known language might be a viable compromise as a C/C++ successor. This language is called Eiffel and exists for over a decade. Eiffel takes the principle of Object-Oriented programming to its extremes and, as a consequence, is a very easy to learn language."
Thread beginning with comment 65460
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: Bind me!
by ma_d on Sun 27th Nov 2005 20:20 UTC in reply to "RE[3]: Bind me!"
ma_d
Member since:
2005-06-29

C is preferable for bindability.

Very few people need to work on a library, as compared to how many will use it.

There are problems like people trying to look at parts of structs they shouldn't (which in gtk is almost everything, but not quite, unfortunately) and they'll have to read header files to find the contents as it's not always documented. But hey, if you can't follow directions you'll use it wrong no matter what language it's written in!

Reply Parent Score: 0

RE[5]: Bind me!
by Berend de Boer on Sun 27th Nov 2005 23:08 in reply to "RE[4]: Bind me!"
Berend de Boer Member since:
2005-10-19

ma_d, you said: "Very few people need to work on a library, as compared to how many will use it."

True, and that's another area where Eiffel excels. Eiffel code adheres to the open-closed principle. Eiffel programmers do not believe that once you write a library, people are only willing to use it, not change it. There's no such distinction between use and change except when it is forced upon one like C libraries do.

In Eiffel it's easy to inherit parts of a library and extend it. And it won't break any code because of Eiffel's DbC support: the invariant of a class must be maintained, even if you extend that class and change some features. Allows for very safe reuse.

Reply Parent Score: 1