This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Scheme is too complicated


On Wed, 28 Oct 1998, David Welton wrote:

> On Wed, Oct 28, 1998 at 12:02:41AM -0600, Erik wrote:
> 
> > I'm just getting to the "solving everyday programming tasks" myself.  The
> > learning curve on scheme has been steeper for me than on any previous
> > language (although it just barely beats learning the OO paradigm for C++).
> 
> I would put my 'difficulties with scheme' issues in 2 categories: 1.
> it really *is* different from everything else I've done..  I
> definitely fumed a bit when I discovered that there was no 'while'
> built into the language (and appluaded the fact that guile does have
> one), and 2. the fact that, except for some things here and there like
> slib and guile, scheme doesn't seem aimed so much at the "everyday
> programming tasks" crowd, like Perl, Python, Tcl, etc..  I think Guile
> will help change this.

<don asbestos suit>

Scheme is weird.  Although it's weakly typed, it's not a VHLL like
Perl/Python.  And although it can be compiled (to C or assembly) it's not
a lower level language like C.  (yeah, Perl has a compiler now, but the
compiled code is like 20% faster than the interpreted code, no big whoop). 
In my experience, functional style Scheme code is concise and, unless
you're careful, slow.  You can't really compare functional code to
imperative code, but here goes: functional Scheme is about as concise as
Perl/Python code.  otoh, imperative Scheme is usually about half the size
of comparable C code (a loop is a loop, a car is a car...), and it's about
3/4 the size if don't count the C declarations. 

yeah, I read Jon Ousterhout's "white paper" and I liked it!

<doff asbestos suit>

Can anyone who's taught Scheme, or taken Scheme at university give us some
horror stories about what happens when you mix boneheads and Scheme? 
("bonehead" in this context is someone without an aptitude for
programming, in general "bonehead" is anyone who's inept at everything for
which I personally have an aptitude ;) 

> Ciao,
> -- 
> David Welton                          http://www.efn.org/~davidw 
> 
> 	Debian GNU/Linux - www.debian.org

	tia,
	Jay
	jglascoe@jay.giss.nasa.gov