¿Qué tan difícil es Aprender a Programar?

Bien, antes de responder esta pregunta, quiero aclarar que cuando me refiero a "aprender a programar" hago alusión de asentar las bases de la lógica de la programación, es decir, que el estudiante sea capaz de entender y comprender hasta el punto de saber cuándo poder usar una sentencia if, una estructura de control, crear y llamar funciones en el programa, etc. Asentar las bases de la programación hasta un punto tal donde el aprendiz sea capaz, de, por su propia cuenta, hacer un juego como el conocido Tres en Raya, El Ahorcado, Pong, Snake, etc. Cuando el estudiante sea capaz de estos u otros programas como un registro para un hotel, un inventario de ventas, se podría decir que ya sabe programar, o mejor dicho, que ya asentó las bases de la programación, ya que el titulo de afirmar saber programar, puede llegar a tener muchas objeciones, ya explico porqué.



Definido lo anterior, quiero decir que es fácil. Algo directo, la verdad es que para aprender a programar (según la definición que he dado) sólo se necesita constancia y esfuerzo, con esto, lo podríamos ver sencillo. Es cierto que tendremos nuestras complicaciones, nos veremos frustrados y en algún momento nuestra cabeza querrá estallar por la falta de experiencia, los problemas que vamos a tener serán motivos de fatiga, tendremos que estudiar nuestro algoritmo muchas veces, mejorarlo, corregirlo, hacer lo que sea para que el mismo funcione sin errores... Esto suena duro, lo sé. Pero siempre he pensado que la clave para todo está en la constancia, en otro artículo había hablado de las horas necesarios para aprender a programar, expresé que se necesitan unas mil horas de estudio, que puede sonar descabellado, pero la verdad es que no. Si no estás consciente de que deberás estudiar mucho, que te tendrás que esforzar siempre, preguntar, aprender, indagar, y hacer muchas cosas que te ayuden a aumentar tus conocimientos, para ti, aprender a programar será un infierno. Aquel que no esté dispuesto a hacer lo antes mencionado, tendrá que entender que no llegará a ser el mejor, por eso he dicho, con mucha constancia, no se verá difícil, a su vez, lo podremos ver totalmente entretenido.
Quiero expresar en este artículo para las personas que aún están empezando, que programar no se trata de sólo escribir código y darle instrucciones a la computadora, programar es más que eso, la tecnología avanza de forma exponencial, esto implica que el estudio no para en ningún momento, por supuesto que las personas siguen estudiando por gozo y placer, por sentirse bien al saber cada día más. Tú, si aún estás empezando, debes estar claro en que todo lo que hagas dejará de ser difícil si realmente te esfuerzas, como anécdota, tengo un hermano que aprendió a programar en cuatro meses, pero no sólo eso, en ese periodo de tiempo también desarrolló un videojuego el cual subió a la Play Store, si lo desean ver y descargar, pueden pasar a este enlace. Seguro lo verán y podrán decir: “vaya, este juego no es la gran cosa” y es cierto, el juego no es el mejor que hay de su clase, pero tiene merito que su elaboración haya demorado sólo quince días. Aprender a programar es una cosa, y aprender a hacer juegos es otra. Tuvo que aprender las dos y lo logró en un tiempo muy corto, eso demuestra que con mucho esfuerzo veremos el aprender a programar como una labor que no llegue a ser difícil.

El otro día hablaba con un compañero y le pregunté: “¿Qué tan difícil crees que sea aprender a programar?”. Su respuesta fue muy técnica y compartió conmigo información que puede resultar interesante para las personas que están aprendiendo, ya que trató un tema que habla sobre el proceso de aprender a programar hasta llegar a ser un programador. Su respuesta fue la siguiente:

No creo que la calidad de “programador”, de un individuo esté dada por la posibilidad de este de escribir código y hacerlo correr. Creo ante todo, que para considerarnos programadores debemos ser capaces de leer, juzgar y transformar código ajeno. Estas acciones son las que condicionan el epíteto profesional. El objetivo final siempre ha de enmarcarse en un diagnóstico del material fuente analizado. Dicho diagnóstico puede estar determinado por cualquiera de las conclusiones: “Ha sido construido de una manera óptima”, “esta construido de una manera eficaz, pero puede ser optimizado”, o “posee fallos fundamentales, debe ser reescrito”. Se ha puesto de moda el término curva de aprendizaje. Mientras más presuntamente corta sea esta, más aceptable resulta al público la herramienta. Dicha curva sólo es indicativo de los niveles de abstracción que posee el producto: entorno de desarrollo, framework o lenguaje; la complejidad ha quedado oculta, y pierde valor el “cómo lo hace” (operaciones de nivel inferior) y el “de qué depende” (manejo de dependencias internas estáticas y dinámicas), ante el simple, rápido, infalible e ignorante “qué hace”. En consecuencia, el dominio de una herramienta mediante la implementación de su curva de aprendizaje es una falsa ilusión, que a lo sumo, indica que acaba de aprender la muy pequeña parte que el equipo de desarrollo determinó que debía aprender para inducirle al usuario la cruel creencia de que a partir de allí, puede considerarse programador.

