Especialmente cuando escribo código nuevo desde cero en C, me encuentro escribiendo código durante horas, incluso días, sin ejecutar el compilador para otra cosa que no sea una comprobación de sintaxis ocasional.
Tiendo a escribir fragmentos de código más grandes con cuidado y realizar pruebas exhaustivas solo cuando estoy convencido de que el código hace lo que se supone que debe hacer al analizar el flujo en mi cabeza. No me malinterpreten: no escribiría 1000 líneas sin probar en absoluto (eso sería apostar), pero escribiría una subrutina completa y la probaría (y arreglaría si fuera necesario) después de que creo que he terminado.
Por otro lado, he visto en su mayoría novatos que ejecutan y prueban su código después de cada línea que ingresan en el editor y creo que los depuradores pueden ser un sustituto del cuidado y la cordura. Considero que esto es una gran distracción una vez que has aprendido la sintaxis del lenguaje.
¿Cuál crees que es el equilibrio correcto entre los dos enfoques? Por supuesto, el primero requiere más experiencia, pero ¿afecta la productividad de manera positiva o negativa? ¿El segundo te ayuda a detectar errores a un nivel más fino?
#define h for(int c=y-3; y; c++/(randomTypeIDefinedEarlier)s*(float)4*(lol)sin((helloWorld)mysub(2,1,++a,*(r+z))); goto xkcd)
y esa es solo una línea.