On Tue, 2008-11-04 at 07:43 +0100, Heikki Levanto wrote: > My personal preference might be C, but at > work I have to learn more Java... Anyway, I don't want to start a > language > war here, not again...
Oh, you want a war :-) Seriously, Java has it's place but if you really get serious about developing the highest performance strong playing bot I think you pretty much are forced into a low level language. I see only a very few reasonable choices if you want to go that way: C or C++ Assembly D These are all languages that are low level and you could write an operating system in. From my experience it seems like that is the best "litmus test" for what you could use for a top level game playing program. There are few languages other than these that offer reasonable performance, not worse than 2X slower than C, but they tend to be memory hogs. Java is one of them. I cannot imagine every seeing a top chess program written in Java, or anything that is really memory intensive as good GO program tend to be. Is any of the 2200+ GO programs on CGOS written in anything other than C? There are also a few language that perhaps could be added to the above list but need some more evaluation. Recently I looked at VALA, a Java/C# lookalike that is more memory efficient and compiles via C to native code. It is supposedly much more memory efficient than Java and seems to have Java-like speed. I wrote one of the reference bot's in this language but that is not a high performance bot. There are some other high level languages that could be interesting that are designed to pass the "litmus test" of being powerful enough to write operating systems in: Lissac Bitc Ats From what I can see, nothing is happening recently with Lissac, perhaps it's dead? It was designed to write an OS in and it's higher level than C and even gets a higher score in performance than C in the Computer Language Benchmarks Game. It appears to be buggy, incomplete and I see no activity. It's a shame, it looked really promising. I'm probably missing some languages. I think there is a really fast native code Pascal compiler that is very C-Like in performance and you could write a high performance chess or GO program in it that is close to C performance and efficient memory use. Just being able to compile to native code doesn't necessarily make it a candidate. It seems that you need to have great control over how memory is layed out and used and the ability to do pointer-like things. Am I being too critical of languages? I cannot find anything that beats C (other that perhaps assembly, and I did once write a chess program using an assembler.) - Don
signature.asc
Description: This is a digitally signed message part
_______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/