In the first episode (afair), Casey talks about people who love their build systems. That in fact they love 'em so much, that they even use build systems to automate their build systems (not to mentions the tools that optimize even those).
Since Casey does everything by hand, he consequently introduces something on his own to build Handmade Hero: Basically a simple call to the compiler and merely a batch file so that at least he can make sure that proper folders exist.
He explains, that he uses this kind of "Build System" even on very (very) large projects and that they are way faster than anything other people could possibly introduce for automation purposes.
Also he states that he actually does not have a problem with partial builds (that any "real" build system is capable of managing while his batch script is not), because he simply does not do any partial builds. Instead he builds everything. Everytime. And thus simply preventing any problems from arising due to misconfigured partial builds.
I don't know what you people think when you listen to that story. Because I... well,... I have been introduced to MSBuild (which has been open sourced yesterday on github btw) many years ago and have been using it implicitly due to the use of Visual Studio and its project templates in virtually every project. Also, I am using Team Build as a service on build server systems to automatically build sources I check into TVCS (Integration Build). This way I get immediate feedback about what works and what not which is especially valuable when working in a team with more than just one developer.
I also configure my builds to lets say create installers, CD images, do deployment tasks etc. And yes, I am perfectly aware of the fact that this process will most probably take longer than it would take if I used batch scripts and configured everything by hand.
So I am very interested in hearing what you people think about this. On the one hand, we learn to understand the very asics of what we do... on the other hand, Casey does not spare with critics about "modern" design / development practices.
It seems as if the way he works would perfectly fit if you are a solo developer working on a machine that does not have any spare resources, so that you simply HAVE to optimize for speed and performance (I am not talking about graphic routines, but about processes such as building the software once in a while).
Also, I quite like the way modern version control systems work... HOWEVER... (and now it becomes ironic...) I am starting to OVERTHINK what I learned to believe.
Is it really true?
Does version controlling my source really solve any problems?
Does build management really help creating better quality software?
Does test automation really produce better code?
Is it really air that I breathe...
This guy is so damn serious about what he says and - without question - has so much experience, that I just cannot put aside his thoughts about how and why he does things the way he does.
And I would really like to know what other people think about this.
Sorry about this long post.
Thanks for reading.
Cheers,
Mephisztoe.