[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