4 ms·
Yeah, imagine the craziness of making materials like this accessible to users of the most widely used language.
by schwartzworld 5y ago
Yeah, imagine the craziness of making materials like this accessible to users of the most widely used language.
- turminal 5y agoIt didn't become widely used because it were any good and being widely used generally doesn't imply quality. I think the decision on what language to use in teaching material should be made based on quality and ease use, not popularity of the language.
- ravi-delia 5y agoSCIP uses an amount of high-level functions that are frankly ridiculous outside of a very functional language. Hell, maybe even outside of a Lisp-1. That's not to say that Scheme is the best language (probably not in my top 5), but there are better languages than javascript for SCIP, and better programming methods than SCIP for javascript.
- hajile 5y agoWhich remotely popular language would be a better choice? The only ones that leap to mind are the ML languages.
- ravi-delia 5y agoI guess that's the rub, I'm not sure any of them are. Certainly Javascript has stronger support for functional programming than Python. Maybe Ruby? Even Haskell would get pretty much unreadable extremely quickly, though pattern matching would make some parts way easier. I'm not coming at this from a lisp fanboy perspective (though I am one), it's just kinda the reality of SICP's style of programming. Even PAIP translates extremely well to Python, but SICP encourages a layering of abstractions that I can't picture reading without parenthesis keeping order of operations strict. The best solution I can think of is having a pre-packaged setup for getting started with Scheme, a la Dr. Racket.
- kazinator 5y agoBecause those people were born programming Javascript? What is "accessible" in this context is purely a state and attitude of the intellect.
- bmitc 5y agoEducation and enlightenment are not about appealing to the least common denominator and status quo. JavaScript lacks several features that make it apt to translate this book.
- tharne 5y ago> Yeah, imagine the craziness of making materials like this accessible to users of the most widely used language. One of the reasons it was originally written for scheme is that scheme has a small core, simple syntax and can very easily be learned while reading SICP. More importantly, the type of user that would get put off by using/learning scheme, is probably not going to make it through SICP. Learning just enough scheme is arguably the easiest part of going through SICP.
- Banana699 5y agoOne of the exercises in the first (or was that the second?) chapter is speeding up Fibonacci's iterative algorithm by viewing the state transition equations that derives F_n and F_n+1 from F_n-1 and F_n as a pair of linear transformations, therefore a matrix multiplication that can benfit from fast exponentiation (repeatedly squaring). Then in the chapters after that you code a symbolic differentiator and add pattern matching to the language. SICP doesn't try to be accessible, it's explicitely an engineering text book made for engineers. That's even the reason some people have criticized it[1] and wrote another book[2] with the same themes and goals but ditching the excessive math focus. Anyone who can understand SICP's exercises can understand Scheme. [1] https://en.wikipedia.org/wiki/The_Structure_and_Interpretation_of_the_Computer_Science_Curriculum https://en.wikipedia.org/wiki/The_Structure_and_Interpretati... [2] https://en.wikipedia.org/wiki/How_to_Design_Programs https://en.wikipedia.org/wiki/How_to_Design_Programs
- gorjusborg 5y agoYeah, there are so many people who want to expand their experience and mind, who also can't learn a language that can be taught in 10 minutes.