>Code generation tools which pretend to abstract out something, like all abstractions, leak, and the only way to deal with the leaks competently is to learn about how the abstractions work and what they are abstracting. So the abstractions save us time working, but they don’t save us time learning.
>And all this means that paradoxically, even as we have higher and higher level programming tools with better and better abstractions, becoming a proficient programmer is getting harder and harder.
>And while these great tools, like modern OO forms-based languages, let us get a lot of work done incredibly quickly, suddenly one day we need to figure out a problem where the abstraction leaked, and it takes 2 weeks.
→(0.2) How to learn programming×(1.1) The learning cycle×information_gathering×modeling×verification×具体×concrete×情報収集×体験×experience×抽象×abstract_2×抽象化×abstraction×モデル化×パターンの発見×pattern_discovery×応用×application×実践×practice×検証×cycle_of_learning→