The easiest way to pick up a new language is to just build something in it. I'd like to learn Python because there are some things I want to do with it, but those projects are well out of reach of "just learning". Unfortunately I have nothing low level that I have any desire or motivation to build, so keep putting it off.<p>How have any of you solved this problem in the past?
<i>”The easiest way to pick up a new language is to just build something in it.“</i><p>That’s an opinion. If you build something, chances are you only learn part of the language, and you also have to learn part of its libraries and build system. For some languages, you’ll also spend significant time setting up a programming environment.<p>I prefer learning languages by reading the language spec (many languages start out with a fairly loose one) or the ‘authoritative’ text from its creator(s). It has to be halfway decent for that to be good, but that frequently is the case.<p>(The Python language spec is only 160-ish pages, for example, 140-ish if you skip index)<p>Examples of texts that I found good when I read them, some over 10 years ago: Stroustrup’s books on C++, the C# spec, Apple’s “the Swift programming language”, Odersky’s book on Scala (the spec, IMHO, is not good for learning the language)<p>Note that these books vary widely in their level of detail. I don’t think that matters much.<p>I also think reading the docs of the entire standard library (not necessarily in full detail, depending on the level of detail in the text) is a better way to learn the library than googling around for answers. It gives you better answers, and, eventually, it takes you less time.
I found this cli weather app written in python to be small enough that you might be able to figure it out, and it’s basic enough that you can probably imagine features to add. <a href="https://github.com/JasonMFry/weather-cli" rel="nofollow">https://github.com/JasonMFry/weather-cli</a>