I see that there are a lot of different perspectives on this. Another (the one I have to contend with) is that Microsoft Visual Studio is the only development platform environment I am allowed to use. If I wish to incorporate Lucene, I have to use a port to one of the languages that MSVS supports, preferably C#.
For my projects, I doubt I would have been able to (allowed to) use Lucene if it were implemented using any of these techniques mentioned. A side benefit of working with the C# port is that when I encounter an error, an exception thrown from within Lucene.NET, with the visual debugger I can seamlessly trace from the top-level UI down through the underling layers (my code) down to the specific line within Lucene that encountered the problem. -- Neal
