3 ms·
That list is...not bad, as far as it goes. I would suggest Essentials of Programming Languages by Daniel P. Friedman and Mitchell Wand instead of (or even bett
by mcguire 6y ago
That list is...not bad, as far as it goes.
I would suggest Essentials of Programming Languages by Daniel P. Friedman and Mitchell Wand instead of (or even better, in addition to) Crafting Interpreters. The former is about languages, the latter compilers (or rather interpreters). They are complementary.
A couple of things I would add:
Logic Rather than saying it is "applied math", I prefer to view programming as "applied formal logic". Everything from fancy type systems to Fowler's refactoring to Dijkstra's "weakest precondition" semantics for normal human being programming languages are simple applications of formal logic. Logic for Computer Science by Steve Reeves and Mike Clarke seems a good choice.
Automata theory Ok, if you're going this far, you might as well go all the way and learn what all that "finite state machine", "universal Turing machine", and "incomputablity" crapola is about. Introduction to the Theory of Computation by Michael Sipser is pretty good.
Old-school Artifical Intelligence Games. Plus, what can I say but, it'll come back again. Artificial Intelligence: A Modern Approach by Russell and Norvig. (Oh, there it is down towards the bottom.)
Sorry, I don't have video suggestions. And yeah, some of those aren't free. But they're not horribly expensive either. Maybe there are alternatives.
"Still too much? If the idea of self-studying 9 topics over multiple years feels overwhelming..."
I'd have some snarky comment here, but I'm bitter.