Se ahorra mucho y mucho tiempo, y muchos proyectos simplemente no se enviarían si no tuviéramos buenas herramientas de depuración, ya que es simplemente imposible desarrollar, probar y enviar un programa muy grande y complejo sin muchos errores encontradas y reparadas en el camino, y encontrarlas sin herramientas de depuración lleva mucho tiempo si se pueden encontrar.
Los depuradores se pueden usar para la depuración “correcta” (como gdb), la depuración de memoria como valgrind o purify y la depuración de subprocesos.
Recuerdo la primera vez que vi un depurador de memoria. Estuve en Postgres en UCB en 1990 y mi jefe me pidió que evaluara una versión alfa de Rational Purify (que originalmente fue escrita por Pure Software). Lo conecté a la compilación de Postgres, realicé una prueba y detecté alrededor de una docena de fugas de memoria y errores de tipo de corrupción de memoria, todos los cuales fueron el tipo de errores que rutinariamente llevaban días o semanas encontrar sin dicha herramienta. .
- ¿Por qué usarías un equilibrador de carga de software?
- ¿Cuáles son los lenguajes de programación, utilizados recientemente en las industrias de software?
- ¿Qué herramienta de desarrollo, o característica de herramienta, mejoraría más su productividad y calidad?
- ¿Necesitamos desarrolladores que diseñen también?
- ¿Cuál es la diferencia en las oportunidades profesionales entre los 2 cursos: ingeniería de software y bioinformática?
Me “vendieron” al instante. Hasta que salió Valgrind, siempre aconsejé a las personas que compraran Purify (a pesar de que costaba $ miles), y lo usamos para probar Postgres y otros administradores de datos con los que ayudé a lo largo de los años.
Sí, puedes imaginarte haciendo cosas como enfoques cuidadosos de programación de pruebas de teoremas, y muchas revisiones de código y cosas para tratar de que el código sea “correcto”, pero estos son caros y, aunque pueden usarse en “proyectos reales”, Por lo general, se usan solo con el código central “importante”. Incluso allí, la implementación real del código generalmente implica un montón de ciclos de prueba y depuración, generalmente con herramientas de depuración.
Existe una extraña fascinación con la idea de no usar depuradores entre una determinada cohorte de programadores (generalmente muy jóvenes). Nunca he entendido esto: si una herramienta lo ayuda a mejorar su código rápidamente, úselo.