Iniciarse en el mundo de la programación no es fácil, el programador de computadoras debe ser una persona creativa y persistente para enfrentar los retos que todos los días le depara el mundo laboral. Muchos son los obstáculos que se interponen en el transcurso de vida de un programador o desarrollador de software, y aquella persona que simplemente programa. Así es, hay muchas otras personas intentando llevar una vida programando pero no lo consiguen. Como muchas otras cosas en la vida la programación requiere de práctica, pero no solo eso hace a un gran programador, se requerirá gran capacidad de análisis, abstracción, lógica, entre otras cualidades.
Tras varios años de observar como los demás programadores aprenden, y cómo aprendí yo mismo, he llegado a la conclusión de que un programador no nace, se hace. El camino por el cuál comenzar no siempre es claro, algunas personas son mucho más hábiles que otras y pueden lograr en unas cuántas semanas dominar los conceptos básicos de la programación en lenguajes como Python, PHP, o Javascript. Sin embargo, a muchas otras personas se les hace un poco más difícil esa transición del lenguaje cotidiano al lenguaje máquina, y deben comenzar con entornos más intuitivos como scratch, o lenguajes más familiares al lenguaje natural como lpp. Algunas pruebas iniciales también ayudan a entender cómo es el proceso de aprendizaje en distintos individuos, por ejemplo, puede ser más llámativo y mucho más fácil para una persona ver videos a modo de tutorial que leer decenas de páginas en un libro que hable sobre lo mismo.
Independientemente de la forma en que más se apropie el conocimiento, hoy voy a recomendar este gran libro, que a mi modo de ver nos inicia de una manera fantástica no solamente en la programación de computadoras, sino también en el análisis de problemas y diseño de soluciones.
Aunque es un libro inicialmente dedicado a los educadores, también nos va muy bien si no somos docentes. Es una excelente guía de análisis de problemas que muy seguramente servirá mucho más adelante cuando se vean temas más especializados en el desarrollo de software. Este libro lo conocí cuando cursaba el técnico en programación de software en el Servicio Nacional de Aprendizaje (SENA) en 2013.
No he encontrado un material tan completo y bien explicado (en cualquier formato multimedia) como éste sino en los cursos del MIT y la universidad de Harvard que se dictan de manera online en el edX. Pero por supuesto, este tipo de cursos son en inglés, y esto ya es un gran impedimento para la mayoría de la gente que solamente desea aprender a programar y no la doble carga de aprender inglés también.
Aclaro, que no es en esencia necesario leer un libro como el anterior antes de enfrentarse con un verdadero lenguaje de programación, sin embargo, es muy importante tener bases sólidas si queremos profundizar más rápidamente en aspectos avanzados del desarrollo de software y que marcan la tendencia hoy en día como lo son la programación orientada a objetos y los patrones de diseño.
Finalmente, quiero decirles que no se apresuren a programar, es un error muy común cuando se inicia en el mundo de la programación. Hay que darle tiempo al tiempo, es mucho más significativo analizar el problema en cuestión unos cuantos minutos y luego echarle mano al código, que comenzar digitar código y borrar las mismas líneas a modo de ensayo-error. En el próximo post (Escoger el Lenguaje) veremos qué lenguajes son los más adecuados en el proceso de iniciación de la programación y cuáles no. Hasta la próxima!
No hay comentarios:
Publicar un comentario