Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Creating a chess program!

Author: Adrien Regimbald

Date: 21:40:46 08/09/00

Go up one level in this thread


Hello,

>Good day everyone! Im wondering which platforms, or languages are good for
>learning to program, and or create a chess program?. I would also like to find a
>free download, but will but if needed.Just dont tell my wife! :> Thanks in
>advance! Robert


If you are on a *NIX platform, you already have all the tools you need in the
form of gcc and friends.

If you are on a Win32 platform, there are actually quite a large number of
choices as to what development tools to use, although they may take a bit of
work to find.

Here is a small list of the most popular ones which spring to mind (there are
surely many more):
- mingw32
- DJGPP
- cygnus port of gcc (known as cygwin)
- LCC
- Borland

I have used all of these except for the Borland compiler, and I will try to
comment on all of them for you:

mingw32 is a win32 port of the GNU gcc package - it is small, well documented,
stable and complete.  It has help files to help you get going with the compiler.
 I found this incredibly easy to use, but I also have a lot of experience with
development on *NIX with gcc and such, this may not be the case for you.
(A lot of people ask me for the URL to this, as it is not incredibly easy to
find on your own, look at:
http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/index.html
the pages are out of date, and perhaps the project isn't maintained anymore, but
I still use it and have never had a problem)

DJGPP is a DOS port of the GNU gcc package.  It is perhaps a bit easier to use
than mingw32, since you can DL a great variety of IDEs for it, but the fact that
it isn't win32 compatible makes it impossible to use with WinBoard, which is
something that you WILL be wanting.  DJGPP was my first compiler on a windows
system, and it served me well.

the Cygnus package is another win32 port of the gcc package, and a lot of people
swear by it.  However, I had problems too numerous to mention here in using it,
and the only thing I ever found useful about it were the non compiling utils
included (for the most part, a complete bash shell system).  I wouldn't
recommend this to someone starting out.

The LCC package was developed from scratch AFAIK, and it includes a development
IDE to make compilation easy.  I imagine this would be useful for someone
starting out in programming, but I didn't find the environment particularily to
my tastes (this is just a matter of style .. it is a good overall package).

The Borland package used to be a commercially made IDE for C/C++ development,
until it was made free for the DL.  I haven't used the product myself, but from
what I hear, Borland does a good job of its products, and I imagine this would
probably suit most people.


As to learning how to program by making a chess program:  I would urge caution
here - I learnt how to program myself by writing a chess program.  Writing a
chess program was my whole reason for learning how to program, and after reading
a few short lessons on the basics of C, I basically dived into writing Faile
immediately, and eventually bought a textbook for a C reference where I looked
things up as I needed them.  I don't want to discourage you, but I think I had a
fair bit of natural ability in this, otherwise I'd have failed miserably.  I
know some very experienced programmers who could never write a chess program if
their life depended on it, and I know some who've tried and failed at it.

I don't want to turn you off from computer chess programming - I just suggest
that you start out with something which is smaller and conceptually easy before
jumping into it.  Computer chess programming can be extremely frustrating (and I
mean REALLY REALLY REALLY frustrating :P .. not that there aren't rewards,
otherwise why would we do it, right? :) and could easily turn a person off from
computer chess if not programming altogether!

Anyhow, what I would recommend you do is to pick up one of the compilers I
mentioned above, and a tutorial online (there are many available, the Coronado
tutorials spring to mind, and are very good) and go through the lessons in them
and work on all the practice exercises.  After this, write some small programs
to get the hang of problem solving in programming - pick a simple, yet not
trivial, task for a program to do that doesn't require anything more than simple
text input/output, and write a program to do this.  Try a few such programs and
see how it goes.  If you are not turned off completely to programming at this
point, it's time for you to start looking for starters on computer chess
programming :)  I'm sure that if you were to ask in this forum when you were
ready, a number of people would be willing to help out.

Well, I wish you luck!


Regards,
Adrien.



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.