Difference between version 10 and 11 - 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
class of thing in the context of some larger system.
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''' 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 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