Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: To Vasik - What is the progress of MP Rybka ?

Author: James Swafford

Date: 10:08:00 01/21/06

Go up one level in this thread


On January 20, 2006 at 17:10:56, Dann Corbit wrote:

>On January 20, 2006 at 14:31:52, Tord Romstad wrote:
>
>>On January 20, 2006 at 13:45:36, James Swafford wrote:
>>
>>>On January 20, 2006 at 04:59:11, Tord Romstad wrote:
>>>
>>>>In case it is not clear:  I have no plans of ever writing a parallel version
>>>>of Glaurung 1.x.  My current code base has grown too big, ugly and unwieldy,
>>>>and a major rewrite is long overdue.
>>>>
>>>
>>>Already?  Didn't you just rewrite Gothmog -> Glaurung about a year ago?
>>
>>About 18-20 months ago, IIRC.  I'm an awful C programmer, and my code
>>deteriorates alarmingly quickly when I hack on it for a long time.  If I
>>continue
>>doing chess programming, I'll probably have to keep doing complete rewrites
>>every couple of years or so.
>>
>>The current rewrite cannot be compared to the Gothmog -> Glaurung
>>transition, by the way.  Gothmog and Glaurung are two rather different
>>programs.  Glaurung 2 will be very similar to Glaurung 1, just cleaner,
>>more compact, and probably with SMP support.
>
>I think that Tord's approach is absolutely fantastic.
>It's just that most of us are too lazy to do it that way.
>Clearly, it is better than patching the old stuff up.


I read this last night and have been thinking about it.  Two or three
months ago I decided to rewrite Prophet.  I started Prophet in March
2000 as a rewrite of Tristram.  Prophet was purely C at first, but
has slowly become some weird (C++)- mess.  My coding style (and I like
to think my ability) has changed quite a lot over the last several years.
Since starting Prophet I have started and finished a CS degree and
have been working as a professional Java programmer for a couple of
years.

However, my opinion is that the fact I have to do yet another rewrite
is a reflection of Prophet's poor design.  It's not easy enough to
modify things... the code isn't as robust as it should be.  With a good
OO design, that might not necessarily be the case.  I think it's
much harder to make robust code in C than C++ (insert flame war here).

Further, I can't imagine authors of more sophisticated engines
(particularly those with multiprocessor capabilities) would be very
eager to rewrite from scratch every couple of years.

Hopefully this time I "get it right".  Chances are I'll be starting a
rewrite in a few years. :)  But, I'd like to think at some point it
wouldn't be necessary for reasons other than laziness.  I'd like to
think at some point the code is simply pretty good, or at least robust
enough to try different things without starting from scratch.

--
James



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

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