Voy a ser claro desde el principio. Apoyo las
iniciativas tipo The Hour of Code donde a jóvenes y niños se les enseña el
proceso de creación de un software. También estoy de acuerdo con la enseñanza
de la programación como una materia básica en las escuelas equiparándola con
matemáticas, lenguas, biología, física, etc.
Estas iniciativas de enseñanza masiva de la
programación de software son ciertamente una herramienta para que los jóvenes;
(1) se interesen por las ciencias de la computación; (2) muchos que no lo
sabían se den cuenta que son buenos para las computadoras. Ahora bien, de ahí a
que todo el mundo aprenda programación; ¡No way!
No todo el mundo puede llegar a ser programador. La
programación no es un asunto para cualquiera. Es una tarea muy especializada
que requiere la combinación de actitudes, conocimientos y un ambiente correcto
para poder desarrollarse. En este artículo voy explicar algunas razones de mi
tesis.
Comencemos por el principio…
Hay que tener pasión para resolver problemas
La programación de software es para el individuo que
siente pasión por resolver problemas. La experiencia indica que no todo el
mundo le agrada la idea de andar resolviendo problemas. El proceso de resolver
problemas implica tener una mente proactiva, lista para el trabajo duro y
constante. La mayoría de las personas son perezosas en este sentido.
Toma tiempo dominar este arte
El que piense que ser programador es cuestión de un
evento, no está pensando correctamente o lo están desinformando
deliberadamente. Llegar a ser un programador eficiente es producto de un
proceso de aprendizaje que tarda años. La programación es un arte que se
aprende en modo “prueba y error”, consumiendo años de esfuerzo y energías. En
pocas palabras, requiere trabajo duro y constante para llegar al nivel de ser
productivo.
Hay que tener la actitud correcta
El programador debe tener una actitud positiva, y al
mismo tiempo, una mente tenaz. El proceso de escribir un código fuente es
complejo, envuelve tener pendiente
multitudes de detalles técnicos (sintaxis, variables, procesos, bucles,
entradas, salidas, etc.). La misma naturaleza de la tarea hace que cada paso
sea un desafío. Aquí no existen atajos.
No existe un asunto más tedioso y aburrido que
“debuggear” y luchar contra ese “sentimiento de impotencia” que surge cuando
tenemos un código fuente que no parece compilar nunca, aun cuando el código
luce estar perfectamente escrito. Sí, todos hemos pasado por esto, al final
sólo faltaba un “punto y coma” o cerrar una llave para que el código compilara.
Recientemente, leí en un ensayo de Paul Graham, que
el verdadero programador disfruta el proceso de
“debuggear”. No lo ve como una pérdida de tiempo sino que disfruta cada
segundo hasta encontrar la solución. Yo creo que Graham tiene razón. Si no te
gusta “debuggear” quizás no sientes pasión por este arte.
Pensar “outside the box”
Para aprender programación es necesario pensar de
manera abstracta. El pensamiento abstracto es fácticamente demostrable que no
le es atractivo al “Layman” o “Average Joe”.
Recuerdo perfectamente en la universidad aprendiendo
POO (Programación Orientada a Objetos) cuando el profesor explicaba los
términos: herencia, polimorfismo, objeto, método, clase, etc. La mayoría de los
estudiantes no captaban los conceptos. Era como si se les hablara en Mandarín.
La abstracción requiere dos cosas: (1) el método correcto de enseñanza; (2) una
mente fértil.
Planificación y diseño, luego ejecución
Codificar es una cosa, planificar y diseñar la
solución de un problema es otra cosa muy diferente. La mayoría de las personas
que he visto fracasar en el intento de convertirse en programadores tienen una
característica en común: no tienen una sólida base de conocimientos en
matemáticas y algoritmos.
Es cierto que la programación es un arte, pero al
mismo tiempo también es una ciencia. Es una combinación de creatividad y
estructura mental. No están separadas, al contrario, coexisten indistintamente.
Para resolver problemas computacionales es necesario
pensar “outside of the box”, pero para aplicar esa solución creativa, y
llevarla a la realidad, es necesario orden y estructura. Es aquí donde muchos
fracasan. No es posible llegar a una solución eficiente si no contamos con un
algoritmo que aproveche de la mejor forma los recursos computacionales
disponibles.
Hay que ser curioso
La mayoría de los programadores competentes son
personas muy curiosas. Les gusta aprender constantemente y averiguar el porqué
de las cosas. De hecho, la mayoría que conozco son autodidactas y no paran de
aprender. La programación no es estática. Es una profesión que viene en constante
evolución (nuevos lenguajes, IDE, Frameworks, etc.). Si no eres curioso y
dependes de otras personas para aprender, la programación no es para ti.
Estas son mis seis razones básicas del porqué
establezco que la programación no es para todo el mundo. Ciertamente, puedo
escribir más razones que avalan mi tesis pero en realidad estas son las que más
peso, según a mi juicio, tienen para exponer mi punto.
Antes que te vayas quiero que contestes las
siguientes preguntas:
Si has intentado aprender programación y has
fracasado, ¿cuál crees tú que han sido las causas?
Aun leyendo este artículo, ¿crees que tú que mis
puntos son válidos o no? ¿Por qué?
Tus opiniones son importantes para nosotros. Por
favor, deja tu comentario aquí debajo en este post.
¡Au revoir!
Editor: Teólogo-Ingeniero Informatico: Roberto Romero Prensa Digital Notic Voz el Cajigalense; Yaguaraparo, Municipio Cajigal, Estado Sucre, Venezuela. Dirección Internet: http://robertoromeropereira.blogspot.com/
0 comentarios :
Publicar un comentario
PUEDES DEJARNOS SUS COMENTARIOS, GRACIAS.