To make it clear - I want a .Net idiomatic API as the only API. I've got experience with both kinds of APIs - strict transliterated from Java and translated from Java to .Net. For me, the choice is pretty clear - the latter has the advantage when it comes to long-term maintenance and support from .Net developers.
Is working on the transliterated API (meaning the line-by-line copy) a pleasant experience for anyone with .Net competency? The largest Java-.Net project I've worked on to learn the API for and then contribute to is NHibernate. The API there is fairly natural since it relies on .Net idioms - naming, type arrangements, generic collections, and base type expectations. It's easy to use the tools I'm familiar with to navigate. Things are like I might expect them to be without imposing a cognative burden. Lucene is not like this. I have to struggle to think about the API - it's not a huge struggle, but reading code is hard and the burden is taxing since the library is large. This is an important matter since the community we want to encourage is comprised of developers who think a lot like other .Net developers. I'm not sure its useful to diverge these the two perspectives of developer and community builder too far or in isolation. I've been watching and experimenting with Lucene and then Lucene.Net for years. I've attempted to use Lucene.Net on a number of projects but it's been dropped for various reasons, but one of them was consistently the API is strange from a .Net developer perspective. I've attempted to contribute to it in the past as well, but it was hard since the natural flow of coding in C# is broken up. When I heard that Lucene.Net was close to going into the Attic and that I finally managed to use it in an economically beneficial way on a project, I resolved to contribute to it. I want this contribution to be enjoyable as well as valuable, otherwise I know I'll just stop contributing after a short while because it's not meeting both my developer needs (fun and useful). It won't be conscious, but it will happen. We see this sort of thing on OSS projects frequently for various reasons, but if the coding is an enjoyable experience for .Net developers I imagine it will be easier to keep and recruit new community members over a long project life. -r I On Thu, Dec 29, 2011 at 6:18 PM, Prescott Nasser <geobmx...@hotmail.com>wrote: > > Someone has to take a stand and call out what they prefer -