Talk:Inheritance/Single/C

From Rosetta Code

OO?

First, I am not trying to be flippant here, obviously this C entry is a lot of work.

The task seems to me to only truly apply to object oriented languages. Would it not be better to simply state that C is not OO?

I was going to consider the following which would allow the inclusion of the C code

"Although C is not considered an OO language, you can do the following ...".

But knowing that C++ was designed to be both OO and C backward compatable (to some degree); and noting the brevity of the C++ entry compared to this C one, I can't see anyone actually doing something like this in C except to show that it can be done. Please, please don't get mad - it is hard to convey tone when writing. All I am trying to do is solicit comments on whether the current C entry is wise. (If I had gone to so much effort, I would have to think twice about someone suggesting it be removed). --Paddy3118 03:34, 17 January 2010 (UTC)

(P.S. Someone had noted how often people started out by saying "With all respect ..." then continued in a disrespectful tone. I have tried hard not to do that).

I understand. I thought I'd do this more or less for pedagogical(sp?) purposes. Some comment about C not being a OO language is certainly appropriate. If you're familiar with the X window system, you'll see some similarities between what's in the XtIntrinsic library and some of this code. That was all a C based Object system, much more complete than this. --Rldrenth 05:46, 17 January 2010 (UTC)
(My opinion) The "Unimplemented task" pages specifically list tasks marked as omitted, yet encourages people to try to implement them. Proofs of concepts such can illustrate where a problem may be solveable using a language, yet be particularly unidiomatic. In short, it can show how you might need to do something if you really have to, but also serve as a warning suggesting there may be a better way. In short, I think the example is wise, but as an example, not a recommendation. --Michael Mol 06:34, 17 January 2010 (UTC)
Actually, there is a full object system for plain C: GObject. In fact, this implementation might be fruitfully replaced with one that uses GObject. —Underscore (Talk) 12:26, 17 January 2010 (UTC)
That would probably be a good Idea. With what's here, the main purpose gets rather lost in the haystack.--Rldrenth 13:40, 17 January 2010 (UTC)