.NET code sharing: inspired by Ruby Gems

written by tobinharris on October 25th, 2008 @ 09:01 PM

I just blogged about the dire state of code sharing in .NET. The main reason I've noticed this is because I have a good reference for comparison - Ruby and Ruby Gems.

One thing I absolutely love about developing with Ruby is how easy it is to leverage other peoples work.

Say I'm writing a spam filter app, and I want Bayesian classification. I can get that functionality in seconds by doing this:

gem install bishop

That downloads the latest version of the bishop bayesian classification library to my local machine. It fetches it from a central server with 1000's of reusable libraries (Rails included). Any applications I write can now make use of Bishop by adding a include statement in the source code.

require 'bishop'

I then just start writing code that uses Bishop.

Even better, next time the developers of Bishop do some funky updates that I want to make use of, I can simply do this to get the latest:

gem update bishop

And I've got the latest on my machine (I can also work with the older versions too, it's my choice)

This is all very good stuff. I'd be interested to hear how we might get this kind of thing in the .NET arena.



kick it on DotNetKicks.com



Comments

  • Amre Ellafi on 25 Oct 23:49

    great idea ! i think it would something like a global assembly cache (GAC) but this time literally ! we can using/import namespace from the outside world (not limited to the local server/machine)

  • Fabrice on 26 Oct 07:08

    I created something like this for .NET for a client some time ago. It even comes with a VS add-in. I’d be happy to share ideas around this.

  • Tobin Harris on 26 Oct 17:36

    Hey Fabrice,

    Would be interesting to hear your ideas about this, for sure. Drop me an email, or post up here?

  • Guillermo Guerini on 27 Oct 09:26

    It’s a great idea. I am in!! Send me an email. We can create a group with interested people to talk and discuss more about it.

    See ya

  • Paul on 27 Oct 09:46

    Great idea, keep me in a loop please.

  • redsolo on 27 Oct 14:39

    Check out NMaven, they are creating a .NET counter part for Maven that works very fine.

  • Tobin Harris on 28 Oct 02:24

    I couldn’t see the relevance (maybe I’m blind!). Isn’t Maven an ant-like build tool? I did find some dependency management stuff in there, which could be handy.

  • mycall on 11 Nov 11:30

    Great idea.. Perl has CPAN..

    I found a few other projects of simpler nature:

    http://www.codeproject.com/KB/applications/codebank.aspx http://foodformonkeys.blogspot.com/2007/06/mono-gems.html

    online code snippets: http://snippets.dzone.com/ http://gotcodesnippets.com/

  • Tobin Harris on 11 Nov 23:04

    Thanks for the feedback folks, there’s a few of us throwing ideas around right now, and we’d like to get more folks giving input very soon, so we’ll be in touch…

    @mycall – interesting links. Especially the mono-gems one. Shame nothing came of it.

Post a comment

Options:

Size

Colors