On 16/12/11 04:47, Daniel Friesen wrote:
I know Java, PHP, JavaScript (ES5, Harmony/.next too), Ruby, Python, and Bash. I could even do Common Lisp. Lua too. I've looked at and used some of various sub-languages. Scala, Groovy, Traceur, Coffee Script, I suppose you could count Rhino too. ((If you want to get into the old stuff, I used a few types of BASIC and Game Maker Language when I was younger)) ((Oh right, I suppose technically I did use a bit of Objective-C when I was looking into iOS development))
I DON'T know C#.
C# is basically Microsoft's clone of Java, with a few minor details changed so that they can claim it is a new language. Brion worked in it a bit when we used Lucene.NET with Mono, he said it was so similar to Java that you could copy code from one to the other and it would usually work unmodified. I did a small patch to our Lucene.NET HTTP server, with only my Java skills to guide me, I didn't have any difficulties.
Of course the system libraries are different, but both are well-documented.
I recommend using Java over C# where possible, since familiarity with Java is more common among our core contributors. It shouldn't be difficult for someone who knows one of them to port code from the other.
-- Tim Starling