I would like to offer a bit of perspective on why (IMHO) the Lucene.Net
project has struggled. I am a former committer on Lucene.Net from years ago,
and my participation fell off mostly due to the chosen strategy in
maintaining a port of the Java-based Lucene library.

At the time I was a committer, .Net 2.0 had just been released (within 3
months, if I recall). In discussion among the community, I was an advocate
for moving the Lucene.Net codebase to a more .Net-centric implementation. C#
2.0 had many improvements over the 1.1 version (i.e. generics), and I wanted
our project to take advantage of those improvements.

The discussion over future direction was more about logistics than
philosophy. Community members who advocated against a .Net-optimized basis
argued that keeping the Lucene.Net codebase on par line-by-line with the
Java-based project would facilitate easier maintenance of the codebase over
time; as the Java version received improvements, one could implement the
same in C#, and the project would benefit all the same. There is some merit
to the point from a theoretical standpoint, but in practicality it didn't
hold true. While the Java-based version went down a path, the C# version
continued to struggle to keep up.

The philosophical discussion is important to consider: if the only purpose
of the Lucene.Net codebase is to mirror the original Java-based version,
what's the point of maintaining a replica? The best-case scenario is the
introduction of unnecessary bugs in the ported codebase due to translation
of the Java-based original files. This grows in significance over time as
Java and C# become quite different languages with different runtime
characteristics.

At this stage, I would argue that mirroring the Java-based version in C#
line-by-line carries more risk than it does benefit. And because of the
current approach, the project is held back from community participation.

Jeff Rodenburg
Seattle, WA





-----Original Message-----
From: Simone Chiaretta [mailto:simone.chiare...@gmail.com] 
Sent: Monday, November 01, 2010 10:10 AM
To: lucene-net-user@lucene.apache.org
Subject: Re: Lucene.NET Community Status

> Why cannot we make a .NET version of Lucene that really follows the idioms
of .NET (properties, generics, maybe even Linq)?

-- 
Simone Chiaretta
Microsoft MVP ASP.NET - ASPInsider
Blog: http://codeclimber.net.nz
RSS: http://feeds2.feedburner.com/codeclimber
twitter: @simonech

Any sufficiently advanced technology is indistinguishable from magic
"Life is short, play hard"

Reply via email to