[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What's so cool about Scheme?

At 01:20 PM 2003.06.04 +1000, Andrae Muys wrote:
>Matt Hellige wrote:
>Then I would be interested in understanding how this is different from the
>emphasis given to cohesion and coupling in structured programming.  If 
>OO dosn't mean anything more than encapsulation then I suggest the term 
>is meaningless, as an object becomes indistinguishable from an ADT.

	As has been said by many, it's possible to do OO programming in almost any language, if you roll your own object implementation (and are willing to rely on good programmer behavior instead of compiler enforced rules where the limitations of the language require it).  Because the paradigm existed before doesn't invalidate the term.

>My understanding of the term object is rather informal but roughly 
>equates to:
>"Objects are encapsulated state machines exchanging messages amongst 
>themselves, and with a number of external 'worlds'."

	That may be entirely true but what prevents that definition from being semantically equivalent to saying "objects are data structures with invariants enforced against external corruption via implementation functions with priviledged access"?  Or any number of other choices of words; I think it's a case of six of one, half a dozen of the other.  Surely 'exchanging messages' is equivaled to 'functions calling each other', and all programs, libraries, and functions deal with some external 'world'.