Computer Chess Club Archives




Subject: Re: Bionic v Crafty - a possible solution

Author: Robert Hyatt

Date: 06:33:36 01/26/99

Go up one level in this thread

On January 25, 1999 at 21:31:26, Ren Wu wrote:

>On January 25, 1999 at 19:39:22, James Long wrote:
>>Why do you oppose open source?  Because you don't want to see
>>a fellow programmer get robbed, or because that's just one more
>>program that's better than yours?  Again, it's a double edged
>Ok, let me tell you a well-known chinese story (and sorry for my english if i
>can't state it right, but you can get the idea):
>A young man went to another country, and he was amazed by the walking style of
>the people in this country. So he tried very hard to learn walking like that.
>But he didn't get it very well. Even worse, when he backed home country, he
>already forgot his own style of walking, and couldn't walk anymore.
>This is to say, sometime it is not a good idea for a beginner to learn something
>he is not ready to learn. And this is the case of crafty source.
>When I started programming in China back to 17 years ago, there are very few, if
>any, source code available. And I have to write everything myself. But I never
>regret that, I know at that time my code is just like junk compare with the
>master's. But it does give me the *best* trainning possible. I firmly believe
>that one learn programming by progrmaming, instead by looking.
>When I first come to US and worked for a OCR project in 1990, I have a surprise
>discovey that when we faced a programming task, our fellow programmer from US is
>always get something close and modify it to make it work, and the fellow
>programmers from China, include myslef, is usually just do a brief topdown
>design and start programming. Hard to say which is faster/better. But I
>convinced one thing, that is too much source code can kill one's creativity.

This is a basic tenet of software engineering called 'code reuse'.  Why should
I pay you to write something from scratch and take a year, if you can take
something that exists and modify it to do the same thing in a month?  And then
I don't have as much trouble debugging and testing, since it is mostly already

that's not a bad side to this...  Of course occasionally starting over is a good
thing.  But not starting from 'scratch'.  IE if you don't know what has already
been tried, you will re-invent the same bad wheels over and over and probably
follow the same footsteps many before you did... software engineering wants to
avoid that 'reinvention' problem...

>I believe that is also the case of crafty, a new chess programmer will get
>bounded by crafty's source code. Few can ever breakup from it, and having their
>own ideas.
>Of course i did looked crafty's source code. But I have to said for me the most
>important file is main.c, i can spend 1 minutes there and instant know what Bob
>has done in his new version. Also for me, bob's post is a lot more useful than
>the source code. He is a master of explaining things.

that's the purpose of main.c... but I get about 1 email every 2 months asking
'how do I make the "null-move search" work?'... I can direct them to the top
of search.c where I do that stuff in about 10 lines and I always get back "aha,
simple once I see the code.  the explanation is much more complex to follow."
So the source code can help in many cases...  ie 'how do you handle draws by
repetition?'  That is easy to see in search.c too, as is 'how / where do you
probe the hash table and how do you use the results?'

>My program is not based on anyone's. At my early days of chess programming, Tony
>Marsland's excellent paper is always the best source. and of course others like
>Don Beal, Jonathen Schaeffe, David Levy. Bob and Bruce's posts at rgcc and ccc
>is also very good too. I think those are far better for a beginners.
>And don't think that my program is weak too. It (my chess porgram) had neck to
>neck performance compared with any top pc program back to 2 years ago. My
>chinese chess program has been the world strongest for quite a long time.
>maybe you are interested in know more about me from here
>>I, for one, am eternally grateful to those who have provided source.
>>I think it takes a lot of "unselfishness."  Hopefully one day
>>I will come up with an idea or two that will benefit others.
>>If I do, I'll return the favor.
>And post you ideas here will benefit even more people, include me.
>>Just my two cents...

This page took 0.04 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.