This thread has grown into a particularly educational one, for me at least, thanks to everyone who posted.

Vinu Rajashekhar's two posts were strictly to the point. There _is_ a mental model of the small computer to teach along with Scheme and there are ways to get close to the machine from within Haskell. The suggestion for using tail recursion seemed to serve to cue compiler into transforming the recursion into iteration (in C the programmer would _probably_ have used iteration in the first place).

Daniel Lyons' argument goes well with Paul Donnelly's:

I'm only saying that there are a lot of weird ideas about Lisp floating
around which a person can  hardly be blamed for picking up on, and these
are the reasons it sounds to me like you have.

Regarding where I may have gone wrong about Lisp (besides orthography). At the moment, I am very much intrigued to try learning a functional language even if only to fail again. The hobbyist can experiment at leisure, after all. And the links posted provide quite enough material.

As for this direct question:

I must say that the Lisp version is much simpler and clearer to me, while
the C version is mildly baffling. Does that make me a wizard who can
hardly read simple C code, or is it just a matter of what you and I are
respectively more comfortable with?

I'd like to concur with the implication that it's all a matter of what mindset one carries but I'm also tempted to exclaim since I find the C version straightforward--it closely follows how one would do a bubble sort on paper. Or perhaps even this assertion is shaped by my personal impressions.

Reply via email to