¿Cómo aprendería a programar, si tuviera que empezar de nuevo?
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
¿Qué es JavaScript y para que sirve?
En el ámbito del desarrollo web, JavaScript es un nombre que resuena con prominencia. Es un lenguaje de scripting poderoso que da vida a páginas web estáticas.
¿Cómo crear códigos de barras en JavaScript y exportarlos a PDF?
Desarrollé un sistema de inventario y enfrenté el desafío de generar códigos de barras legibles por un lector. Aquí te muestro cómo hacerlo en JavaScript.
Hackatón de Midudev: Una oportunidad para aprender y conectar + vercel
Participa en esta gran oportunidad para aprender, crear y conectar con otros desarrolladores en el hackatón de Midudev. ¡No te lo pierdas!