I'd like point out something that isn't mentioned in the slides at all. The ideas behind the algorithm are not just games, not just exercises, not just methods of self improvement. I'm reminded of Feynman's story of the wobbling plate. They have very deep implications for how we design programs and how we design programming languages.
The notion of search (logic programming, constraint solving) is a woefully under appreciated topic - I would argue because our programming languages make it very difficult to apply this kind of beautiful knowledge back onto the programming language itself.
What is a type system if not a kind of maze solver? What happens when you apply machine learning like heuristics to a pattern match compiler? What happens if we can apply algorithm rules at the level of the method signature?
Yes learn some algorithms, then question why our programming languages limit how much we can put these great ideas into practice.
The notion of search (logic programming, constraint solving) is a woefully under appreciated topic - I would argue because our programming languages make it very difficult to apply this kind of beautiful knowledge back onto the programming language itself.
What is a type system if not a kind of maze solver? What happens when you apply machine learning like heuristics to a pattern match compiler? What happens if we can apply algorithm rules at the level of the method signature?
Yes learn some algorithms, then question why our programming languages limit how much we can put these great ideas into practice.