[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: computer-go: Sharing Go modules
The amount of time I can continue to spend on this is running out after the
weekend. So I have to start thinking about what way would be the best to
make my modules available.
Dave Dyer and Chris Fant have expressed their doubts about the usefulness of
making these kind of shared modules. In a way I understand their point of
view perfectly well. When I started to make a Go program I had the same
attitude and I wouldn't do anything other than my way. Things have changed
since then however. Those were the days of the infancy of computer-Go. Today
there are a few well established programs which only make very slow
progress. Even for someone with many very good ideas to make a program that
can compete with these top programs takes many years of effort. And all
these years they go without the rewards the older programmers had in times
when even mediocre programs could make a significant amount of money through
prizes and software sales.
I don't see there's a lack of interest for go programming, but in order to
give it the boost I think it currently needs there has to be a means for
newcomers to be able to jump-start a Go project. Otherwise all the
enthusiasm of those new people will be absorbed by the trivial tasks and at
best after a few years of building the rudimentary beginnings of a Go
program they are lured away by well paid consultancy jobs (like me :-). Or
they just give up and start doing other exciting stuff.
The GNU Go project is one way to do this and I'm impressed with the progress
they made so far. But joining that project is not the same as trying to
build your own Go program based on your own principal ideas.
The modules I plan to make available are two tactical reading modules, an
influence module and a pattern-matcher. These are essential parts of a Go
program. Every single program worth something has these in one way or
another. And they have been made over and over again, which takes many
months of work each time. I have expressly designed them to be as
independent as possible from specific data defintions as possible. I don't
think that most of those who already started a Go program will suddenly
start using these modules in favour of the ones they made themselves. But I
have some small hope that some day there will be a few people with a few new
ideas who can use these basic building blocks to enable them to more quickly
get to test those ideas. And hopfully some more people will be contributing
a few more of those building blocks.
One of the things I also would like to see is that other people make their
influence modules in a similar fashion as I did, so that there come
available a choice of different ways of calculating influence that can be
plugged and played with.
I've got to stop this rant. Work to do. Some last thoughts: I probably
should look at the GPL to see under what conditions I should make my stuff
available, and any java2c compilers out there for those who can't bear to
use Java?
Mark