4 ms·
It depends who you are. People who have the recursion muscle tend not to appreciate what an obstacle it is for people without it. Basic use of scheme requires
by cturner 12y ago
It depends who you are. People who have the recursion muscle tend not to appreciate what an obstacle it is for people without it.
Basic use of scheme requires you to think recursively. If you have that, scheme gives enormous power for a small investment of learning, thinking and typing. If you don't have that, you need to deal with that before you can use scheme.
You could take a group of elite students with a math/physics background and have some confidence that their grounding in mathematics and physics will have prepared them, or that it will be a short and healthy jump for them.
But it would be bigger hurdle for other groups. Python is a useful because you can ease people into this kind of thinking. And people who aren't there yet can still get things done.
Regarding SICP, even in early chapters, it requires you to understand maths concepts that wouldn't be available to you even if you were a professionally-employed person returning to to university. The Little Schemer path would be a better intro for groups without that.
- brudgers 12y agoThere is a really useful criticism of Scheme implied by your comment. Idiomatic Lisp is difficult to write, and there is a willingness in Scheme based Curricula to infuse it from the beginning. Unlike implementing objects in Java, use recursion and an aversion to mutation is a stylistic choice in Scheme. Iterative looping and state variables are viable alternatives and Scheme and other Lisps do mutation really well. The language has no prohibition on imperative style.
- frenchy 12y agoAlso, chances are, if something is difficult to write, it is at least as difficult to read.