xvedejas wrote:
In my opinion, code should be available. A bad coder will copy verbatim, a good coder might use the code but with modifications, and a great coder might just use the general idea. That, however, is up to the ability of the coder. Available code can be a use or detriment, but in either way it still ought to be available. I don't see a debate much beyond that.
And an amazing coder will come up with a better idea. But thats not likely.
Yes, we learn by copying. At first. But once we have the knowledge, and the ability to make our own decisions for design and implementation, then we should diverge from copying and use the basic idea and design. This will continue to the point where we can design and implement code based off of general ideas/specifications.
The difference between someone who will actually make it (not only in OSdev, but in anything) and someone who will fail is the willingness to take the hard road.
Code:
/-----Hard Road ---------\
------/-Easy Road-=|:( \-------------:)
The easy road will eventually end, because you will run out of things to copy, which will either force you to learn, or force you to give up. Even if you learn from this point, it will be harder, and less productive because you skipped steps.
If you don't start learning from your copying, and start making your own designs/implementations then you will fail. But once you learn the necessary info to start making your own programs, you must start to do that.
To summerize: You learn by copying in the early stages. And after that you don't copy. But the learning does not end once you start copying. So, no, you don't
only learn by copying, but there is a significant amount of it at the beginning.
-JL