[computer-go] Language War!
Peter Schay
pschay at gmail.com
Wed Aug 2 14:03:17 PDT 2006
How about a hybrid approach using Python for the majority of the code
and C for the performance-intensive parts (what game developers like
to call the "inner loop")?
Naturally, instead of python you could use Java or Ruby or whatever.
(And instead of C you could use C++)
Here's one interesting example:
http://drydock.python.net/crew/adjih/pousse/
With Python 2.5's new ctypes feature I believe you don't even need SWIG
anymore:
http://docs.python.org/dev/whatsnew/modules.html#SECTION0001410000000000000000
Combining a RAD language with C may require redesign of data
structures and interfaces but, as others have already suggested,
redesign is generally a good thing. Profiling is the way to decide
what, if anything, to rewrite C.
Pete
On 7/28/06, Peter Drake <drake at lclark.edu> wrote:
> I know where this thread is going, so I thought I'd get it out of the
> way and put it in the Subject: line.
>
> Here's the situation. Orego is now a relatively strong program,
> rapidly climbing the 9x9 ladder. Though knowledge-free, it can
> sometimes beat GNU Go. Our current algorithm uses a Monte Carlo
> approach similar to Coulom's "Crazy Stone".
>
> While we have a bunch of improvements to consider, the algorithm is
> so computationally intensive that the inefficiencies of Java are
> hurting us in both time and space. We're considering switching to C+
> +. None of us has extensive C++ experience, although we've all seen
> some C and one of us has done a lot of Objective C. (I've ordered a
> copy of Weiss' "C++ for Java Programmers".)
>
> Should we start from scratch or use parts of another open source
> program, such as GNU Go?
>
> Peter Drake
> Assistant Professor of Computer Science
> Lewis & Clark College
> http://www.lclark.edu/~drake/
>
>
> _______________________________________________
> computer-go mailing list
> computer-go at computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
More information about the computer-go
mailing list