Early: Do everything we need at the begining.
E.g. Constructor, File Header.

Lazily: Do as it required.
E.g. Dynamic library, ...

Is it about style?
Is there any reason why do you do with that way?

It is not only in programming but also in our daily life.