Hacker News new | ask | show | jobs
by derefr 2858 days ago
I think there are two different definitions of "beginner" being used here.

1. Someone who has never programmed before, and is perhaps young. Someone who has to be guided. A novice.

2. Someone who is new to this particular language, but is experienced at programming generally; who is attempting to learn the language to use it "in anger" (i.e. with a specific goal in mind and a timeline for that goal); and who is willing to "do whatever it takes" to learn the skill. A journeyman beginning a new path.

A novice needs a definitive textbook. A journeyman-beginner, on the other hand, needs definitive primary sources, however scattered.

If you're a high-school student learning precalculus, what do you need? A math textbook.

If you're a post-graduate student learning some specific arcane sub-discipline of math to see whether it could be used to solve the novel problem you've decided to do your thesis on, what do you need? Primary sources. All the journal papers in that field you can get your hands on. There's no one textbook that could possibly help you; the only truth you will find is the truth "between the lines" of everything you read.