University had a similar elective, but I didn’t study it well before and wrote the essay carelessly — failed outright. That semester I got the only failing 50 and the only perfect 100 of my university years. Really too coincidental — the 100-point essay is at The Peony Lantern Story; I won’t paste the 50-point one.
The video I’m watching is this one, with Chinese and English subtitles — pretty good.
If put all in one article, nobody would want to read it, so it’s split into several posts. I hope readers can pick the parts that interest them.
I strongly suggest at least finishing SICP’s first chapter first. To deepen my own understanding I also rewrote everything in JS; the JS versions are all pasted.
Friends who don’t want to download mit-scheme can debug with the JS versions.
Summary
The blogs merely share a little of the thinking I learned. If interested, I still suggest watching the videos. It’s not that you must learn something specific or that it will substantively help your business — observing different ways of thinking is nice too. There are also reflections on some philosophical questions, such as the following:
- Why does object-orientation exist at all (what’s the benefit of imagining real-world objects as objects)? What does an object’s internal state bring?
- Must program orchestration reflect time? After abandoning program execution order, what can we gain?
- When we talk about a language, what are our expectations of it — what should we focus on?
Stop simply saying the scheme language is hand-writing syntax trees; it’s just that its expression form resembles syntax trees. Personally I feel it’s more like viewing and describing the world from a mathematical or electrical-engineering perspective.