[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: computer-go: Languages for programming go are?



Hi,

I would say that the most important thing about writing the program is deciding what algorithms you need to solve the problem. And when you know that you choose the language most suitable for writing programs using the algorithms.

The problem with computer-go is that we don't know that 'magic algorithm' that 'solves' go. So it is hard to know the best language. If you construct your own. It need to be flexible to try different algorithms.

So my view of this is. Use a well known language. That is general. Which makes it possible to code different kinds of algorithms in. Then build your own flexible library/tool kit in that language. And then use that tool kit to test your algorithms.

Of curse a language/compiler that can optimize your code/data structure is a good thing. But I don't think that is the most important thing in finding ways to play better go.

Thanks for listening.
Jens Yllman

At 08:14 2000-12-25, you wrote:
Hi everyone.

As far as I know, most existing computer go programs are coded in C or C++. I hear that HandTalk is written in Assembler, bless its soul. I seem to remember hearing of a program written in LISP.

I have two questions for the members of this list.

1) What are the pluses and minuses of writing a go program in various existing computer languages?

2) If one were to imagine a new language, invented solely for the purpose of writing a great computer go system, what would its characteristics likely be? (Or would there be multiple new languages, for different parts of the problem?)

I am quite aware that coding in this language vs. that cannot alter the underlying computational complexity of a problem. But using different/new languages _can_ dramatically improve the productivity of a programmer, both quantitatively, by providing more efficient tools, and qualitatively, by changing the way he/she thinks about the problem.

Simply put, assume we are going to invent a language for writing go programs. What would that language be likely to look like? (And, once we know that, what if any are the challenges in writing a compiler for the language?).

Bob Myers
Intelligent Go Foundation