SICP is Under Attack
vedantk.tumblr.com
SICP is Under Attack
1–10 of 207 posts
Re: SICP is Under Attack
#2Re: SICP is Under Attack
#3> It’s just.. it’s just not the same.
Never say this. Horrible people (like me?) will point to it as you admitting that your argument is founded on nostalgia for the way things were, regardless of how strong the rest of your argument is.
Re: SICP is Under Attack
#4Re: SICP is Under Attack
#5Re: SICP is Under Attack
#6So SICP is awesome. The article makes that assertion in the third paragraph, and then continues making that point for most of the rest of the article. It does not, however, make a good, convincing argument for why "Dive Into Python" is significantly worse, especially as an introductory text. > It’s just.. it’s just not the same. Never say this . Horrible people (like me?) will point to it as you admitting that your a…
Translated recursive definitions into iterative processes
Examined the differences in the space requirements of various processes
Used tail-recursion to implement efficient iterative procedures
Seen that iteration can be thought of as a special case of recursion
Realized that iterative processes can be restarted easily by capturing and restoring their state variables
Given thought to complexity, optimization, and state transition theory
Been encouraged to explore creative solutions to challenging problems
Learned the basic syntax and semantics of Scheme
Observed a quasi-religious experience
What will you have accomplished by page 45 of Dive Into Python? Don’t hold your breath. I’ve looked into it. You’ll be learning how to use the and-or “trick” to make simple programs difficult to read. Soon afterwards you’ll be exposed to Python’s intentionally crippled lambda statement.""Scheme is considerably less complicated and idiosyncratic than Python. It’s simplicity and consistency have immense pedagogical value. It might take you anywhere from a day to a month to pick up the basics of Python. Scheme, on the other hand, has virtually no syntax. It’s definitely possible to get a solid grasp of its fundamentals in less than an hour.
Python can be used to accomplish many of the same things as Scheme. Practically anything you can do in Scheme you can do in Python, and formally speaking, the two languages are equivalent.
However, until a Python textbook emerges that surpasses SICP in teaching the core elements of programming, we should stick with Scheme."
Re: SICP is Under Attack
#7Re: SICP is Under Attack
#8I'm a little worried that I'm so good at imperative programming, though, since it might indicate that I'm "crippled" when it comes to functional programming. I bet one of you could code circles around me when it comes to e.g. implementing a DSL.
Anyone have advice about how I'd go about "diving into functional programming"? What's a fun project to do in Haskell, for example?
I rarely approach a programming problem by trying to define functional routines. Instead, I almost always use state. Seems like a bad habit that I need to focus on breaking.
Re: SICP is Under Attack
#9The obvious solution: rewrite SICP to use Python rather than Scheme. It is CC attribution and non-commercial, so I don't see any legal barrier to outsider revision.
And the main value of SICP, at least for its fans, is the pedagogic value of the language. It starts off with pure functional programming and then introduces assignment much later, and discusses its tradeoffs.
Re: SICP is Under Attack
#10(edit: also there's an interview floating around somewhere that talks about the rationale being that modern programming is different in the sense that it more often requires ability to figure out existing libraries as much as an ability to compose well-structured programs.)