You Don’t Learn to Ride a Bike by Reading a Textbook
blog.studentrnd.org
blog.studentrnd.org
For example, learning to ride a bike likely involves the cerebellum (the chunk way in the back, bottom). The cerebellum is involved in balance and coordination. (People who have damage to their cerebellum still have normal consciousness, but they become very un-coordinated and clumsy.) It's likely that you cannot just read a book and "download" that knowledge into the cerebellum. So skills requiring balance and coordination (riding a bicycle, swimming, sky-diving) must be learned by doing.
Compare that to knowledge that exists in our conscious minds. This knowledge likely exists in the neocortex. If we are conscious of the knowledge, then we likely can read a book and incorporate that knowledge into our own thoughts.
I suppose there are some professions that require a mix of skills. maeon3 brought up brain surgery. Surgeons read a lot of books, but they also practice their cutting skills on cadavers.
But overall, I agree with the concept behind studentrnd.org. "Doing things for yourself" is often a better way to learn. Plus, one of the points they make in this article: the first person to do something (invent the lightbulb, etc) didn't have anyone to learn from; they had to figure things out for themselves.
(Plus, I have my own personal biases: I'm sick of all the hand-holding that goes on in the modern world. Everyone has to take a class for anything, and time is always scheduled... whatever happened to just living your own life and trying things out for yourself? Build your own desk even though you could just buy one from the store... simply because it's fun to just do things for yourself... many people enjoy cooking their own food, etc...)
I could read a whole book about C and not be able to regurgitate any of it, or struggle with a sample application in C and learn the mechanics as I go, so that I get an actual working knowledge of it rather than something intangible.
For example, I'm in a class that is covering concurrency primitives. People understand them, kind of. They can trace a program, but they can't use them or explain where they'd use them. On the other hand I have a project making extensive use of them so I have an idea of how they're used and why they're useful and what they do... AND I also understand HOW they work.
Now which is more pracitcal? Exclusively self-taught? Exclusively book-taught? A mixture? The problem has probably more to do with CS curriculums in my opinion.
Programmers should do the same, whatever you do, keep doing trial and error, don't look at code written by the coding legends, don't know their names, don't go over their code, don't learn from them. Just fiddle about with your own programs, if it's good enough to know, you'll find out yourself.
The computer, however, doesn't care how inexperienced you are. You can screw up hundreds or thousands of times and it really doesn't matter. By the time you are old enough to enter the workforce where your work does start to matter, you will have the solid grasp necessary to do the work professionally.
that said edison was a douche and doesn't really fit into the comparison.