Hi David,

Starting with IKVM; it is a very great tool. It can be used in many cases
where .NET version is not available.
But;

* Remoting objects is somehow problematic unless both server(where
lucene.java resides) and client are written
in Java and then converted to .NET (or unless they are written by using Java
Libraries on IKVM framework).
[for ex,
        IKVM converts  RemoteSearchable class as
                public class RemoteSearchable : UnicastRemoteObject,
Searchable, Remote
        where is should be 
                public class RemoteSearchable : System.MarshalByRefObject,
Searchable
]


* IKVM forces to use the classes directly converted from java.
[for ex, java.io.Reader instead of System.IO.TextReader in Analyzer]
This limits the flexibility of the .NET programmer with the IKVM runtime
environment. (or he must develop
new libraries compatible with java).


Many more examples can be found where .NET programmer must first think its
java counterpart and then develop the
.NET version which , I think, is not acceptable as a pure .NET developer.
The same problems also exist with J# too. 



I think, this can be tought as developing user interfaces with Tcl/Tk.NET
libraries. They are good but not accepted as a
general GUI-framework in .NET world. Additionally, .NET programmer doesn't
have to know the java namespaces/classes
(provided by IKVM runtime or by others) to develop .NET code.


Lastly, I make changes in the Lucene.Net codes for some specific cases while
developing my projects. If I would use a tool like 
that then I would have to make these changes first in java version (where my
only trial is  a "Hello World" application).

So, I can try to interpret(understand) the Java code while porting the
Lucene, but I am not willing to use the java convention in
developing pure .NET codes.

DIGY







-----Original Message-----
From: David Smiley [mailto:[EMAIL PROTECTED] 
Sent: Monday, March 03, 2008 7:32 AM
To: lucene-net-user@incubator.apache.org
Subject: Why translated to C#? Doesn't the CLR avoid the need for ports?

Hi; I stumbled across Lucene.Net.  I'm a Java developer, not a C#/.Net dev.
I thought there is an option or two for Java programs to run on Microsoft's
cool Common-Language-Runtime.  If so, it seems to me quite odd that
Lucene.Net would need to be ported to another programming language.  Part of
the beauty of the CLR is that you don't need to do these sorts of things.
Because it's a common runtime and different languages can interoperate
(within reason).  Even though whatever Java implementation for the CLR isn't
a perfect replica of Sun's implementation and would necessitate some changes
to Lucene, it's hard for me to believe that doing a language port would make
more sense than working on those tweaks.  Please fill me in on the
rationale.  You might want to put the response in a FAQ somewhere.  The
website doesn't have one.

Thanks.

~ David Smiley

Reply via email to