[LUGSB] Meeting Today @ 6:45
Michael Graffam
mgraffam at mathlab.sunysb.edu
Fri Apr 2 04:48:03 EST 2004
On Thu, 1 Apr 2004, Sean Callanan wrote:
> > The main advantage of Scheme is (as a dialect of Lisp) that it allows
> > multi-paradigm programming.
>
> What do you mean by "multi-paradigm programming?" To me, multi-paradigm
> programming means that more than one of
>
> - object-oriented programming,
> - functional programming, and
> - imperative programming
>
> is supported.
>
> Guile's implementation of Scheme does not support object-oriented
> programming natively. For some semblance of OOP, one must install
> additional packages (such as GOOPS).
True. But the latter two paradigms are supported. Additionally, Scheme
(and Lisp in general) is capable of doing full-on OOP. That GOOPS is
limited is somewhat irrelevent.
> Python does OO with inheritance
> natively (with the exception of information hiding, which GOOPS does
> not support either). If you say this makes Scheme object-oriented, I
> can write you a library that will make C object-oriented.
I'd like to see your C library that does OOP. It will not be as good as
say, CLOS. CLOS isn't Scheme, of course -- but it would be possible to
write a CLOS work-alike in Scheme.
> Scheme is not an imperative language.
You need to strengthen your understanding of Scheme. Scheme is capable
of the same imperative constructs as any other language.
> Python looks like the real "multi-paradigm" language, so I don't see
> Scheme having an advantage here. Scheme is a very nice language which I
> would choose over Python for many purposes (the rest of which I prefer
> using C or Perl for), but in this regard I think Python wins
> hands-down.
It seems that you are confusing the Guile implementation of the Scheme
dialect of Lisp with the Scheme language as defined by r5rs.
More information about the lugsb
mailing list