I'm not a software engineer, so sorry if the question is elementary. Usually, functions provided by libraries written in C receive a handle from the calling program. This handle directly (if it's a pointer) or indirectly points to an instance of a struct in memory. The calling program can have multiple handles. For example, in an image processing program, it can have different handles representing different images.

I guess that this design (or programming style) has been the precursor to object-oriented programming (OOP) done today with popular languages like Python and C++. But can it be considered OOP itself? If not, what is the technical term for it in the field of software engineering?

1 Answer 1


I have heard OpenGL described as client-server architecture. You don't have direct access to the actual resources on the GPU similar to how you dont have access to actual resources on a server, just handles.

You can ask the server/GPU to do things but the server might ignore or defer the action related to the actual resource. Resources may become invalidated on the server/GPU and you won't know because all you have is the handle just like files on a server might be removed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.