30 ms·
Learn LISP/Scheme and lots of fundamental concepts you probably have a feel for, but in a far more profound way: 1. First watch the SICP series (https://www.yo
by floathub 6y ago
Learn LISP/Scheme and lots of fundamental concepts you probably have a feel for, but in a far more profound way:
1. First watch the SICP series (https://www.youtube.com/watch?v=-J_xL4IGhJA&list=PLE18841CABEA24090 https://www.youtube.com/watch?v=-J_xL4IGhJA&list=PLE18841CAB...)
2. Then work through the book (https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html https://mitpress.mit.edu/sites/default/files/sicp/full-text/...)
If you really do the exercises (an hour here and an hour there), you can feel you brain getting wrapped around many core notions in very illuminating ways.
- schemescape 6y agoIf you’re interested in the Structure and Interpretation of Computer Programs book, I ported the first portion to HTML (with a built-in Scheme interpreter) here: http://jaredkrinke.github.io/learn-scheme/ http://jaredkrinke.github.io/learn-scheme/
- diehunde 6y agoFirst time watching those videos! What year is that? They looked way older than 2005
- mtreis86 6y agohttps://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/ https://ocw.mit.edu/courses/electrical-engineering-and-compu... "These twenty video lectures by Hal Abelson and Gerald Jay Sussman are a complete presentation of the course, given in July 1986 for Hewlett-Packard employees"
- Err_Eek 6y agoI've been going through SICP for a year and a half now on and off. At this point I don't feel I've been getting back all the effort I put in it. I think it's mostly recommended by people who didn't do all the exercises, or casually browsed through it and all they were left with was the fact that you can write a programming book without mentioning assignments until halfway through or that it's more easy to write a scheme interpreter in scheme than other languages. But the book is really dense, and you won't be left with much after trying to debug your hundreds line script meant to solve one problem.
- floathub 6y agoOf course everyone comes at these things with different histories and different intrinsic interests. But I really enjoyed fundamental stuff like: * the concept of assignment implying _time_ and messing with the substitution model. * recursive functions that are iterative * iterative structures that are recursive * At the base of the base of the data abstraction in LISP is, well, nothing. * Code as data, data as code, really strongly underlined. * The whole LISP written in itself (as a sort of fixed point of a language that defines a language). That is really something. * The idea of using a language to write a language that lets you express your problem. That last one is probably obvious to most, but it was really novel to me (despite years of writing functions to compute answers).