4 ms·
Because so many of us learn imperative programming first, then find functional a big shift, I think we forget that everyone learns maths, which has no mutable s
by Latty 10y ago
Because so many of us learn imperative programming first, then find functional a big shift, I think we forget that everyone learns maths, which has no mutable state in the traditional maths classroom written style, and so functional actually resonates pretty well with people who have never touched programming at all, provided they've been exposed to enough maths.
- banachtarski 10y agoThe weakness to this approach is that learning the functional approach is all well and good but you can't learn this at the expense of learning what the machine does. Learning a traditional ALGOL like C exposes you to memory access, the stack pointer, and other such concepts. You're also a small hop away from assembly where you learn about RISC/CISC architectures, CPU caches, etc. I wish there was a book as popular as SICP that people would read so that the understanding of what the hardware is doing is better across the industry.
- throwaway7645 10y agoI think the book shown with nand2tetris (maybe called the elements of computing) is pretty good going from logic gates to building Tetris. Also "CODE" and "Computer Architecture with the Raspberry Pi" are great.
- yoz-y 10y agoAll of that comes in but I think it is better to introduce an overview of what a computer can do and later explain how it is done. Motivation has a great influence of how well you can learn something. Swamping people with technicalities is a great way to lose them.
- pg314 10y agoChapter 5 of SICP actually goes into the details of how to implement a register machine to execute Scheme, including a simulator, assembler and compiler.