¿Cómo aprendería a programar, si tuviera que empezar de nuevo?

John SerranoJohn Serrano
21 septiembre - 2024
Programación

Aprender a programar puede parecer un desafío monumental. Si tuvieras que empezar de nuevo, ¿por dónde comenzarías? En este artículo, exploraremos un enfoque paso a paso. Desde elegir el lenguaje adecuado hasta encontrar los recursos más útiles. Te ayudare a construir una base sólida en programación. Así, podrás avanzar con confianza en este emocionante campo.

¿Te has preguntado cuál es el proceso detallado para levantarte y cepillarte los dientes? Permíteme contarte cómo comencé en el mundo de la programación. Primero aprendí a definir requerimientos, analizarlos, diseñar sistemas de acuerdo con ellos y, finalmente, desarrollar.

Definir y Analizar Requerimientos

Se debe empezar pensando y definiendo los requerimientos sin escribir una sola línea de código. Luego, se analizan esos requerimientos. Es decir, una vez definido el problema, llega la hora de analizarlo. Después, se diseña cómo desarrollar el sistema para cumplir con esos requerimientos y, finalmente, se puede comenzar a programar.

Pensar Diferente

Algo que aprendí fue a pensar de una manera diferente, a ver las cosas como si fueran fotogramas de un vídeo. Por ejemplo, cuando nos levantamos por la mañana, normalmente pensamos: “me levanto, me lavo la cara y me cepillo los dientes”. Sin embargo, en realidad hay un proceso: me despierto, corro la sábana o cobija, me siento un momento en la cama, me pongo las sandalias, camino hasta el baño, abro la llave, me enjuago la cara, etc. El punto es que hay que comenzar a pensar diferente en el proceso de las cosas. Por eso es importante definir los requerimientos, para poder analizar cuál es la mejor solución.

Mi Primer Lenguaje de Programación

En todo ese proceso, mi primer lenguaje de programación fue C. El lenguaje C es de propósito general y fue creado en los años 70. Si bien me ayudó a comprender cómo funcionan los computadores a nivel bajo pero no tan bajo existen otros lenguajes que son a bajo nivel pero esté me dio bases sólidas en la programación, no recomendaría comenzar con él. En un momento explicaré por qué.

¿Cómo Aprendería a Programar desde Cero?

Si tuviera que empezar de nuevo, lo primero que haría sería aprender muy bien el proceso de definir, analizar y diseñar soluciones a los requerimientos. Esto lo lograría resolviendo problemas de lógica de programación y aprendiendo a pensar paso a paso, como en el ejemplo que mencioné antes, apoyándome en diagramas de flujo o pseudocódigo.

Aprender un Lenguaje de Programación

Luego, aprendería a programar con diagramas de flujo, lo cual está muy relacionado con resolver problemas de lógica. Una vez teniendo estas bases, con algo de lógica de programación y habiendo resuelto problemas con diagramas de flujo, aprendería un lenguaje de programación como Python o JavaScript antes de saltar a algún framework o biblioteca. Me enfocaría en aprender bien las bases de uno de estos lenguajes.

¿Por Qué Python o JavaScript?

Para mí, Python es un excelente lenguaje para aprender y trabajar. Trabajé con él varios años y es muy fácil comenzar a programar sin preocuparse por tantas cosas. Con JavaScript es igual de fácil: puedes abrir la consola del navegador y comenzar a escribir. Además, es multiparadigma y soporta varios paradigmas de programación como la orientación a objetos, imperativa y declarativa. Me apoyaría en la documentación del lenguaje o de cualquier herramienta.

Encuentra más contenido sobre JavaScript aquí.

Programación Orientada a Objetos (POO)

Aunque estos lenguajes son “fáciles” de aprender y nos dan mucha libertad, recomiendo totalmente aprender POO (Programación Orientada a Objetos), entendiendo los conceptos principales como clases, objetos e instancias, encapsulación, abstracción y herencia.

Patrones de Diseño

Por último, aprendería patrones de diseño, entendiendo cada una de sus secciones: propósito, motivación, estructura y código en alguno de los lenguajes de programación. Aprende con este recurso que son los patrones de diseño.

Herramientas Esenciales

Las demás herramientas serían aquellas que nos ayudan en nuestro trabajo y nos hacen más productivos, como Git y GitHub, un editor de código como VSCode, una terminal como Windows Terminal, y apoyo con IA como Copilot, entre otros.

Conclusión

Si estás comenzando, te animo a que sigas adelante. Aunque el camino no siempre sea corto ni fácil, cada paso que das te acerca más a tus objetivos. Si sientes pasión por el mundo de la tecnología y la programación, te aseguro que el esfuerzo vale la pena. ¡No te rindas y disfruta del viaje!

Soy John Serrano ingeniero de software con más de 7 años de experiencia. Me especializo en la creación de experiencias digitales de alto impacto. Entusiasta de las tecnologías web: JavaScript, TypeScript, Node.js, Docker, Firebase, React, etc. Me puedes encontrar en las siguientes redes sociales:

Apoyo

Estoy muy feliz de que disfrutes del contenido de johnserrano.co, si te gusta lo que lees y quieres respaldar mi trabajo, puedes realizar una donación a través de Tarjeta de crédito o PSE. Además, estoy disponible para recibir tu apoyo por correo electrónico en [email protected] si prefieres otras opciones. Tu apoyo ayuda a mantener este proyecto en marcha. ¡Gracias por tu apoyo!

Apoyo no monetario

Otra manera de ayudarme es difundiéndolo de boca en boca! Si consideras que el contenido que comparto en johnserrano.co puede ser valioso para tus amig@s y compañer@s, te invito a compartirlo en Twitter, LinkedIn o en la plataforma que prefieras. Tu recomendación puede marcar la diferencia. ✨

No hay un amor más grande que el dar la vida por los amigos. Juan 15:13

Otros artículos