To Rev or not to Rev
Richard Gaskin
ambassador at fourthworld.com
Mon May 2 12:25:40 EDT 2005
While xTalk does use objects, it doesn't support the full range of
features formally associated with the term "object-oriented programming"
- from wikipedia:
In computer science, Object-oriented programming,
OOP for short, is a computer programming style
that emphasizes the following concepts:
* Objects - Packaging data and functionality
together into units within a running computer
program; objects are the basis of modularity
and structure in an object-oriented computer program.
* Abstraction - The ability for a program to ignore
some aspects of the information that it is
manipulating, i.e. the ability to focus on the essential.
* Encapsulation - Ensures that users of an object
cannot change the internal state of the object in
unexpected ways; only the object's own internal
methods are allowed to access its state. Each object
exposes an interface that specifies how other objects
may interact with it.
* Polymorphism via message sending. Instead of
subroutine calls, object-oriented languages can make
message sends; the specific method which responds to
a message send depends on what specific object the
message is sent to. This gains polymorphism, because
a single variable in the program text can hold different
kinds of objects as the program runs, and thus the same
program text can invoke different methods at different
times in the same execution. To contrast, functional
languages gain polymorphism through the use of first-class
functions.
* Inheritance- Organizes and facilitates polymorphism and
encapsulation by permitting objects to be defined and
created that are specialized types of already-existing
objects - these can share (and extend) their behavior
without having to reimplement that behavior.
<http://en.wikipedia.org/wiki/Object_Oriented_Programming>
For this reason I've always preferred the term John Dowdell of
Macromedia uses to distinguish xTalks from true OOPSes: "object based".
It still lets you swing the term "object" with a certain cache, while
satisfying the formalists who require all of the above features to
consider a language truly OOP.
That said, I believe that well-written xTalk delivers most of the
productivity benefits of OOP, sufficiently that there is a good argument
for using xTalk regardless of which computer terms best describe its
classification.
--
Richard Gaskin
Fourth World Media Corporation
__________________________________________________
Rev tools and more: http://www.fourthworld.com/rev
More information about the use-livecode
mailing list