Quiero aprender a programar

Durante la parte de mi vida en que me ha tocado la función de desarrollador de aplicaciones, varias personas me han hecho la misma pregunta: ¿Qué debo hacer para aprender a programar?

Esta es una pregunta compleja y al mismo tiempo halagadora ya que normalmente los desarrolladores de software son vistos como “nerds” encerrados en una habitación todo el día sentados frente a un computador escribiendo códigos que mágicamente la computadora interpreta y aparece en la pantalla un sistema o una página web.

Muchas personas prefieren mantenerse lo más alejado posible de todo lo que ocurra en ese mundo desconocido de los desarrolladores de software así que cuando alguien pregunta ¿Qué debo hacer para aprender a programar? Más vale darles la respuesta correcta.

El mundo actual funciona en casi todos sus aspectos con tecnología, la podemos encontrar en todos los ámbitos de la vida cotidiana, desde un computador, los Smartphone, los televisores, las neveras, todo ya tiene alguna especie de software, esto nos da el primer paso para aprender a programar. Tenemos mucho campo en el desarrollo de software así que lo primero es decidir para qué quieres programar.

Muchos tienen la idea de que para ser programador hay que ser un genio matemático, esto es completamente falso, aunque dominar las matemáticas es una ventaja, lo más importante en la programación es la lógica. Esa lógica es la que nos permitirá solucionar los problemas, entender lo que desean o necesitan los usuarios, realizar aplicaciones más sólidas, eficientes y user friendly, es decir que sean de fácil uso para las personas.

Entonces, si ya sabes para qué plataforma quieres programar o ya sabes las situaciones de la vida que quieres mejorar con la tecnología y ya tienes conceptos de lógica, debes elegir un lenguaje de programación que sea óptimo para el fin que deseas.

Existen cientos de lenguajes de programación diferentes, con diferentes complejidades, pero también para diferentes usos. Así como avanza la tecnología de uso cotidiano, también avanza la tecnología para los desarrolladores de software, por lo que cada día es más fácil “programar”. Existen frameworks o plataformas que interpretan códigos de programación de lenguajes que utilizan funciones y etiquetas muy similares al lenguaje humano y los convierten a lenguaje de máquina y cada día esto se vuelve más eficiente.

Existen también lenguajes de programación muy similares, por lo que aprendiendo uno podrás dominar otros en muy poco tiempo. Dependiendo el área en la que quieras desarrollarte, algunos lenguajes de ejemplo podrían ser: Para aplicaciones comerciales o de oficina puedes investigar sobre .NET, Java, Python y SQL. Para aplicaciones móviles te interesará investigar sobre C++ (C plus plus) o Java. Si te interesa el desarrollo web te interesará investigar sobre HTML, PHP, CSS, JavaScript, Ruby, Python, .NET o SQL. Si lo que deseas es entrar a lo que llamamos lenguajes de bajo nivel y medio nivel es decir códigos que pueden ejecutar funciones más cerca del hardware puedes investigar sobre C o Assembly.

En internet existe información ilimitada sobre los diferentes lenguajes de programación, así como páginas web que enseñan a programar de manera rápida y divertida, existen videos y muchos libros sobre programación. Lo más importante en tomar en cuenta es que la programación nunca se aprende completamente, cada día se aprende algo nuevo. Es posible que el día de hoy no entiendas un concepto, pero si sigues practicando e investigando llegará un día en que te darás cuenta que eso que ayer no entendías hoy se vuelve sencillo, ya que el aprendizaje de la programación es por niveles, lo que aprendes hoy será la base para entender lo del futuro. Busca un programador experimentado que te sirva como mentor y como decimos en este mundo, la programación entra por los dedos así que programa todos los días.

José Benzán
José Benzán

Ingeniero de Sistemas graduado de la PUCMM con más de 10 años en el área de desarrollo de Software. Ha laborado en diferentes instituciones, tanto privadas como gubernamentales, como desarrollador y consultor, ofreciendo siempre soluciones tecnológicas que eficienticen el trabajo humano, lo que se traduce en beneficios para las empresas. Experto en eficiencia de procesos y desarrollo, principalmente con tecnología .NET y bases de datos SQL Server. Conocimientos además de Oracle, SAP, Java, PHP, Delphi.

Artículos: 1