This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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




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