emadsen wrote:
Yes, I know. I live in that world every day. I wrote MadChess 1.x to answer the question, if I write a chess engine using the business OO style code I write at work, how strong will it be? The answer is 2200 ELO, and more likely 2400 against human opposition.
I agree. The main performance penalty coming from runtime-managed memory / garbage collection versus developer-allocated / deallocated memory. Though, I thought most strong engines are written in plain C, not C++.
I'm not interested in reading the Stockfish source code, though I understand and respect those who do. MadChess is done purely for my own intellectual satisfaction, so I'm quite content to build it ignorant of the state of the art. I am happy to reinvent the wheel- in fact that's the whole point since writing a chess engine is pretty much a solved problem at this point. Of course, if this was a professional project, I'd read the Stockfish source and incorporate as much as possible into the project. The mental effort of devising my own solutions, while intellectually satisfying, would be a waste of time to my employer.
Well, Stockfish is one example of a very strong chess engine written in C++

.
Going through the CEGT list (
http://www.husvankempen.de/nunn/40_4_Ra ... liste.html) and skipping closed source engines -
Stockfish - C++
Gull - C++
Critter - C++
Strelka - no idea
Protector - C
Senpai - C++
I believe most/all of the top few closed source engines are C++ as well.
A few switched from C to C++ at some point, Crafty being a notable exception.
I have a lot of respect for Stockfish's authors not just because they made the strongest engine in the world, but also because they did it in extremely clean and easily-readable OOP C++ code. I would have enjoyed reading Stockfish code even if I had little interest in chess. It's living proof that clean OO style and performance aren't always against each other.
Though I feel that can only be said about C++, because C++'s implementation of OOP is very light, and in most cases incur no performance penalty at all.
Crafty's code is also very clean for a C program... but that's for a C program. Stockfish is still much easier to read.
I do respect that you are trying to be ignorant of the state of the art, but would highly recommend reading it if one day you lose interest in chess (or in being ignorant of the state of the art)

.
I wouldn't say chess is a solved problem. There are still many unexplored promising approaches. They may or may not be stronger, but are definitely very interesting. I am exploring a very interesting approach at the moment as my MSc thesis, but I can't say much about it at the moment, so that's for another time. I am basing it on Stockfish so I can focus my efforts on the novel parts, and not have to spend time reinventing wheels.