Newsgroups: comp.lang.scheme.c,comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!news.kei.com!bloom-beacon.mit.edu!gatech!howland.reston.ans.net!ix.netcom.com!netcom.com!bakul
From: bakul@netcom.com (Bakul Shah)
Subject: Re: Abelson and Sussman
Message-ID: <bakulD97A35.HtD@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <1995May25.041812.3034@kestrel.edu> <19950525T070916Z@naggum.no>
Distribution: inet
Date: Fri, 26 May 1995 19:28:17 GMT
Lines: 54
Sender: bakul@netcom9.netcom.com
Xref: glinda.oz.cs.cmu.edu comp.lang.scheme.c:637 comp.lang.scheme:12797

>[K. Michael Dalal]
>|   Do you know of a book that exemplifies similar programming concepts in
>|   the C language?  The Abelson and Sussman book is my bible for
>|   programming but I'm at a loss for how to best implement a lot of its
>|   concepts in C.

Erik Naggum <erik@naggum.no> writes:
>I agree, it's an excellent book.  however, and this is actually a serious
>answer, the best solution may be to implement a Scheme system and program
>that instead of programming bare-bones C.

We can safely infer from Michael Dalal's post that he is
already using Scheme!  When he asks how he can *best*
implement the same concepts in C, I read that to mean he is
asking for something other than the trivial solution.

I too would like to know if there is such a book for C (or
for that matter, *any* other programming language).  C does
not have many of Scheme's more interesting features and C
has very different strengths (and weaknesses) from Scheme.
A direct translation from Scheme to C is usually not the
*best* way to implement the same concept in C.

><voiceover type="sleazy ad">
>I had been programming in C for at least 12 years, and programming had
>become boring to me ....
>     ....  don't make my mistake.  start with Scheme.  if you lost that
>chance, switching to Scheme now will greatly improve your quality of life.
>Scheme, the Real Programming Language.
></voiceover>

I immensely enjoy programming in Scheme and am a Scheme
proponent.  Nevertheless, one can't _always_ use Scheme in
real world applications due to one or more requirements
like efficiency, small footprint, interoperability with
other languages, etc.  These problems may be solved some
day but we are not there yet.  In the meantime we can
certainly benefit from C programming books of the SICP
caliber.

Secondly, while the programming language chosen does make a
difference, one *can* learn to program well even in
assembly language.  Skills like how to develop, structure &
organize a program, how to test & debug it, and how to
instrument, measure performance & speed up a program are
useful regardless of the language chosen.  But the way you
apply these skills can be different in different
languages.  A mentor or a book that teaches these skills
using the same language can be a great boon.

What would be really neat is something like Polya's ``How
to solve it'' for the computer programmer.

Bakul Shah <bakul@netcom.com>
