However, we are finding C++ an exceedingly frustrating language to work in. I won't go into the details here -- we don't need another language war -- but suffice it to say that it seems like we're spending a lot of time messing with details that aren't of interest for the research. Now that I've found that Java can have speed within a factor of 2 of C++, I'm thinking of going back to Java.

I have run over the years bug-statistics. At least in my code the error-rate is language independent. This holds even for Assembler and Hardware-Description languages. There are some typical errors one makes in one language which are not done in another one. But overall this has minor influence one the bug-statistic. The "real" source of bugs are exceptional cases and not well understood concepts or a new concept which does not fit to the initial design. E.g. there is hardly any chess programm which has no enpassant bug. C and Java are in my opinion almost the same languages. I think the error rate and nowadays also the speed is very close. Its just a matter of taste and not of any real advantage of one language. Concerning memory leaks I think one should avoid to allocate memory at all. This makes the programm faster and avoids memory leaks. E.g. Suzie has besides allocating the hashtable at startup no memory allocation. I had also a mixture of UCT with an static evaluation and even this version had not memory allocation. If one allocates dynamically memory, a memory leak is a sign of a flaw in the design. The Java garbagge collection avoids the crash. But this is no advantage, because the flaw is just hiden. The programm will also "eat up" memory in Java. A bug which lets the programm crash is a harmless bug. The really bad bugs never show up.

Chrilly

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to