in reply to Reinvent the wheel!

It's been a tried and true method of most of the CIS classes that I took (and the one that I taught). Your profs aren't asking you to write an implementation of a linked list because they're hoping that their undergrads are going to discover some breakthrough in the application of the language, after all.

I daresay though that Perl might not be the place for you to start, depending on what you want to learn. Like you, I started out in C, stuck with it a bit, and then moved on to Java before I started to touch Perl, Python, PHP, &c. It provides you with a solid foundation in the way memory management works, and if nothing else will lead you to respect what Perl and its cousins can do more.

So by all means, reinvent the wheel when you have the luxury of doing so. It's a great way to learn the trade. The principle of NOT reinventing the wheel applies mostly when you're more concerned with *getting* something to work than with understanding the process of how it works.


Replies are listed 'Best First'.
Re^2: Reinvent the wheel!
by telemachus (Friar) on Mar 21, 2009 at 16:34 UTC

    Thanks for the encouragement. I suppose I should have said that not reinventing the wheel makes perfect sense for knowledgeable programmers who are trying to get work done in real time. But I also see this advice all the time given to beginners (in beginner's books, in tutorials for newbies, etc.). That's the context I had in mind above.

    As for other languages, I was planning to work through SICP this summer. From what I can tell, it is an outstanding introduction to programming full stop.