[racket] learning recursion

From: Geoffrey S. Knauth (geoff at knauth.org)
Date: Wed Feb 4 13:25:45 EST 2015

On Wed, Feb 4, 2015, at 13:01, Roelof Wobben wrote:
> Is racket a good language to learn recursion the right way ?

Sure!  But it's really the educational material of How to Design
Programs (HtDP) [1] that comes with DrRacket that makes the experience
of learning the "right" patterns an easier experience than it might
otherwise be.  Also, this list is one of the friendliest lists you'll
find anywhere, with people of all experience levels getting along well,
where questions no matter how simple or complicated are almost always
answered by people who will point you in the right direction.

As for what language is best, though I like Racket a lot, the principles
of HtDP can be applied to many languages.  When it comes to recursion,
the first thing to learn is when a recursion should stop.  Then you
learn that a recursive call is a natural and succinct way to
compartmentalize computation to the thing you are looking at right now,
combined with the result of similar computations that are aggregated
elegantly through recursion.  Later you learn how to make recursive
calls efficient.

Geoffrey S. Knauth | http://knauth.org/gsk

[1] http://www.ccs.neu.edu/home/matthias/HtDP2e/

Posted on the users mailing list.