An amazing repository of articles on Chess programming

When I went to University, I stayed in the halls of residence and there was a final year student there who was into chess programming- heady stuff for a first year student. It’s always held a bit of a fascination for me – I’ve been playing chess since the age of 11 though never particularly well. I’ve found most chess programs could beat me unless I take a great deal of care and spend a long time thinking.
The Chess Programming Wiki has almost 4,000 articles on all aspects of chess programming across 7500 pages. If you are interested in chess programming and unfamiliar with this then you are missing out. This uses the mediawiki software (same as Wikipedia) so can be a little opaque. I’ve found if you click the Special pages link on the left then All pages that it gives a much wider overview.
A bit of searching found the programming languages page and disappointingly there is no entry for C although there is a page on C in the Wiki! This links to CFish, a C port of the Stockfish open source chess engine which is mostly C++. If you can write a program to beat beat Stockfish then you are indeed an awesome programmer!
Of course, AlphaZero has recently dominated play in chess, Go and Shogi. What makes this different is that its mostly self taught using an AI technique called reinforcement learning. You just tell it the rules of chess. This contrasts with “traditional” chess programming where moves are determined ahead and evaluation routines called.
Such a simple game yet still incredibly popular. Pacman is now 40 years old. I must confess, its not one that I was great at (that would be Battle Zone- the 3D wireframe tanks on the moon game- I could play that for an hour for just 10p),

Not the Flash type games you get on sites like Kongregate but strategy games like 
Well you might say, “Don’t many Linux distros have SDL installed so people can play games?” and the answer is yes but not the development files and headers, and that’s what this shows you how to do along with a simple program to test that you can compile and run.
Text adventures have been around since the likes of Colossal Cave which I first played in 1980. They were quite popular on the early home computers like ZX 81 which were quite limited in RAM and capability. With the capacity of modern computers there are Interactive fiction (the modern name for adventure games) games with over a million words of text.
C of course doesn’t have generics or templates like C++ does, but I came across Gustav Lou’s
I remember that some other programming language (possibly Go) has a defer mechanism. You can tell it to defer a function call until the end of the function. I think this means, even if you do an early return that all functions that have been deferred will still run. It’s a handy language feature. Alternatives to it ion say C# are try … finally where the finally ensures that code gets runs.