type identifier and OO design



I know that everything related to OO is off topic here, but...

I am designing a framework which allows to do OO in pure C, called COS (stands for 'C Object System' inspired by CLOS and Objective-C) and it will be mainly addressed to C users (publicly available) with idioms as close as possible to those of C. One thing which is highly subjective is identifiers' names, and one of the most used identifier is the type identifier of objects.

Objective-C uses 'id' as a generic object type. I find this identifier too short and pretty common, and since COS is fully written in C (it is not another language), it could collide with a lot of existing libraries headers. Since the OO code is growing significantly, it's time for me to fix this type identifier.

Up to know I am using 'obj' and I am happy with it, but I am not sure that it will be accepted widely. Here is a list of some alternatives I was thinking about (open):

obj // actually, used
OBJ // not so bad alternative
object // too common, may collide a lot.
Object // not possible, already used by class Object.

I would like something short since the type is very common in COS, think about something like 'my', 'var', 'let' in some scripting languages. And I don't want the trailing _t to mention that it's a type (like FILE).

What would be your preference (justification would be a must)?

To avoid newsgroup pollution, I would recommend private answers.

Thanks,

a+, ld.
.



Relevant Pages

  • type identifier and OO design
    ... One thing which is highly subjective is identifiers' names, and one of the most used identifier in COS is the type identifier of objects. ... I find this identifier too short and pretty common, and since COS is fully written in C, it could collide with a lot of existing libraries headers. ... Up to now I am using 'obj' and I am happy with it, but I am not sure that it will be accepted widely. ...
    (comp.object)
  • Re: trying to hide an external-linkage identifier with an internal-linkage one
    ... static double obj = 3.14159; ... since it defines 'obj' more than once, as an identifier with the ... external linkage and as that with the internal linkage in one program. ...
    (comp.std.c)
  • trying to hide an external-linkage identifier with an internal-linkage one
    ... The standard specifies the following code is not s.c. ... static double obj = 3.14159; ... since it defines 'obj' more than once, as an identifier with the ... external linkage and as that with the internal linkage in one program. ...
    (comp.std.c)
  • Re: trying to hide an external-linkage identifier with an internal-linkage one
    ... static double obj = 3.14159; ... identifier; otherwise, there shall be no more than one. ... as an identifier with external linkage, ... But since it talks about an identifier, and the two definitions do declare the same identifier, and it *is* declared with external linkage, and both are external definitions, I can't find any text in the standard that supports your interpretation. ...
    (comp.std.c)
  • Re: Im back! You have been warned :-)
    ... finer things in life :-) ... but I must be common :-) ... Now that stopped me in my tracks and sent me to Google 'cos I didn't know ...
    (uk.people.silversurfers)