Hacker News new | ask | show | jobs
by stared 1169 days ago
I keep seeing "how to learn X" and a series of tutorials, exercises, or courses. Maybe it's me, but each time I learned something, it was by doing projects. Usually, starting with modifying someone's code (while seeing a language for the first time) and then reading a tutorial to understand what's going on.

It gave two things - a context of an actual project (especially as usually ecosystem is more important, and tricky, than the language itself) and motivation. Otherwise, I either stop learning (which often is a good thing because it turns out I don't need this language or tech) or don't internalize the most important things.

3 comments

> projects

That's exactly what "Zero To Production" is about. Actually most of what makes Rust intro material good is that you are building things, not just going on about syntax and language particulars.

For example, "The Book" (what we call "The Rust Programming Language") ends with building a multi-threaded web-server.

The official Rust introduction is stellar! One concept at a time, clearly explained, with examples.

And, most importantly, it is complete. It starts with how to install it, and the installation actually works in a few lines of code. The authors put a lot of effort into the general onboarding user experience.

To me, it depends on how novel the thing is.

Coming from a C++ background, learning Python required a trial-and-error process similar to what you've described. However, learning Groovy while knowing Python and Java took only a single pass through the Groovy docs - just to figure out what exact elements of Python and Java has Groovy incorporated in what way.

In context of tutorials, a lot of people write them "for themselves" without realizing it - there's just too much implicit knowledge assumed. And it's hard work to expand on all of it, without going down the rabbit hole and ending up explaining the concept of Turing Machines.

I tend to agree. I'd also like to state for the younger crowd that mastering a language is no means a prerequisite for building a successful company.