Re: Is Procedural Paradigm a basis of OO Paradigm?



On Apr 3, 9:21 am, Rainer Joswig <jos...@xxxxxxx> wrote:

ggro...@xxxxxxxxxxx wrote:

TM> He also complained about the limiting dimensions of OO,
dispatching
TM> off of mostly a single dimension/factor (type).

PM> This is a limitation of some languages, not of OO in general.

TM> It is hard to tell without a clear, consensus definition of OO.
One
TM> can put function pointers in associative arrays to get OO features
out
TM> of a non-OO language. With a wide enough definition of OO, OO is
TM> everything.

Rubbish. Just another typical attempt to evade the truth.
Patrick May has explained Paul Grahams' critique precisely.

1. OO prog langs based on the Simula model (known in industry as
"single dispatch" ) are limited when an operation to be executed is
to be determined by both the object being invoked and the types
of the input parameters to that operation (known in industry as
"multiple dispatch" ) .

The grief attempting to emulate multiple dispatch even for just two
variables (object X parameter) with single dispatch is well-known
in industry (the "double dispatch" and Visitor patterns etc) .

2. There are a group of OO prog languages (CLOS etc) that support
multiple dispatch. Therefore the single dispatch problem is not
universal in OOP.

3. Paul Graham is more than aware of the facts stated in 1/2.
After all he is a Lisp programmer. He also *wrote a book* whose
contents *teach people how to use CLOS* . Which means Paul
Graham understands CLOS quite well.

He may well have actually written some of his successful business
s/w in CLOS.

Your attempt to use Paul Graham as an "appeal to authority" as
support for the failings of OO is shown as a fallacy.

Actually he is right here. Paul Graham is known to strong dislike
CLOS and Common Lisp (no joke).

A dislike not based on ignorance or lack of experience.


He does not use CLOS.

Hence "may well have" (I could not say for certain either way) .


His Lisp books explain almost no CLOS at all.

Here is his book on Lisp that has two chapters on CLOS :

http://www.amazon.com/ANSI-Common-LISP-Paul-Graham/dp/0133708756/ref=pd_bbs_sr_1/002-7809928-4480062?ie=UTF8&s=books&qid=1175593004&sr=8-1

To write about CLOS implies an understanding (of things such as
multiple
dispatch) .

Contrast with Stepanov (of STL fame) , where a search on "Stepanov
multiple dispatch" reveals a couple of people questioning his
ignorance
of multiple dispatch for his arguments against OO.


He is developing a new Lisp-dialect called Arc which will
not be object-oriented. He develops Arc, because he
does not like Common Lisp.

See Paul about CLOS and OOP >here:http://www.paulgraham.com/noop.html

Well, one may not cite him as an authority about the problems
of CLOS, since he never used it (see the link).

I do not cite him as an "authority" at all in my argument.
He does however have reasonable knowledge of CLOS and multiple
dispatch (for reasons stated above) .


Regards,
Steven Perryman

.



Relevant Pages

  • Re: Is Procedural Paradigm a basis of OO Paradigm?
    ... "single dispatch") are limited when an operation to be executed is ... "multiple dispatch"). ... Graham understands CLOS quite well. ... His book is mostly a few explanations of Common Lisp features, ...
    (comp.object)
  • Re: PMD with CLOS-style Method Combination
    ... Dispatch, and Method Combinations. ... CLOS allows you to change inheritance hierarchies at runtime, so whenever this happens, precomputed effective methods have to be invalidated as well. ... For very simple generic functions (with few methods and few ... I think there is a realistic chance that a prototype-based system can ...
    (comp.lang.lisp)
  • Re: Best multimethods/multiple dispatch implementations?
    ... I know Dylan and CLOS also has implementations, ... CLOS dispatch is typically implemented as an inline coded minimum ... Dylan uses the same dispatch method as CLOS but allows finalizing the ...
    (comp.compilers)
  • Re: Is Procedural Paradigm a basis of OO Paradigm?
    ... "single dispatch") are limited when an operation to be executed is ... There are a group of OO prog languages (CLOS etc) that support ... Paul Graham is more than aware of the facts stated in 1/2. ... CLOS and Common Lisp. ...
    (comp.object)
  • Re: few confusions regarding CLOS
    ... CLOS is very different from C++. ... Dispatch means the generic function decides which method to "dispatch" ... Dynamic polymorphism is automatic in dynamically typed languages. ...
    (comp.lang.lisp)