9 de enero de 2006

iProg

En este post decidí relatar la experiencia que he tenido en
estos últimos días al aprender a programar. El lenguaje de
programación con el que llevo a cabo este objetivo es Python

Aclaro que no me ha resultado fácil. El aprender
a programar es muy parecido a aprender matemáticas, química
o física. Todos estos campos tienen en común el manejar lenguajes
formales. Cada uno de ellos ha sido diseñado para una aplicacion
específica y por tanto, poseen reglas y sintáxis bien definidas
(al menos es lo que intentan organismos como la IUPAC, en el
caso de la Química).

El aprender a programar NO es tan parecido como aprender un nuevo
idioma, a pesar de que en ambos casos estamos aprendiendo a
comunicarnos. En este último caso, el aprender un idioma pertenece
al campo de los lenguajes naturales. Por ejemplo, en un poema
una sola frase puede tener varios significados, incluso cuando se
lee en varias ocasiones. En cambio, una sentencia en un programa;
una ecuación; una fórmula química, todos ellos tienen un significado
específico.

El primer obstáculo que he tenido ha sido habituar la
mente al siguiente proceso, el cual consiste en:

Plantear y definir un problema (situación real o inventada)

Traducir la solución de éste a un conjunto de instrucciones secuenciadas, para
que por medio de tareas sencillas (procesos iterativos, condicionales,
y reglas lógicas) se llegue a la solución final del problema.

Es a lo largo de este proceso donde el análisis y la síntesis están
interviniendo continuamente. Eso ha sido para mí la parte más interesante.

El siguiente obstáculo ha sido el aprender a ser un Sherlock Holmes, o
en otras palabras, encontrar la razón por la cual tu programa no hace
lo que tu deseas. Lo cual se puede deber a errores de sintáxis,
ejecución o semántica. Suena fácil, pero en verdad que en algunos
casos la cosa se complica. Citando al personaje de Arthur Conan Doyle:
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth" (The Sign of four). A esta etapa, los
programadores gabachos le llaman "debugging". Por aca a veces le
decimos depurar, otras debuguear. Por supuesto que para estos
casos la paciencia no solo es virtud de Buda.

El siguiente punto consistió en encontrar un buen libro para aprender
a programar. Gran parte de lo que aquí menciono lo encuentran en el libro
"How to Think Like a Computer Scientist-Learning with Python" de Downey,
Elkner y Meyers. En especial la primer parte del libro me ha resultado
muy útil (se puede considerar que el libro se compone de dos partes)
porque es básicamente una introducción a los fundamentos de la
programación.

Ya había escuchado varios comentarios favorables en torno a Python
y su papel todoterreno. Pero una de las razones que me hizo elegir
este lenguaje de programación es su sencilles y claridad en la
sintáxis, en las buenas prácticas de programación y en su
ejecución multiplataforma. En otras palabras, es el lenguaje más
versátil y amigable que conozco. En cuanto a su papel en el desarrollo
profesional, es de notar que el buscador Google implementa gran parte
de sus aplicaciones en Python.


En síntesis: Python es un lenguaje de programación sencillo,
elegante y poderoso, el cual da la posibilidad a muchos de
aprender a programar y generar sus propias aplicaciones, según
sean sus necesidades.

Pues estas son algunas reflexiones. Hasta la próxima.

1 comentario:

urkonn dijo...

Para facilitarte la tarea de "debugear" en la versión 2.4 de python existe el módulo pdb que es una maravilla.

Pythoneros uníos!

Salu2

Publicar un comentario