Desde una perspectiva didáctica y pedagógica, esta es una de las razones por la cual apoyo la enseñanza de la programación a través del empleo de herramientas libres. Puesto que lo anteriormente planteado debe suponer sólo un estadio, a partir del cual pasamos a estudiar las complejidades internas, las posibilidades de acceso a dicha estructura interior es determinante en el objetivo de auténticamente dominar un producto tecnológico software. Toda vez que se suprime esta posibilidad, mediante las limitaciones del software propietario, se extirpa del estudiante la vía de estudio, y aún peor, el interés, e incluso la estimación real de su importancia. De ahí que en ocasiones leamos currículums de desarrolladores con tres años de experiencia en el ramo y dominio pleno de diez tecnologías diferentes (lenguajes de programación). Cuando la triste realidad es, en tantos de estos casos, que no sólo no dominan dichas tecnologías, sino que ni siquiera conocen el sustento teórico básico, común a todas, que hizo posible en su momento el diseño y creación de las mismas. La red está rebosante de manuales de aprendizaje de programación en quince días, diez días e incluso veinticuatro horas. Espero ansioso el momento en que la tendencia decreciente de tiempo alcance el rango de minutos….

Es bastante técnico el escrito y para personas que aún están empezando, les recomiendo que lo lean varias veces hasta comprenderlo mejor. Parte de lo que dice es que un verdadero programador es aquel capaz de leer, juzgar y transformar código ajeno. Habla de la ilusión que genera la curva de aprendizaje, con esto quiere decir que se crean herramientas muy fáciles de aprender, y son fáciles porque omiten los conceptos abstractos que debemos emplear, esto nos permite hacer cosas de una manera sencilla que obvia el “cómo se hace” y “de qué depende”. Esto en muchos casos nos limita por aprender más al creer ya saberlo todo, gran error es. Luego habla de comenzar con un estudio básico para así irse adentrando en conceptos más avanzados... es totalmente cierto ver a diferentes personas que afirman saber programar en diferentes lenguajes de programación cuando en realidad no dominan de forma efectiva al menos tres de ellos... No crean que aprender a programar les llevará quince días.

Entonces, podemos concluir diciendo que:

  • Aprender a programar no es difícil para aquel que se esfuerza mucho y que pone mucha dedicación a su estudio.
  • Aprender a programar es un pesadilla para el que subestima la carrera y piensa que las cosas serán fáciles aún sin estudiar.
  • Podemos aprender a programar (recordando la definición expuesta al principio) en corto tiempo, según sea nuestro esfuerzo (ese tiempo estará definido como meses, mas no días, o semanas).
  • Para aprender a programar hace falta tener muchas ganas y motivación por la programación, si cumples esto y más, seguro lo vas a lograr y hacer lo que tú quieras hacer.

Siento que no puedo dejar las cosas así, puedo hablar mucho de este tema y también quería destacar la siguiente pregunta:


¿Qué tan difícil es saber todo sobre la programación?




Este es un salto al término anterior, mientras que lo otro era asentar las bases de la programación, en este apartado hablaré de los que ya son profesionales en el área y se desempañan laborando en la misma.

¿Qué tan difícil es ser un gran programador? La verdad es que difícil es responder esta pregunta, es complicado decir algo de lo que muchos estén de acuerdo, tal vez lo que diga para algunos será cierto, así como también para otros no. De lo que sí podemos estar seguro es que, si le preguntas a un programador con más de cuarenta años de experiencia “¿consideras que sabes todo de la programación?” lo más seguro es que sin importar qué tan arrogante sea, su respuesta será algo como: “No, aún me falta mucho por aprender”.
Como dije antes, la programación tiene un constante estudio, a medida que la tecnología avanza, también lo hace la programación, así que no hay forma de poder responder esta pregunta de una manera clara, es muy cuestionable presumir que sabes todo sobre la programación cuando el campo es tan grande... Los conocimientos que debemos llegar a adquirir deben ser muy variados, son tantas cosas las que tenemos que saber que no nos alcanzaría el tiempo para aprenderlas.

Poder decir que sabes todo sobre la programación es algo muy cuestionable, y llegar a ser un gran programador requiere años de estudio, y con esto podemos ver claramente a lo que hacía referencia con la constancia, como digo, son años de estudios. ¿Podemos decir que estudiar por tantos años sea igual a dificultad? No lo sé, cada persona tendrá su propia experiencia, además que no podemos determinar esto ya que no hay una cantidad especifica del estudio que la persona debe haber realizado.

Con respecto a esta pregunta, no diría que es difícil, concluiría con afirmar que es un compromiso de años de dedicación, cada día intentando mejorar más, mejorando la manera de escribir el código, siendo más ágiles en leer el código de otra persona hasta poder modificarlo y mejorarlo, aprender nuevos “trucos”, aprender más allá que cualquier otro, saber incluso cómo funciona el compilador, cómo trabaja el hardware, cómo se estructura un lenguaje de programación, tener altos conocimientos matemáticos, así como también entender la lógica, las matemáticas discretas, física y muchos conocimientos más componen los principios de un gran programador y eso, amigo mío, es algo a lo que no le puedo dar respuesta de qué tan difícil sea, lo que sí puedo decir es que con esfuerzo, dedicación, compromiso y muchos factores que afectan el emprendimiento positivo de la personas, puede que no resulte difícil, pero claro está, llevaría años en lograrlo...


También te puede interesar:



No hay comentarios