is perhaps the most overloaded word in computing, with the common denominator being the idea that an object is a concrete instance
of some type of thing in the context of some larger system.
At the lowest level, the objects of interest to a programmer are locations in memory, and assembly programmers work primarily with these. At the next level up, languages like C
allow direct manipulation of values and their locations in memory, but also provide primitive objects such as "character", "integer", "float", and "array". In The C Programming Language
, the first use of the term "object" is in reference to these primitives. Already, this level, the concept of class
creeps in, with the various numeric types having a certain degree of compatibility with each other.
In the context of compiling source code to machine code, C
, an object is an instance of a compiled unit of source code. From this meaning comes the term, shared object
, also called a dynamic link library
, which is a compiled code object that can be linked into a program at runtime.
In object orientation
, which refers to a set of programming language
features which allow for the organization of code according to functional task within a program, an 'object
is a collection of data elements
representing some structure
, along with the functions
that can be applied to the data. Such objects are often either instantiated from class
es or cloned from prototypes
. Because of the close relationship between a functional task in a program and the real-world objects that a program models, object-oriented
programming features are often also used to organize code according to model function. The conflation of these two realms is one of the primary stumbling blocks in object-oriented programming.
In Tcl, at the implementation level Tcl_Obj
is a data structure that is used to implement Tcl values.
See Also edit
- Object Orientation