> Well, I'm working through SICP right now. I'll likely read some other
> stuff too, especially some of what Nils wrote.
> I tried learning Factor 3 years ago and wrote a few simple programs. I
> gave up on Factor largely because I didn't understand the concepts.
> Factor's documentation is mostly a reference and assumes that the user
> already knows the concepts. I am learning Scheme now because Scheme is
> an academic language and consequently has beaucoup documentation
> available explaining concepts. Within that context, "ivory tower
> concepts" are largely what I want. After I get a handle on the
> concepts I can apply that knowledge to "real-world programming." It is
> a mistake for me to dive into writing real-world programs without
> first understanding the concepts though --- I would just turn into a
> script-kiddie who can paste together code written by other people, but
> who doesn't know how the code works and wouldn't be able to write a
> program from scratch to save his soul.
> Scheme, and SICP, are a good place for me to learn right now. Later on
> I may go back to Factor and/or jump to CL, both of which are more real-
> world oriented. Or, I may just stick with Scheme --- Gambit is
> designed to work hand-in-hand with C, which definitely implies that it
> is trying to escape from the much-dreaded ivory-tower to be real-world
> applicable. :-)
I completely agree. I am well fluent in markup languages like LaTeX and XHTML. Besides I have been trying to learn programming for several years by diving into perl, c and sql; unfortunately without success because they were not appealing to me and made me yawn. Please don’t get me wrong: I am allowed to say such a thing just because I am a historian and do not have to stick to any cs-curriculum. :) SICP finally set me on fire. It is indeed their much dreaded »academic« approach which appeals to me. I really do not understand the polemic distinction between »ivory tower« and »real world« which is found on the web betimes. The concepts teached by SICP were sufficient for me to understand things like sxml in order to process xml-files by scheme (this said as a »real world« application). :)