3 ms·
I agree with your overall sentiment, but I have some objections with the specific things you are saying: - SICP the book and the original MIT course that is av
by stiff 13y ago
I agree with your overall sentiment, but I have some objections with the specific things you are saying:
- SICP the book and the original MIT course that is available online do not cover data structures or algorithms very well, it isn't that much in the focus of the book, they implement a queue in one place from what I remember, there is some mention of big-oh, but it's all rather cursory. Thomas Cormen published "Algorithms Unlocked" recently, which seems like a good intro book for programmers who are not willing to devote a fraction of their life to studying the big Cormen book or Knuth.
- Constant factors matter increasingly more and more. There has been a lot of talk in the last years about how things like big and very fast processor caches make some not-asymptotically optimal algorithms outperform the asymptotically optimal ones for all input sizes we can ever expect to handle. One should of course still understand asymptotic analysis, but you also have to understand caches, locality of reference and do real-world benchmarking. One doesn't substitute the other.
- dschiptsov 13y agoThere is a wonderful set of lectures by the two magicians.) I used to watch some before going to bed. Actually it takes a long time to understand what they are saying (big ideas behind the words) and why they chose so (why this or that particular example). But the great idea is quite simple: "All you need is Lambda and the List structure as a glue (to create layers of DSLs) plus self-discipline of not violating abstraction barriers". But one has to really understand them. (Well, arrays and hash-tables are also necessary due to some efficient algorithms based on its unique properties).