tag:blogger.com,1999:blog-25922407.post8618448661940268770..comments2024-03-25T22:12:49.064-07:00Comments on Gerald Weinberg's Secrets of Writing and Consulting: Disposable ProgramsGerald M. Weinberghttp://www.blogger.com/profile/05902673055244863609noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-25922407.post-47113456047201356372011-12-01T08:20:44.478-08:002011-12-01T08:20:44.478-08:00Hi Jerry,
Why we keep programs (that we indeed s...Hi Jerry, <br /><br />Why we keep programs (that we indeed should dispose of)? Reasons that I hear:<br />- We are afraid to throw something away, we might need later<br />- We don't like decisions, and it's easier ton non-decide (and to keep it) then to decide to throw it away<br />- We've spend so much time, we don't want to lose our investment<br />- We can always improve it later, lets keep it for now<br /><br />Most people <a href="http://www.benlinders.com/2010/decisions-bloody-decisions/" rel="nofollow">hate taking decisions</a>, and have worries that they take the wrong decisions. This is in my opinion one of the root cause we have so much horible software, that should have been disposed. <br /><br />I've had occasions where I lost a program, or a piece of documentation, a blog text or a presentation by accident. I didn't feel good when it happened, and I tried to get it back. Finally I gave up and rewrote it. The second version has always been better, and it took only a small amount of time to create it. Why? Because the thinking to create the first version was most of the work. The creativity took most of the time, typing it didn't take much. And when I re-create it, I often get new insights which make it better.<br /><br />So, I fully agree. When you want to keep something, throw it away. If it really feels as a loss, re-create it and you will have a better version. If it doesn't feel that you lost something, then there is no problem anyway, so you did the right thing to throw it away.Ben Lindershttps://www.blogger.com/profile/07037592785355320681noreply@blogger.comtag:blogger.com,1999:blog-25922407.post-55548673487241679122011-11-30T21:28:34.446-08:002011-11-30T21:28:34.446-08:00Hi Smooge,
You really bring back memories. Just on...Hi Smooge,<br />You really bring back memories. Just one example you'll recognize. We had a program on the IBM 650 (whose main memory was a drum!). The engineers liked it, so it was run on a 650 emulator on the IBM 704. Then the 704's 650 emulator was ported to a 704 emulator on a 7090, which was then emulated on a STRETCH computer.<br /><br />I don't know if it was carried any further, but though the STRETCH was then the world's fastest computer, the program ran slower than it did on the original 650.<br /><br />I suspect it didn't go further because any slower and it wouldn't have been usable. There's some doubt whether it was usable even on the original 650.Gerald M. Weinberghttps://www.blogger.com/profile/05902673055244863609noreply@blogger.comtag:blogger.com,1999:blog-25922407.post-73554251060632739822011-11-30T16:52:55.213-08:002011-11-30T16:52:55.213-08:00I find that I end up being a horrible packrat with...I find that I end up being a horrible packrat with code. If I can keep it, I do.. because every time I don't I end up needing it sometime later and having to cobble the solution from first principles again. <br /><br />This of course means I have a morass of old emails, data, and other cruft on my backup systems I will probably never look at again. But every now and then I find myself having to figure out how some old relic computer was fixed by someone else and relaying that knowledge to someone new.. at which point a large 'find . -type f -print0 | xargs grep -l "SPEW"' occurs. I am glad data is so much easier to store, because I hate keeping papers around that long.<br /><br />On the flip side I realize that certain programs really outlive their usefulness. At a former workplace, I had the lovely task of getting a specialized editor that had originally been used on some CDC monstrosity of the 1960's. Written in Fortran IV it had been ported/patched/punted along from PDP->Cray->SGI->Digital OSF/1 and finally to Linux. It was kept because its interface was well known by the old guard, and taught to various generations since then. Re-implementations usually failed due to the idea that it was always faster and cheaper to port it one more time than rewrite it. It was a mess of code which made Emacs look simple.. sadly I got reassigned after I got it to compile and some poor grad student had to spend their next year fixing it.Stephen Smoogenhttps://www.blogger.com/profile/17026786034163911165noreply@blogger.com