5 ms·
Read carefully "Structure and Interpretation of Computer Programs" (e.g. online for free), preferably do exercises. You'll get a solid start.
by avmich 8y ago
Read carefully "Structure and Interpretation of Computer Programs" (e.g. online for free), preferably do exercises. You'll get a solid start.
- pjc50 8y agoSICP is a Lisp textbook. This will be controversial, but I think it has little application outside of the Lisp world, however much it is venerated.
- Bjartr 8y agoSICP for python: https://wizardforcel.gitbooks.io/sicp-in-python/content/ https://wizardforcel.gitbooks.io/sicp-in-python/content/ LISP was the medium, not the content
- stutonk 8y agoYeah, it only teaches you about term rewriting, boolean logic, iteration vs. recursion, algorithm complexity, higher-order functions, data structure design, closures, generics, statefulness, environments, mutability, concurrency, stream processing, modularity, interpreter design and implementaion, lazy evaluation, nondeterminism, logic programming (i.e. search/constraint), low level computer architecture, memory models, and the design and implementation of virtual machines, garbage collectors, and compilers. Just a total waste of time unless you're doing Lisp.
- otras 8y agoAlong those lines, the accompanying MIT class (MIT 6.001 Structure and Interpretation, 1986) is available on YouTube[0] and MIT OCW[1]. It's worth watching, if only for the following: "I'd like to welcome you to this course on Computer Science. Actually that's a terrible way to start. Computer science is a terrible name for this business. First of all, it's not a science. It might be engineering or it might be art. We'll actually see that computer so-called science actually has a lot in common with magic. We will see that in this course. So it's not a science. It's also not really very much about computers. And it's not about computers in the same sense that physics is not really about particle accelerators. And biology is not really about microscopes and petri dishes. And it's not about computers in the same sense that geometry is not really about using a surveying instruments." [0]: https://www.youtube.com/watch?v=2Op3QLzMgSY https://www.youtube.com/watch?v=2Op3QLzMgSY [1]: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/ https://ocw.mit.edu/courses/electrical-engineering-and-compu...