According to: http://gamedev.stackexchange.com/questions/47910/after-a-succesful-gllinkprogram-should-i-delete-detach-my-shaders
it seems better to detach and delete shaders vertex/geom/frag as soon as they get attached to the shader program than doing it at the end of the main.