The idea is to write in real time every single line of code, and if he had tried to set up multiple platforms from the start he would have spent months in mostly boring and repetitive tasks, while he wanted to get to game programming as soon as possible, and get back to support more platforms later.
After the first few weeks setting up the windows code, the focus has been on the game layer mostly.
He is using mostly straight C (stating several times that he loathes C++) using a small subset of C++ features (function and operator overloading).
He started out with a widows platform layer, which implements generic services (input, sound, rendering, memory allocation) to get the system boot strapped. Since then he's mostly been writing generic game code (player movement, world rendering, time management, etc) which consumes the abstracted services and is cleanly separated from his windows platform layer. He architected it in such a way that it can be easily ported to other platforms once they have a game (he's brought up the raspberry pie a bunch a possible target platform).
The other people doing the ports have ported the "lessons" to other platforms so that people who don't run windows can (mostly) follow along, they are just viewers of the stream.
As for language choice, it is mostly C, the only C++ feature he uses (and why he compiles with a C++ compiler) is function overloading.