4 ms·
Is learning a language by book effective? Despite my efforts over the last ~25y, the only way I’ve learned is actually building crap software, and tuning it wit
by dfee 4y ago
Is learning a language by book effective? Despite my efforts over the last ~25y, the only way I’ve learned is actually building crap software, and tuning it with learnings from language-specific frameworks and API docs.
The books just collect dust - and yet, every few years I try this experiment again with the same result.
Kinda interesting aside: I’ve been told I write great code in a particular language, while eschewing near universal patterns - patterns I’d probably have picked up if I’d gotten to Chapter 3 of any of these books. (It’s hard to independently discover cargo cult habits).
My take on the question: no book necessary.
- rhizome31 4y agoI guess it depends on people. Books have been very useful companions for me over two decades. They help clarify and fill gaps in my knowledge. Hands-on experience comes first but books are a useful addition.
- spudlyo 4y agoFor some people, I assume it's effective, it's never been that way for me. I learned Python by writing Python code and reading the official Python docs and supplementing those docs with random blog posts and other Python sites. Folks who don't already have a number of programming languages under their belt may benefit more from a book perhaps.
- wrigby 4y agoI learned to program in my early teen years from books I checked out from the library, but since then didn't read a single programming book. Recently, I needed to ramp up quickly on an embedded C project (without any past MCU programming experience), and turned to a book for the first time in ~15 years. It was a refreshing experience - it was a short book, and I read it cover to cover over a weekend, but it really enabled me to be successful in the project I had to take on. I like to think of real-world experience as building a sponge: you fill in the areas that you need to as you go, creating a sparse structure of knowledge. This complements formal training (whether a book or a class) - I think of these more "complete" approaches as pouring water into the sponge. Having hands-on experience lets you take more advantage of a class or book, and the class or book fills in the gaps that you simply didn't have to learn as you built things.