programar00

Hace unos años Miguel de Icaza me hizo este comentario: “Para que Linux tenga éxito, este debe poder ser instalable por cualquiera. Debe ser ‘mom´s friendly (es decir, amigable hasta con tu mamá)’“, me decía. Y es el día de hoy que Linux, a pesar de todas las facilidades que han incorporado, sigue pareciendo difícil entrarle. Pero pienso que hay más un prejuicio que una realidad sobre este asunto. Hoy día, la computadora es uno de estos inventos que permiten sacarle provecho inmediatamente, sin tener que siquiera saber gran cosa de tecnología y menos de programación. Es algo así como un automóvil. Asumimos que quien se sube en él sabe conducirlo pero no necesita saber mecánica, ni la teoría del motor de combustión interna, ni de frenos AVS, etcétera. Simplemente se sienta en el lugar del conductor, arranca el coche y listo, ya se está moviendo.

Pero en el cómputo, a diferencia de un automóvil, es como tener una herramienta universal, con la cual podemos hacer muchas tareas interesantes. Hay quienes la usan como un procesador de palabras, otros pueden usarla para manejar y editar imágenes o videos. Hay quien la necesita para formar libros para incluso una editorial importante. Los matemáticos buscan ahora demostrar teoremas o conjeturas antes indemostrables utilizando la fuerza bruta del cálculo de los procesadores modernos. Vamos, que hoy en día se pueden hacer muchas cosas con la computadora.

Sin embargo, a veces tenemos una dificultad en estos procesos de la información, la cual no puede ser solucionada con ninguno de los programas que tenemos a la mano. Y es ahí donde pensamos que deberíamos saber programar la computadora. Un ejemplo curioso: en alguna ocasión me pidieron un programa en una escuela primaria/secundaria/preparatoria, que hiciese la lista de los alumnos y que manejara una pequeña base de datos de los mismos. Cuando escribí el programa, entre algunos detalles que incorporé -porque me parecían fundamentales- era la de imprimir las listas ordenadas de menor a mayor (alfabéticamente), o viceversa, si fuese el caso. Recuerdo que cuando les mostré el sistemita la administradora de la escuela estaba felizmente sorprendida y no entendía cómo un programa podía ordenar la información alfabéticamente. Quienes me encargaron el sistema -fue clarísimo- no tenían idea de cómo programar y lo que requerían era una versión simplona de una base de datos, por lo cual usar manejadores sofisticados (en ese entonces eran populares FoxBase y DBase) resultaba como “matar moscas a cañonazos”. Por ello, en este particular caso, el saber programar, aunque uno no sea un gurú del tema, fue una solución razonablemente aceptable.

Pero ¿qué se necesita para programar una computadora? ¿Qué lenguaje aprender? ¿Qué hay que hacer? Lo primero -sin duda- es tener interés y ser un poco terco. Aprender a programa es enseñarle a una máquina, una especie de niño muy tonto, instrucción por instrucción, qué queremos que haga. La sugerencia inicial es aprender algún lenguaje en boga y con tiempo en el mercado. Quizás no sea por ejemplo mala idea usar Javascript o de plano Java. La cuestión no es que el estudiante de pronto se sienta abrumado con un sinfín de características del entorno de programación o de la estructura que imponen los lenguajes modernos, con múltiples archivos de configuración, con el archivo del proyecto, etcétera. Sigamos la regla básica: KISS (Keep It Simple, Stupid).Mucha gente que se inicia o quiere iniciarse en programación comete errores, pecados originales, debido a la ignorancia. Les preguntan a sus amigos programadores y estos salen con soluciones como “aprende C++” o “Usa Python” o bien “Lisp es la solución gracias a su cálculo lambda”. Y lo único que logran con ello es que el eventual programador desista de meterse en estos líos.

Así pues, elíjase un lenguaje sencillo. incluso puede ser BASIC (hay versiones bastante estructuradas y gratuitas, como SmallBasic. Hoy en día hay todo tipo de información en internet, manuales, tutoriales en páginas web, con evaluaciones inclusive, lecciones por youtube, etcétera. Es tanta la información que habrá que ser selectivo. Dedique un par de horas por día a seguir algún tutorial. En la mayoría de los casos estos permiten ir avanzando en los conceptos fundamentales de programación. No espere sentarse un par de horas y ya saber programar un juego como Candy Crush. No funcionan así las cosas.. Se necesita ser terco. Si no entiende lo que le están explicando, vaya a otro tutorial, busque más información, lleve y guarde una lista con los sitios que le parece tienen información confiable o bien le gusta cómo le muestran las cosas.

Igualmente no es mala idea plantearse un proyecto. No se trata de hacer la última aplicación maravillosa, sino algo que quiera aprender a hacer. Por ejemplo, ¿Qué tal plantearse un programa como un editor de textos como en cuaderno de notas, o el programa de dibujo de Windows? ¿Qué tal un juego sencillo, quizás el desarrollar un gato? Hay muchísimas ideas y vale la pena ponderar cual es la que más nos interesa. Recuerde que no se trata de intentar hacer una aplicación que maneje objetos en tres dimensiones, con importación a formato .stl, por ejemplo, porque si hace esto seguro que estamos ante alguien que pronto desistirá de querer programar.

Lleve una bitácora, puede ser incluso un blog, en donde vaya indicando lo que se va aprendiendo. Plantéese las dudas razonables y busque en Internet las posibles soluciones. En serio, los buscadores actuales son grandes amigos que tienen la mayoría de las respuestas. Si hace esto, en principio, empezará a tener más soltura en cómo explicarle a la máquina lo qe se quiere hacer. No pretenda, insisto, en querer graduarse de programador en cuatro sesiones. Lleva años poder programar bien y es algo que se hace cotidianamente. Lea código de terceros, comparta su código y si puede, hágase de un grupo de programadores amigos que le puedan ayudar. En el mundo de la programación -en general- todos tienen buena disposición en ayudar.

Este es el primer paso. No tiene que ir rápido ni hacer lecciones o leer tutoriales a toda velocidad para aprender más rápidamente. Así no funciona el cerebro, que debe ir aprendiendo y acomodando los conceptos poco a poco. Es una labor de paciencia, de tesón, pero a la larga, se sentirá satisfecho.

Referencias:

Code.org

WikiHow

 

Enlaces Patrocinados
Comentarios