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 65214
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Bind me!
by ma_d on Sun 27th Nov 2005 03:23 UTC in reply to "RE: Bind me!"
ma_d
Member since:
2005-06-29

Gtk is highly OO. I suggest you look at it.

Those c machines don't run c++ by magic. Some object things in c are *much* more confusing than say Java (nothing is more confusing than c++).

Reply Parent Score: 0

RE[3]: Bind me!
by on Sun 27th Nov 2005 03:28 in reply to "RE[2]: Bind me!"
Member since:

Only in the sense that "objects" (aka structures) are used to represent widgets. If you want to stretch it that far, you might as well call hello world in C object oriented, because you're 'sending' the puts message to the string object.

-bytecoder

Reply Parent Score: 0

RE[4]: Bind me!
by ma_d on Sun 27th Nov 2005 03:53 in reply to "RE[3]: Bind me!"
ma_d Member since:
2005-06-29

And that objects inherit functions from their parents. For example, if I have a GtkRadioButton I can call GtkButton and GtkWidget methods on it, because they're both parents.

I've not tried getting too crazy with this, but it's generally worked for me so far. I'm guessing it breaks down somewhere, and I'm sure the enforcement of the OO nature is by hand; but yes, you can write OO stuff in c. And Gtk is a very good example.

A hello world program in c would be simply sending a pointer to the first character of the string and the print function prints until it hits . It's not showing any kind of inheritance, data hiding, or anything like that; so it's not object oriented.
I don't know what you're talking about with this "string object" idea. It's just a series of bytes on the program stack...

Reply Parent Score: 1

RE[3]: Bind me!
by unoengborg on Sun 27th Nov 2005 14:39 in reply to "RE[2]: Bind me!"
unoengborg Member since:
2005-07-06

I have looked at it, and I agree with you, the ideas behind it are object oriented, but it is object oriented by ideom not by language. This gives people not realizing this, too many possibilities to screw it up.

Why not use a language that support these ideas, instead of having people do it manually. The fact that we can write structured programs in assembler doesn't make assembler a good choise for everyday programming tasks, just like using C for object oriented stuff is generally a bad idea. For one thing, it increases the learning curve of the API.

I'm not saying that Eiffel would be a better choise than C, as there are probably to few people who know it.

Reply Parent Score: 1

RE[4]: Bind me!
by ma_d on Sun 27th Nov 2005 20:20 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