user11629: In what way do major chess engines differ from one another?
Do they all use the same algorithm and the same evaluation function, differing only in parameters/weights?

user825: EDIT:

I'm confident both Houdini and Komodo are in C/C++, the best language for speed optimization.
I'd be very surprised if they don't use alpha-beta/nega-max. This is standard in chess programming.
I don't know about board representation in Houdini and Komodo, but bitboard is good and fast. Stockfish uses that, and I think it's common for all strong engines.

ORIGINAL
Lot's of possibilities (I can't list everything):

How to prune/reduce the search tree?
How to evaluate a chess position?
What about quiescence search? Do you want to extend your search horizon?
Bitboard? Mailbox? How do you want to represent the internal board?
Multithreading support?
Programming language. C++? Java?
Operating systems optimisations such as large pages?

While all chess engines I'm aware of use alpha-beta/nega-max, their implementation could be significantly different.
No. They don't all use the same algorithm and the same evaluation function. Visit https://chessprogramming.wikispaces.com/Home, and you'll appreciate the complexity in chess engine programming.

11629: <p>In what way do major chess engines differ from one another?</p>

<p>Do they all use the same algorithm and the same evaluation function, differing only in parameters/weights?</p>
 825: <p><strong>EDIT:</strong></p>

<ul>
<li>I'm confident both Houdini and Komodo are in C/C++, the best language for speed optimization.</li>
<li>I'd be very surprised if they don't use alpha-beta/nega-max. This is standard in chess programming.</li>
<li>I don't know about board representation in Houdini and Komodo, but bitboard is good and fast. Stockfish uses that, and I think it's common for all strong engines.</li>
</ul>

<p><strong>ORIGINAL</strong></p>

<p>Lot's of possibilities (I can't list everything):</p>

<ul>
<li><strong>How to prune/reduce the search tree</strong>?</li>
<li><strong>How to evaluate a chess position</strong>?</li>
<li>What about quiescence search? Do you want to extend your search horizon?</li>
<li>Bitboard? Mailbox? How do you want to represent the internal board?</li>
<li>Multithreading support?</li>
<li>Programming language. C++? Java?</li>
<li>Operating systems optimisations such as large pages?</li>
</ul>

<p>While all chess engines I'm aware of use alpha-beta/nega-max, their implementation could be significantly different.</p>

<p>No. They <strong>don't</strong> all use the same algorithm and the same evaluation function. Visit <a href="https://chessprogramming.wikispaces.com/Home" rel="nofollow noreferrer">https://chessprogramming.wikispaces.com/Home</a>, and you'll appreciate the complexity in chess engine programming.</p>
