Las dificultades más comunes que enfrentan los programadores principiantes


Tan pronto como llegó a mí esta interrogante me puse a buscar un gran artículo que una vez leí sobre las cosas que nunca se le debe decir a un programador que recién está comenzando. No pude encontrarlo, pero lo más rescatable de éste era que a un programador principiante se le debe dar tiempo para hacer pequeños programas usando el lenguaje de programación que él mismo escoja. Desafortunadamente, en lugar de escuchar estímulos positivos, los programadores novatos comentan con frecuencia que les dicen que todo lo que hacen está mal: el lenguaje que escogieron, el editor que escogieron, el enfoque de su aprendizaje, etc. y que deberían haber hecho x, y ó z cosas.

Falta de confianza

Creo que la dificultad más común es la pérdida de confianza al principio del proceso de aprendizaje. En un mundo ideal más gente escribiría anécdotas divertidas acerca de sus muchos fracasos en la programación. Y no serían falsas ni las "típicas" historias de fracaso que solamente hacen que los novatos se sientan peor. La programación lleva tiempo y requiere perseverancia. Es una de las pocas áreas donde cometer errores es común y devastador. En un momento tienes un programa funcionando y al siguiente no tienes nada.

Duda sobre dedicar tiempo para aprender a utilizar un buen editor

Respecto a la segunda dificultad, puede sonar un poco extraño, pero se vincula al problema de la confianza. Si aprendes a adoptar un buen editor, te hará la vida más fácil y te ahorrará mucho tiempo, sin mencionar que se ve y se siente genial cuando realmente utilizas todos los atajos para guardar, tabular, comentar, ejecutar el código desde el editor en lugar de la línea de comandos, etc. Sin embargo, algunos estudiantes están tan abrumados con la sintaxis de sus códigos que se necesita tiempo para convencerlos de que explorar y conocer a fondo su editor vale cada minuto invertido en ello.

Ver los contratiempos como errores propios y no como eventos normales

La tercera dificultad es darse cuenta de que muchas cosas no funcionan predeterminadamente, en particular cuando se trata de instalar y usar paquetes/bibliotecas. Este último período tuve la oportunidad de enseñar un curso sobre programación de Python Intermedio. Podría haberme centrado en las estructuras de datos, pero en lugar de ello he tratado de centrarme en la resolución de problemas (tanto de software y hardware). Uno de los proyectos de la clase fue crear un programa Pygame. De los ochenta estudiantes, quizá un tercio fueron capaces de ejecutar el programa de demostración en su primer intento. El resto tenía una variedad de problemas que iban desde diferentes sistemas operativos hasta problemas en la instalación de paquetes. Un estudiante incluso tuvo que hacer un proyecto aparte porque nunca pudimos resolver todos sus problemas de instalación. Y eso está bien. Puede ser muy fortalecedor darse cuenta de que a veces cuando las cosas no funcionan, no es necesariamente por algo que hiciste mal.

Buscar el tipo equivocado de ayuda con preguntas

La cuarta dificultad tiene que ver con buscar ayuda. Recomiendo encarecidamente programar con un amigo, así como hacer el esfuerzo en evitar consultar inmediatamente código de otras personas para las tareas al principio del proceso de aprendizaje. Sé que es realmente difícil no ver otros códigos. Si estás pidiendo ayuda a otras personas, hazlo con lápiz y papel, no en frente de tu computadora o la de ellos. Para aprender a programar, es mejor hablar de tus problemas de perspectiva, no de líneas de código específicas.

Hay muchas otras maneras de caerse de los carriles (por ejemplo, no dedicar tiempo suficiente a un proyecto, programar para cumplir en lugar de programar para comprender, no seguir cuidadosamente las indicaciones, etc.). La mejor opción es crear un equipo de apoyo, trabajar juntos en una mismo lugar, ayudarse unos a otros con problemas de depuración e instalación, y recordar caminar de vez en cuando. Volver tras un pequeño descanso puede hacer una gran diferencia.

Vía | The Huffington Post