From: Colin Steele Date: 2001-05-11T23:22:40+09:00 Subject: [ruby-talk:15000] Re: An Attempt at Versioning The more I noodle on this issue, the more important it seems to me. Some of the issues we've all heard about (if not experienced) with "DLL Hell" are shared with Ruby libraries, including: * maintaining multiple compatible versions of a library on a system * maintaining multiple INcompatible versions of a library on a system * straightforward tools and APIs for installation and administration of multiple library versions * straightforward API for selection of library version for use in a Ruby program * simple and intuitive tools for developers to use to enable all of the above... as we know, not all developers bothered to include version resources in their Windows DLLs, or if they did, to they were often wrong * creating impenetrable separation between interface and implementation Thankfully, some of the traditional problems are ones we don't have to deal with (yet?): * code incompatibility at the binary level - - - - - To a lesser extent, some these same issues crop up with shared libraries on unix systems. One might argue that some of these issues aren't applicable to Ruby. (For instance, binary compatibility.) That's an open debate I think we should have. However, I hope we don't lose sight of the fact that a) overall, library versioning is a critical need, and b) there are historical attempts to solve this problem in other contexts that may provide valuable lessons for us. -- Colin Steele colin@webg2.com / www.colinsteele.org / www.rubycookbook.org From "The Hacker's Dictionary": disk farm: n. (also {laundromat}) A large room or rooms filled with disk drives (esp. {washing machine}s).