TOM (object-oriented programming language)

TOM (object-oriented programming language)

TOM was an object oriented programming language developed in the 1990s that built upon the lessons learned from Objective-C. The main purpose of TOM was to allow for "unplanned reuse" of code via a well-developed extension mechanism. This concept was introduced seemingly by accident in Objective C and later proved to be of wide use, and was applied with a vengeance in TOM.

The primary changes in TOM are the addition of multi-inheritance, "tuples" as a first-class part of the language, cleaner syntax, free of the C requirements for header files and pre-compiler commands, and the ability to use "categories" (the re-use mechanism) to include anything.

It is this latter ability that represents "the whole idea". Unlike Objective C's categories that allowed only new methods to be built onto existing classes, TOM allowed the addition of class and instance variables, new methods, even new superclasses. This results in the redefinition of "class" as "a class is defined by its main definition and any extensions", these extensions have become a first-class citizen of the language (similarly to Ruby).

The development of the TOM language has ceased.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Object-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • TOM (programming language) — TOM or Tom may be the computer programming language: * TOM (object oriented programming language), a defunct language based on Objective C * Tom (pattern matching language), a pattern matching and transform language …   Wikipedia

  • Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… …   Wikipedia

  • C Sharp (programming language) — The correct title of this article is C# (programming language). The substitution or omission of the # sign is because of technical restrictions. C# Paradigm(s) multi paradigm: structured, imperative …   Wikipedia

  • History of the Dylan programming language — Dylan programming language history first introduces the history with a continuous text. The second section gives a timeline overview of the history and present several milestones and watersheds. The third section presents quotations related to… …   Wikipedia

  • Programming paradigm — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concu …   Wikipedia

  • Object Windows Library — Developer(s) Originally Borland (now Codegear) Initial release 1991 Stable release OWLNext 6.30.9 / September 2, 2010; 14 months ago (2010 09 02) …   Wikipedia

  • GRASS (programming language) — GRASS ( GRAphics Symbiosis System ) was a programming language created to script 2D vector graphics animations. GRASS was similar to BASIC in syntax, but added numerous instructions for specifying 2D object animation, including scaling,… …   Wikipedia

  • Object (computer science) — In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure. (With the later introduction of object oriented programming the same word,… …   Wikipedia

  • Object model — In computing, object model has two related but distinct meanings: The properties of objects in general in a specific computer programming language, technology, notation or methodology that uses them. For example, the Java objects model, the COM… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”