Q:

Why is a numeric handle sometimes referred to as a "name"?

I've noticed in various C libraries, and most notably in the OpenGL API, that the word "name" is used to describe a simple integer value (often unsigned); example here. It sounds like what in other areas of development might be called an id (database keys) or a handle (file descriptors), which is why I'm surprised at the absence of these terms which I would ordinarily prefer over "name" since "name" conflicts with string identifiers or descriptions. I'm guessing the reasons to be historical.
Can anyone enlighten me with regard to the background of this term and whether or not it is still considered to be in vogue in the C community?
NB This is NOT a question about OpenGL so please could we keep the answers general - thanks.

A:

Effectively the API you linked to is creating a structure in the memory space of the OpenGL implementation, and you are querying the fields of that struct using an enumeration to indicate which field. The documentation refers to this as 'symbolic name' which is what the equivalent token in the code to query of the struct in the program memory space would be: 
x = texture.border_color becomes glGetTexParam(target, texture, GL_TEXTURE_BORDER_COLOR, &x)
so the enum parameter GL_TEXTURE_BORDER_COLOR is an equivalent to the name of the field's symbolic name border_color

