To recompile all the shaders is expensive. And something to be avoided at all costs. It was needed before because for every new lamp in the file we needed to recompile the shaders. Now this is no longer required since we are using UBOs for the sahders.