8 ms·
having sources of important systems widely (and publicly!) available as "common goods" would be a very good idea for people to learn and read what has been done
by sb 17y ago
having sources of important systems widely (and publicly!) available as "common goods" would be a very good idea for people to learn and read what has been done in the past and how they did it.
it is admittedly very difficult to effectively grasp what has been done more than 25 years ago (even from research papers), i.e., it is hard to deduce from the papers only how APL was implemented or what boyer-moore implemented (heck, douglas comer even has a joke on "critizing" theoretical work by mentioning work by hartmanis)
EDIT: on further reflection, i think that without such an archive, there is no way around "those who do not understand history, are doomed to repeat it." which is particularly sad, since in computer science we do not face many physical problems from conservation science...
- jacquesm 17y agoThis is the main reason for so many people being busy with re-inventing the wheel. To some extent that's the programmers mentality of 'I can do that better', but plenty of times it actually isn't better and the 'oldies' got it solved quite nicely. The one thing that came by recently where I thought that there actually was something new happening was the thread on improving on quicksort (I can't seem to find the thread :( ). Another instance that comes to mind is the ever improving compression ratio of lossless compressors, just when you thought the lemon was really empty someone comes up with something extremely clever.
- bad_user 17y ago> This is the main reason for so many people being busy with re-inventing the wheel. I don't know about other people, but I'm reinventing the wheel to learn better. An algorithm you reinvented only to discover a better version later will stick to your head. And it's also fun doing it. Also, a library or a tool you "reinvent" is many times better for your needs considering that assembling software pieces is not actually like putting together Lego blocks (although corporates are still trying). Quicksort reinvention is also useful, because that standard qsort you've got laying around there might not behave as you expect (like glib's qsort that uses merge-sort instead) or it might not be optimized for your datasets (because you know, depending on the partitioning function you might end up in the worst-case scenario quite a lot).
- jacquesm 17y ago> I don't know about other people, but I'm reinventing the wheel to learn better. That's an excellent reason for doing so. But the GGPs point was I think people reinventing the wheel simply because they are not aware of what was done in the past. > An algorithm you reinvented only to discover a better version later will stick to your head. And it's also fun doing it. That's very true. I played around with clustering for a while, then decided to get serious about it which means downloading and studying all the papers that I can find in open access journals or on websites of the authors. That way you get the best of both worlds, first you gain the experience of doing it yourself and appreciating the problems of that particular domain, then you get to see how others dealt with those problems.