¿Por qué las escuelas no cubren a los depuradores? [cerrado]

12

Después de otra tarea más question sobre SO. Parece que la gran mayoría de los estudiantes no tienen idea de qué es un depurador o cómo usarlo. Siento que saber cómo usar un depurador es casi tan importante como otros aspectos fundamentales de la programación.

  • La pregunta es ¿no se debe enseñar la depuración y cómo usar las herramientas modernas de depuración junto con los fundamentos de la programación? Si no, ¿por qué no?
pregunta rerun 11.06.2011 - 03:30

7 respuestas

7

No es tanto el caso que se deba enseñar el uso de debuggers , sino las técnicas más generales de depuración . Esto incluiría enseñar cómo usar un depurador, por supuesto, pero también varias otras técnicas importantes, por ejemplo,

  • pensamiento crítico
  • divide y vencerás
  • debugging, logging, etc
  • de printf
  • control de escritorio
  • pruebas de estrés

Como beneficio adicional, muchas de las técnicas también pueden aplicarse a la resolución de problemas en áreas distintas a la programación.

Hay un libro bastante bueno sobre este tema, que probablemente se deba leer para todos los estudiantes universitarios y para cualquier persona que aprenda los conceptos básicos de la programación: Depuración por David J Agans .

    
respondido por el Paul R 11.06.2011 - 12:35
8
Los

cursos terciarios de ciencias de la computación están diseñados para enseñar a los estudiantes a los fundamentos de la programación , como usted mencionó: estos conceptos se enseñan a los estudiantes con la esperanza de que puedan desarrollar el necesario conceptos y aplicarlo a una gama más amplia de lenguajes de programación y conjuntos de problemas.

Por otro lado, las

herramientas de depuración son un subconjunto en el área implementación : cada herramienta es diferente para cada idioma (aunque los conceptos son los mismos). Estábamos expuestos a herramientas de depuración, pero nunca las cubrimos en profundidad. Si pasáramos más de una semana en las herramientas de depuración, miraría hacia atrás, en retrospectiva, y consideraría una pérdida de tiempo. Prefiero aprender sobre la notación BigO o el polimorfismo. Sin embargo, si el poder de una herramienta de depuración no se ha transmitido (con éxito) a los estudiantes, eso sería una necesidad ausente.

    
respondido por el Jonathan Khoo 11.06.2011 - 04:03
2

En la mayoría de los cursos introductorios de programación, el estado del programa es lo suficientemente simple como para poder eliminar cualquier error con unas pocas declaraciones impresas. También puede surgir el problema de obligar a los alumnos a hacer las cosas a mano para que tengan una idea de cómo y dónde se producen ciertos tipos de errores en el código. Si no tienes idea de dónde buscar, entonces un depurador será bastante inútil.

    
respondido por el davidk01 11.06.2011 - 04:16
2

No es tan importante. Casi nunca uso uno, y nunca lo he usado. La mejor manera de depurar el código es:

  • no escribas los errores en primer lugar
  • si los escribe, corríjalos pensando, no sumergiéndose en el depurador

Y para el software de múltiples subprocesos mucho más moderno, los depuradores tienen el efecto de ocultar errores en lugar de descubrirlos. Y definitivamente no deberían ser "enseñados" a nivel de grado, más de lo que uno enseñaría a usar un procesador de textos.

    
respondido por el Neil Butterworth 11.06.2011 - 04:19
0

Debería enseñarse la depuración porque los estudiantes son humanos y los humanos cometen todo tipo de errores, algunos de los cuales requieren la adquisición de algunos datos experimentales (información de depuración) antes de que ocurra la iluminación con respecto a un error determinado.

La depuración no se enseña debido a la premisa (tal vez heredada del departamento de matemáticas) de que los programas deben ser correctos en su diseño, tal vez incluso de manera demostrable. Y así, los estudiantes no deberían estar "experimentando" con la programación correctamente. Sin embargo, esto ignora el proceso de fabricación en el mundo real de humanos imperfectos que activan el software para cambiar las especificaciones según las presiones programadas y amp; etc.

    
respondido por el hotpaw2 11.06.2011 - 04:16
0

Esta pregunta me es ajena. En mi universidad, el uso del depurador (JDB y el depurador de Eclipse) se enseñó desde la primera secuencia de ciencias de la computación. El uso de depuradores y otras herramientas de prueba se enseñó nuevamente en el curso sobre pruebas de software.

Personalmente, me resulta increíblemente difícil creer que cualquier buena escuela que esté tratando de preparar a las personas para ingresar a la fuerza laboral no está enseñando sobre las técnicas adecuadas de depuración y pruebas. Obviamente, no pueden cubrir todos los aspectos de la misma, pero al menos pueden enseñar lo básico en el aula.

    
respondido por el Thomas Owens 11.06.2011 - 12:41
0

Descúbrelo por tu cuenta

No necesitaba y no quería un profesor o un profesor de educación física. para dedicarme tiempo a enseñarme algo que podría fácilmente descubrir por mi cuenta. Ellos están ahí para enseñarme los conceptos difíciles y guiar el aprendizaje. No están y no deberían estar allí para que no tenga que hacer RTFM.

Aprende a aprender

La universidad debe ser sobre aprender a aprender, no solo por tener tu mano en cada tema que no sabes. Si mantienes tu mano constantemente a través de este proceso, fracasarás miserablemente en el mundo real.

Subida, en ambos sentidos, a través de la nieve

Cuando fui a la escuela, tampoco se molestaron en enseñarte el idioma. Se esperaba que lo recogieras en tu propio tiempo. Te darían el proyecto y las instalaciones. Dependió de usted rastrear la información que necesitaba para completar la implementación y enviar un programa de trabajo. Bastante similar al mundo real, excepto en horas de oficina.

    
respondido por el dietbuddha 12.06.2011 - 22:57

Lea otras preguntas en las etiquetas