Especialmente ao escrever um novo código do zero em C, eu me pego escrevendo código por horas, até dias sem executar o compilador para qualquer coisa, exceto uma verificação ocasional de sintaxe.
Costumo escrever pedaços maiores de código com cuidado e testar completamente somente quando estou convencido de que o código faz o que deveria fazer analisando o fluxo na minha cabeça. Não me interpretem mal - eu não escreveria 1000 linhas sem testar (isso seria um jogo), mas escreveria uma sub-rotina inteira e a testaria (e corrigi-lo se necessário) depois que eu terminar.
Por outro lado, vi principalmente novatos que executam e testam seu código após cada linha que entram no editor e pensam que os depuradores podem substituir o cuidado e a sanidade. Considero isso uma grande distração depois que você aprendeu a sintaxe do idioma.
Qual você acha que é o equilíbrio certo entre as duas abordagens? É claro que o primeiro exige mais experiência, mas isso afeta a produtividade positiva ou negativamente? O segundo ajuda a detectar erros em um nível mais preciso?
#define h for(int c=y-3; y; c++/(randomTypeIDefinedEarlier)s*(float)4*(lol)sin((helloWorld)mysub(2,1,++a,*(r+z))); goto xkcd)
e essa é apenas uma linha.