. . . for many people I suspect HtDP is probably a better programming book.
In what sense is HtDP better? The authors mention that it "works extremely well as a preparation for a course on object-oriented programming [1];" which betrays a certain reverence for the status quo (i.e. university as Java mill).
The great thing about SICP is its irreverence for the "real world" (metacircular evaluator?!), which is why it remains relevant twenty years after its publication; HtDP, on the other hand, will be forgotten after the present publication cycle.
Nice to see you outside of #scheme, man; your argument is exactly why I think R6RS is a red herring: what tangible benefit would inter-scheme portability confer, anyway? On the other hand, it takes some pre-planning to get the right scheme for the right project.
It's still all but impossible to write real, large, complex, maintainable systems in Scheme without using implementation-dependent extensions for module systems, user-defined types and macros.
That's fair.
I write Scheme for a living, too, however, and get pretty far with RnRS and the SRFIs; but whereas implementations like, say, Chez and PLT have peculiar extensions to explore, I find that Scheme48 and Chicken behave generally as expected.
Ok, does anybody else have a problem with people calling their kids a "10-month-old", "2-year-old", "1-year-old", etc.?
For the initiated, it conjures up properties specific to that stage of life; by 10-month-old, I understand a crawler who, while rejoicing in new-found mobility, hasn't developed the neural pathways to understand the dangers of fire or gravity.
For the uninitiated, it's meaningless detail; you're like a layman trying to parse the epithet to my kernel: Linux hot 2.6.23.1-42.fc8 #1 SMP...
Yes, yes; indeed. My thesis is only that such people are irrelevant. ;)
As in, with the dark side or the Jedi? Which is which makes a good exercise for the reader.
In what sense is HtDP better? The authors mention that it "works extremely well as a preparation for a course on object-oriented programming [1];" which betrays a certain reverence for the status quo (i.e. university as Java mill).
The great thing about SICP is its irreverence for the "real world" (metacircular evaluator?!), which is why it remains relevant twenty years after its publication; HtDP, on the other hand, will be forgotten after the present publication cycle.
[1] http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf
Nice to see you outside of #scheme, man; your argument is exactly why I think R6RS is a red herring: what tangible benefit would inter-scheme portability confer, anyway? On the other hand, it takes some pre-planning to get the right scheme for the right project.
That's fair.
I write Scheme for a living, too, however, and get pretty far with RnRS and the SRFIs; but whereas implementations like, say, Chez and PLT have peculiar extensions to explore, I find that Scheme48 and Chicken behave generally as expected.
Here's a pdf conversion of SICP from the html; for über-portability, of course, just buy the book.
If it's scheme you're looking for, there's R5RS and the SRFIs; also, don't forget the world's possibly best-written programming book: SICP.
For the initiated, it conjures up properties specific to that stage of life; by 10-month-old, I understand a crawler who, while rejoicing in new-found mobility, hasn't developed the neural pathways to understand the dangers of fire or gravity.
For the uninitiated, it's meaningless detail; you're like a layman trying to parse the epithet to my kernel: Linux hot 2.6.23.1-42.fc8 #1 SMP ...