Ayende @ Rahien

Refunds available at head office

The down side of porting

I got to this code as a result of a profiling session (shown below):

image

And here is how I got there:

 

image

Well, the fun part is that by the time I found it, it got fixed :-)

Comments

Demis Bellot
05/26/2010 09:38 AM by
Demis Bellot

Well that and the fact that the API needs to cater for Java's restrictive language features. I find a Java port to be less enjoyable to work with than a first-class C# API without the imposed legacy API.

Grimace of Despair
05/26/2010 10:48 AM by
Grimace of Despair

@Demis, OTOH: I favor a succesful Java port, backed by a large community, over a crippled C# implementation with a much smaller one. Lucene.NET wouldn't have been where it is without the plain Lucene. I think opportunity cost is the keyword on this.

Demis Bellot
05/26/2010 11:42 AM by
Demis Bellot

@Grimace

If they were the only 2 options, then sure I'd go with something that works and has an active community over one that doesn't any day.

At the same time I would go with a LINQ API over anything that came before it. Comparing LINQ vs the alternates is a good case of how deficiencies in a language effects the expressiveness of an API.

C#/.NET's biggest problem is that it was conceived by Microsoft, that's not to say that Microsoft hasn't done an amazing job, they have its just that most open source developers wont want to touch it with a 10 foot pole. Also I believe some extremists don't want to admit that Microsoft is able to produce superior technology and will choose to believe that the free world always has better tech.

The C#/.NET world and prospective community is still hurting over Ballmers comments of yester-year calling Linux a cancer and threatening that Linux invalidates hundreds of their 'un-disclosed' patents - it's no wonder no one wants to touch tainted technology.

Anyway that's why I like the Mono community, they've evaluated everything out there, dispelled all FUD and chose to implement C# language and .NET Framework from the published open specifications because they think it is the most superior technology available. If we can we should give them all the support that we can as they in turn barrack for a more open C# / .NET and have got Microsoft to publish some open promises:

http://www.microsoft.com/interop/osp/default.mspx

This goes some way to repairing the damage of the past and a more open C# / .NET will I believe lead to a more open and vibrant community. This is one of the reasons why I try to ensure all my software is open source and that it works well on Mono. I hope everyone else does the same.

Frank Quednau
05/26/2010 12:02 PM by
Frank Quednau

@Demis

mono support is pretty much the only thing that makes me consider using rake for builds.

Demis Bellot
05/26/2010 12:08 PM by
Demis Bellot

@Frank Quednau

Ok Kool, I've never even thought to use Rake as I've always found Nant suitable. But yeah there is definitely room for improvement over an XML language so might be worth a look for my next project :)

Comments have been closed on this topic.