> Let me give you some advice about how to learn programming: > > 1. Read books about algorithms. I can recommend anything written by > Sedgewick. >
Wow, you have high standards. Sedwick's "Algorithms" is an important and required book for anyone doing programming, but I wouldn't suggest it for "learning programming". It's more of a reference book than a textbook. Also, Java. A better choice for the first book on the topic is [Jeff Erickson's brilliant "Algorithms"](https://jeffe.cs.illinois.edu/teaching/algorithms/#book) ( **free** and licensed under Creative Commons). It's much more engaging and is a gentler introduction. Even Skiena's "The Algorithm Design Manual" is, to be honest. Also, there's a reason Cormen's "Introduction to Algorithms" is so ubiquitous in CS curricula. As an aside, I remember some bright heads kept recommending TAOCP as _the_ book for learning programming. Man, it's a Bible, but you don't start learning to read with the Bible, unless you're _the type_.