My point is that learning to use something by implementing
it yourself only works in a limited amount of cases. Only if
reimplementation takes about the same effort as learning it
in another way, it's efficient enough to do. So, it works for
simple, small things, like most of the CPAN modules. But it's
rather inefficient for things like Tk, perl, relational databases, operating systems, driving a car, learning a language or operating
a television. And sometimes, it's even impossible. Surgeons
don't learn their trade by reinventing the human heart.
I'd say that when it's efficient to learn something by implementing it yourself is relatively rare.
Abigail