On Fri, Jan 14, 2011 at 9:36 AM, Charles Oliver Nutter
<headius / headius.com> wrote:
> I wish I would have been more active on ruby-core when the decision
> was made to add gem_prelude, because I would have argued strongly
> against it. I think Ruby's users would be best served by returning
> RubyGems to an opt-in and eliminating gem_prelude altogether.

It's also worth pointing out the namespace and loaded-feature
pollution that comes with loading RubyGems whole at startup:


~ ruby -e 'puts ObjectSpace.each_object(Class).to_a.size; p $"'
183
["enumerator.so",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/x86_64-darwin10.4.0/enc/encdb.bundle",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/x86_64-darwin10.4.0/enc/trans/transdb.bundle"]

~  ruby -e 'Gem::QuickLoader.load_full_rubygems_library; puts
ObjectSpace.each_object(Class).to_a.size; p $"'
224
["enumerator.so",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/x86_64-darwin10.4.0/enc/encdb.bundle",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/x86_64-darwin10.4.0/enc/trans/transdb.bundle",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/defaults.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/thread.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/x86_64-darwin10.4.0/etc.bundle",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/x86_64-darwin10.4.0/rbconfig.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/exceptions.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/version.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/requirement.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/dependency.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/gem_path_searcher.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/user_interaction.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/platform.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/specification.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/source_index.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/builder.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/config_file.rb",
"/Users/headius/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb"]

Some of this is improved in RG 1.4, however.

- Charlie