Differences between chess engines 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?
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.