Difference between version 11 and 12 - Previous - Next
'''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 task
within a program, an '''object'' is a collection of '''data elements'''
within 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 either
instantiated from [class]es or cloned from [Prototype Pattern in
instantiated 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