'''object''' 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.
** Description **
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 Kernighan and
Ritchie%|%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 '''[dll%|%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 taskwithin a program, an '''object''' is a collection of '''data elements'''
representing some '''structure''' or '''entity''', along with the
'''functions''' that can be applied to the data. Such objects are often eitherinstantiated from [class]%|%classes] or cloned from [Prototype Pattern in
Tcl%|%prototypes]. Because of the close relationship between a functional task
in a program and the real-world objects that a program models, [object
orientation%|%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 **
[Object Orientation]:
[http://en.wikipedia.org/wiki/Object_%28computer_science%29%|%Wikipedia]:
<<categories>> Concept | Glossary | Object Orientation