The only point I really have an issue with is #2, where the focus seems to be on “weeding out” students as a sign of rigor. I would much prefer that some kind of pedagogical motivation replace this point.
Edit: I take that back.
> Once you learn Scheme, well now you've learned Scheme.
(Not from SICP but How to Design Programs):
The claim is that you’ve learned how to THINK about programming. You understand how to organize and test your code so you can make a larger project.
I think the dismissal of a Scheme-like language as a dead end is shallow, and includes a large assumption about the (lack of an) ecosystem of the language. I think saying more will turn this into a rant.
Edit: I take that back.
> Once you learn Scheme, well now you've learned Scheme.
(Not from SICP but How to Design Programs): The claim is that you’ve learned how to THINK about programming. You understand how to organize and test your code so you can make a larger project.
I think the dismissal of a Scheme-like language as a dead end is shallow, and includes a large assumption about the (lack of an) ecosystem of the language. I think saying more will turn this into a rant.