This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: Newbie and Kawa
On Dec 1, 2011, at 6:16 PM, Charles Turner wrote:
On 01/12/11 22:34, John Smith wrote
As someone new to both Kawa and Scheme, I'd be grateful to know if
Kawa is chiefly documented in terms of behaviours which are
particular to Kawa's Java relationship
Not chiefly, but IMO the manual is more of a reference at the
moment. Which I'd guess is what people with a Scheme background
want. (It's a difficult problem finding the right balance between
terse documentation, and overly verbose documentation, and I think
Per has done a good job!)
I was pretty excited by Kawa when I found it - leverage Java libs
but in a Scheme milieu - but I'd be grateful for any advice about
the suitability of Kawa for Scheme newbies.
That depends what your other experiences are in my opinion.
I should make it clear that Racket is no longer a Scheme system.
There are some fundamental differences these days in the default
Racket language (hence the name change from PLT Scheme to Racket),
you can chose Scheme languages within Racket (like r5rs), but
they're not enabled by default, so be careful about that.
Racket's infrastructure (in particular DrRacket) has been tailored
to beginners, it's used a lot in schools/colleges/universities
getting a lot of feedback from both students and teachers. How to
Design Programs is a good book to start with, and it's tightly
integrated with DrRacket.
If you plan on using another Scheme book, like Structure and
Interpretation of Computer Programs, or some the resources listed on
Kawa's homepage, then Kawa is good choice, since the Scheme material
is (hopefully) being carefully explained in the text.
I hope I don't give off the impression that Kawa isn't suitable for
beginners, everyone I've come across on this list has been happy to
help me with my beginner questions. It's a very subjective topic,
and I hope I've managed to give a fair overview of the two systems
for you to make your decision!
I'll second everything Charles said. If you're trying to learn the
pure Scheme language by reading the documentation for Kawa, that would
be a little hard; likewise if you use the Racket manual. Both are
written to describe their respective implementations, not as a
tutorial for the language. But if you start with a book on Scheme*,
then Kawa should do just fine. There are a small number of advanced
features of the language which aren't supported (e.g. full
continuations), but that'll be toward the back of the book anyway.
Even better might be to install several Scheme implementations and try
out your code on each of them (wherever they behave the same, that's
Scheme). I mostly use Kawa these days, but I also test things with MIT
Scheme, Guile, Chicken, and Racket occasionally.
* I've never read HtDP [1], though I've thumbed through the online
version, and it seemed fine. I learned on SICP [2], and I also have a
paper copy of Dybvig's The Scheme Programming Language 3rd ed. [3] --
of those two, if your goal is to learn Scheme, then I'd say go with
TSPL since it's focused on the language; if your goal is to
incidentally pick up the Scheme language while learning every major
software paradigm in a single semester to see if Course 6 is really
right for you, then go with SICP. Or try one of the other books
mentioned at schemers.org [4].
[1] http://www.htdp.org/
[2] http://mitpress.mit.edu/sicp/
[3] http://www.scheme.com/tspl3/ and now the 4th edition http://www.scheme.com/tspl4/
I just noticed that MIT Press publishes all three of those books...
makes sense.
[4] http://schemers.org/Documents/#intro-texts
--
Jamison Hope
The PTR Group
www.theptrgroup.com