Teach Yourself Programming in Ten Years (1998)
>> Learn at least a half dozen programming languagesI'm always surprised by how many people disagree with this; they're on the search for that one language they can use for every task. Or even worse, they think they've found it and their search is over, that's a tragic situation given how spoiled we are for great languages today.Clojure (STM / refs, vars, atoms & agents), kdb/q (non-loopy array code), Rust (ownership), Go (async done better, although i also really like core.async in clojure too), Python (trio nursery), C++ (asan, msan, tsan).There's some blogs continually give me good food for thought in this space, all signal no noise:Eli Bendersky, (every language under the sun) e.g. https://eli.thegreenplace.net/2016/the-expression-problem-an...Fasterthanli.me (Go, Rust, others) e.g. https://fasterthanli.me/articles/so-you-want-to-live-reload-...Mechanical Sympathy (Java), defunct but still worth visiting https://mechanical-sympathy.blogspot.com/