A programar se aprende progamando

Posted

Últimamente he visto que se promocionan muchos cursos sobre cómo iniciarse en la programación. Existen diplomados, cursos en línea y en youtube, entre tantos otros. También hay discusiones sobre qué lenguaje es mejor para iniciar, o qué temas aprender. No puedo opinar sobre los cursos, así que aquí comentaré sobre mi experiencia de aprendizaje.

Lenguajes de programación hay muchos, algunos son para tareas muy específicas, como R y MatLab, y otros son más generalistas, como C o Java. Muchos sitios están hechos con PHP, y las últimas aplicaciones web usan Javascript tanto en la presentación como en servidor. Es difícil que una persona pueda conocer todos los lenguajes de programación a fondo. Sin embargo, existen elementos que todos tienen en común. Por ejemplo, la evaluación de operaciones lógicas, los ciclos y la recursión. Así que si entiendes lo que significa la expresión “si A entonces B”, puedes convertirla a código en el lenguaje de tu preferencia.

Con base en el ejemplo anterior, nos podemos dar cuenta que es posible programar hasta en papel, porque lo que nos interesa es definir los pasos para resolver un problema. Una vez que tenemos clara la solución, ésta se puede implementar en cualquier lenguaje de programación. De aquí se deriva la importancia de conocer conceptos básicos de programación, como diseño de algoritmos y estructura de datos, por mencionar un par. Aprendes a pensar, y al final se facilita el desarrollo del código. Como dato adicional, este conocimiento es algo que piden en la mayoría de las empresas grandes para puestos de desarrollador.

No es fácil programar en papel, yo también he escrito código sin la solución completa. Sin embargo, cuando lo hago así, las líneas de código fluyen con más facilidad. Muchos cursos de programación comienzan diciéndote cómo hacer ciertas acciones, como el típico “Hola mundo”. Sin embargo, cuando ya tenemos algo específico a codificar, podemos revisar la documentación del lenguaje, ver tutoriales o hacer preguntas en un curso, todo enfocado a implementar la solución. De esta forma podemos obtener mayor provecho de la información y aprenderemos más sobre el lenguaje.

Mientras más veces se repita el ejercicio anterior, obtenemos más dominio sobre el lenguaje, y somos mejores para pensar en papel. Además, ya existen sitios como HackerRank y LeetCode, que ofrecen retos que ayudan a aprender una gran variedad de lenguajes. Finalmente, el siguiente paso es hacer sistemas completos, aunque sea pequeños, de inicio a fin. Con más experiencia entenderemos la necesidad de la documentación, diagramas de flujo, diagramas de bases de datos y otros tantos que son requeridos, pero que como desarrolladores no siempre queremos realizar.

Author
Categories El camino del desarrollador