I was curious about the fuss over Fruit...
Posted: Wed Jan 26, 2011 8:35 pm
I am a retired programmer. I worked on all kinds of software from comm programs in C/C++ thru to accounting software in COBOL. Over a 40 year career, one picks up a lot of odds and ends in their tool kit.
Anyway, I am old enough to remember the fracas over Dr Dobbs Journal printing a working copy of Tiny Basic in their magazine (I actually keyed it in by hand and it worked!).
Well, I was curious about all this fuss over Fruit, so I decided to look into it. To see what the deal really is.
Wow! It has been a few years, but how things have changed. First off, most of my working life I had to pay gobs of cash for decent C/C++ compilers. Nowadays, they are given away for free. I downloaded Code::Blocks with MinGW. What a snap! Free, fast, easy... and works right out of the broswer! Unbelieveable! Okay, enough of that... then I Googled Fruit and download the source code package for 2.1. Man, that is one well written piece of code!! Fabien hasn't touched it in years and Code::Blocks compiled it almost error free. It only complained about some printf format strings, which I fixed in about 2 seconds. Loaded it into Chessbase and... wam bam thank you mam, it works flawlessly.
This is why it has so many clones. It is a realatively strong program (even nowadays), it is very clean code. Easy to understand. Well written. Cudos to Fabien!! What's not to like? I am surprised that everyone isn't using it as a starting point for their chess engine!
Perhaps they are, but they just aren't letting on...
My next project is to add threading to it. It was a bit of a challange, but I finally figured out how to work with "pthreads"... I think the rest should be fairly easy... we'll see.
Anyway, I am old enough to remember the fracas over Dr Dobbs Journal printing a working copy of Tiny Basic in their magazine (I actually keyed it in by hand and it worked!).
Well, I was curious about all this fuss over Fruit, so I decided to look into it. To see what the deal really is.
Wow! It has been a few years, but how things have changed. First off, most of my working life I had to pay gobs of cash for decent C/C++ compilers. Nowadays, they are given away for free. I downloaded Code::Blocks with MinGW. What a snap! Free, fast, easy... and works right out of the broswer! Unbelieveable! Okay, enough of that... then I Googled Fruit and download the source code package for 2.1. Man, that is one well written piece of code!! Fabien hasn't touched it in years and Code::Blocks compiled it almost error free. It only complained about some printf format strings, which I fixed in about 2 seconds. Loaded it into Chessbase and... wam bam thank you mam, it works flawlessly.
This is why it has so many clones. It is a realatively strong program (even nowadays), it is very clean code. Easy to understand. Well written. Cudos to Fabien!! What's not to like? I am surprised that everyone isn't using it as a starting point for their chess engine!
Perhaps they are, but they just aren't letting on...
My next project is to add threading to it. It was a bit of a challange, but I finally figured out how to work with "pthreads"... I think the rest should be fairly easy... we'll see.