Teach Yourself Programming in Ten Years (1998)
>> Learn at least a half dozen programming languages<p>I'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.<p>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).<p>There's some blogs continually give me good food for thought in this space, all signal no noise:<p>Eli Bendersky, (every language under the sun) e.g. <a href="https://eli.thegreenplace.net/2016/the-expression-problem-and-its-solutions/" rel="nofollow">https://eli.thegreenplace.net/2016/the-expression-problem-an...</a><p>Fasterthanli.me (Go, Rust, others) e.g. <a href="https://fasterthanli.me/articles/so-you-want-to-live-reload-rust" rel="nofollow">https://fasterthanli.me/articles/so-you-want-to-live-reload-...</a><p>Mechanical Sympathy (Java), defunct but still worth visiting <a href="https://mechanical-sympathy.blogspot.com/" rel="nofollow">https://mechanical-sympathy.blogspot.com/</a>