You say that as if there was as much praising to be done as there is complaining. The reason for the disparity is that praising only gets you a smug and complacent developer who will not improve his projects because they are "good enough". You don't praise the developer when there's so much to improve.
It is akin to praising a rocket engineer because the tip of his rocket is very nice, even though he forgot to put a working engine on it. You don't do that until he fixes the main mistakes.
And there's also a difference between plain old complaining and constructive criticism. One is as useless as praise; the other gives the developers a base to improve upon.
It is akin to praising a rocket engineer because the tip of his rocket is very nice, even though he forgot to put a working engine on it. You don't do that until he fixes the main mistakes.
And there's also a difference between plain old complaining and constructive criticism. One is as useless as praise; the other gives the developers a base to improve upon.