I just gave you an example, but feel not to believe mebob wrote:I have YET to see where anyone has rewritten from SCRATCH. Not once. So no "bravo, bob" but rather "bravo Ed for wanting to divert the topic rather than paying attention to what has been claimed." "from scratch" means ZERO code (none, nada, etc) retained from previous version. Doesn't happen very often. Certainly not more than once for a single programmer.Rebel wrote:So by your logic Fabien and Marcel are dumb programmers, bravo Bob.bob wrote:Again, eh? I have seen ZERO cases of a complete rewrite. Throw out the old code and start from scratch with nothing. That is a dumb way of developing software and that is not a "condescending remark" it is a simple statement of fact. If someone DID rewrite something N times from scratch, they are really very poor programmers. Once, perhaps, to change language, data structures, board representation and everything else. But more than once? What a waste...Rebel wrote: I wasn't talking about Rybka, just highlighting your condemning and patronizing remarks, the red above.
Many realities out there but only the Hyatt reality counts.
Here is another reality, mine. Somewhere in the 90's I wrote an experimental version from scratch. The basic ideas;
1. Incremental update of the evaluation function (gain speed).
2. Don't generate all moves at once, just one at the time when you need one (gain speed).
Made no sense to use the regular Rebel code because it was fully ASM, such a fundamental different approach one does in C first and when it has a future you convert the critical parts to ASM for the final speedup.
All the reasons in the world to start from scratch.
Try again, failure here.
Again, the premise has been "more than once". I'll give anyone one complete rewrite after they learned what they did wrong the first time...
And I may suspect you know what it means to write an "incremental upate" engine, right? You can't use anything any longer, not even the move generator. So you start from scratch.
And BTW, for clearness sake, you started this discussion with the word "ENGINE". That excludes own interfaces, protocols like WB or UCI.