|
|
|
|
Quick Links
Understanding XL
In depth
Other projects
|
XLR: Extensible Language and Runtime
|
Object-oriented programming and design (OO) is a collection of well-respected and understood techniques to represent concepts as "objects". Simplifying slightly, OO maps "names" from the problem space onto "objects" in the code space, and similarly maps "verbs" in the problem space onto "methods" in the code space. So for instance, to implement a graphical user interface, the programmer will create "Window" objects and "Draw" methods. From that point of view, OO is a specific application of Concept Programming to the set of application concepts that can be represented as "names" or "verbs". Since this is a rather large set, OO itself applies to a large number of application domains. However, while objects are entities that can be found in the code (using some language-dependent syntax or semantics), concepts are not. Concepts exist only in the problem space, and only some specific representation exists in the code space. The same is actually true of objects, though usage has it that the code representation is itself called an object. For instance, a "window" in the code is not a real window, though it closely maps the corresponding problem space concept. The maximum example illustrates something that doesn't fit well within the object-oriented model. It doesn't mean that you should avoid objects at all, but rather that there are situations where they are not the best tool for the job.
|
Copyright 2006 Christophe de Dinechin (Blog)
E-mail: XL Mailing List (polluted by spam, unfortunately)