5 ms·
Having spent months learning Haskell, I'm interested to pickup another mind-expanding language. If I read SICP (and also watch the MIT lectures), what dialect s
by ancarda 8y ago
Having spent months learning Haskell, I'm interested to pickup another mind-expanding language. If I read SICP (and also watch the MIT lectures), what dialect should I follow along in? Ideally I would learn something people are using today so there would be usable libraries. I mostly write website backends and APIs.
Clojure? Common Lisp? Something else?
- vnorilo 8y agoSICP is not so much about a particular language. I think there's a Clojure port of SICP somewhere, and Clojure has a good impedance match with web backends. If you want an "authentic" experience, Scheme would be a good choice.
- specializeded 8y agoDrRacket IDE [0] + the SICP compt language [1] and you can start writing it instantly in a well built and maintained environment that’s racket based and pretty fleshed out library wise, certainly nothing compared to Clojure but among the rest, it’s the best (imo), I recall Carmack writing a server in Racket for fun and praising the experience a few years back. [0] - https://racket-lang.org https://racket-lang.org [1] - http://docs.racket-lang.org/sicp-manual/index.html?q=sicp#%28part._.Introduction_to_the__lang_sicp_language%29 http://docs.racket-lang.org/sicp-manual/index.html?q=sicp#%2... Additionally, if SICP proves too slow going or difficult math wise [3] you can always use drracket for HtDP [4] and it’s corresponding misnamed edX course(s) [5] and later on, PLaI [6]. [3] - http://cs.brown.edu/~sk/Publications/Papers/Published/fffk-htdp-vs-sicp-journal/paper.pdf http://cs.brown.edu/~sk/Publications/Papers/Published/fffk-h... [4] - https://htdp.org/2018-01-06/Book/part_preface.html https://htdp.org/2018-01-06/Book/part_preface.html [5] - https://www.edx.org/course/how-code-simple-data-ubcx-htc1x https://www.edx.org/course/how-code-simple-data-ubcx-htc1x [6] - http://cs.brown.edu/courses/cs173/2012/book/ http://cs.brown.edu/courses/cs173/2012/book/
- CodeArtisan 8y agoRacket has a package for SICP https://pkgs.racket-lang.org/package/sicp https://pkgs.racket-lang.org/package/sicp More SICP stuff at https://bitbucket.org/snippets/Tetsumi/ke6jL4/sicp https://bitbucket.org/snippets/Tetsumi/ke6jL4/sicp
- FranzFerdiNaN 8y agoSICP should be done in Scheme. You can use Racket with the SICP package, which has all the necessary functions.
- spatulon 8y agoDrRacket has an SICP language mode, and I can attest that most of the code in the book works without modification. After that you can easily switch to the Racket language, which seems to be a modern, popular dialect of Scheme with plenty of libraries.
- greenshackle2 8y agoI just used mit-scheme. https://www.gnu.org/software/mit-scheme/ https://www.gnu.org/software/mit-scheme/ It's the one that was used for the course at MIT. You're not really going to dig into real-world useful libraries when doing SICP anyway. It's a bit barebones, personally I enjoyed writing a bit of tooling while working on the book, admittedly it doesn't have the best dev experience out of the box. Then when you do an actual project you can pick what works for that project. The fundamentals should carry over easily enough.