[LUGSB] Meeting Today @ 6:45
Sean Callanan
scallana at ic.sunysb.edu
Thu Apr 1 02:17:55 EST 2004
> 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). 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.
Scheme is a functional programming language. Python can also do
functional programming natively
(http://www-106.ibm.com/developerworks/linux/library/l-prog.html).
Scheme is not an imperative language. Python has native imperative
structures like loops, variable declarations, and statements that
modify variables for all remaining statements in the program (without
making those statements "children" of the parent statement).
In summary, the "paradigm scoreboard" for these two is
PYTHON 3
SCHEME 1
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.
Sincerely,
Sean Callanan
More information about the lugsb
mailing list