From: John Carter Date: 2001-08-30T08:13:51+09:00 Subject: [ruby-talk:20558] Re: A plea for CPAN in Ruby - NO Please! On Wed, 29 Aug 2001, Avdi B.Grimm wrote: > Bring CPAN to Ruby!!! Hmm, that was my cry at first, but it is fading... Why... - CPAN is a tangled web. Start sucking on one end and you can be installing and sucking for days, only to die on the rocky shores of mutually exclusive version dependencies. It was an excellent idea when it was smaller. Now it is a just plain bad idea. The "Bundles" are a much better idea. ie. I wish that all the important items in the whole RAA were in two or three big Bundles. (ie. If practically anything else depends on module A, module A is in one of the Bundles.) - CPAN is big. The modules are big. They are hairy. They have grown and have backward compatibility hooks and on average their OOP design is horrible. Ugly. Ugly. Ugly. Using them is Ugly. Learning them is Ugly. I would rather the effort be put into working out what functionality in CPAN is really useful and re-implementing it properly/neatly in Ruby. - Versioning. Version dependency hell is the death of reusable software. Solution Major/Minor version numbers. If the Major number moves, an API change has occured. Upgrades overwrite previous versions having the same major version number, but leave versions have a different version number. Require's should be able to specify a major version number or version number range... (posibly open ended). John Carter Phone : (64)(3) 358 6639 Tait Electronics Fax : (64)(3) 359 4632 PO Box 1645 Christchurch Email : john.carter@tait.co.nz New Zealand I'm becoming less and less convinced of humans as rational beings. I suspect we are merely meme collectors, and the reason meme is only kept on to help count our change.