Monday, April 11, 2005

Preamble: 100% and 80% solutions

Olin Shivers makes some good points about doing the right thing and doing a complete job first time:
.
So I sat down to do a careful, 100% job -- I wanted to cover everything in section 2 of the Unix man pages, in a manner that was harmonious with the deep structures of the Scheme language. As a design task, it was a tremendous amount of work, taking several years, and multiple revisions. But now it's done. Scsh's socket code, for instance, *completely* implements the socket API


I guess the 100% goes hand in hand with many 80% solutions, because one of the benefits of Open Source is that people can see other peoples work, the community can see the efforts and evolution of requirements and solutions. A proper 100% job can really only be done in hind sight, otherwise there is a lot of complete solutions but also a lot of wasted time and effort. However, the benefit of what is learned in doing such a 100% job, at whatever stage in the solution life cycle, will never be lost!

No comments: