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