Tip:
Highlight text to annotate it
X
¿Qué tal? Iniciamos un nuevo proyecto con la misma ilusión de siempre y con más ánimos
que nunca. La gran repercusión que tuvo en facebook la noticia que puse de que estaba
empezando el curso es la prueba más rotunda del modo en el que Python ha calado en el
mundo de los desarrolladores, programadores e inquietos en general que nos movemos por
la red. La verdad es que son muchas y muy buenas las cosas que se escuchan de Python
desde hace años. Se trata de un lenguaje nacido en los años 90 y que aspira, sobre
todo, a ser sencillo, tanto de leer como de aprender. Este montaje que tenemos en pantalla,
llamada Python Zen, intenta transmitir su filosofía, presente también en su propio
logo, que se asemeja al arquetipo de jing-jang, que se ha convertido ya en un símbolo universal.
Comparado con programas escritos en otros lenguajes de programación, los programas
de Python se ven mucho más limpios y claros. Python prescinde de símbolos que no sean
estrictamente necesarios y usa nombres muy identificativos, aunque eso sí, en inglés.
Fue creado a principios de los 90 por *** Van Rossum y ahora es mantenido por una gran
comunidad, que es uno de sus principales activos, sin duda. Los que lo usan valoran especialmente
su productividad, una vez que dominas este lenguaje te permite trabajar mucho más rápido
que con otros lenguajes. Python además es tremendamente versátil. Soporta, desde luego,
programación orientada a objetos, aunque no obliga a usarla y llega con un amplísimo
rango de librerías ya preparadas para su uso en nuestros programas Python. Otra característica
muy práctica de Python es su sostenibilidad, al ser relativamente fáciles de leer y modificar,
es sencillo para los programadores mantener los programas Python actualizados. Porque,
aunque casi siempre se hable de desarrollo, lo cierto es que más de la mitad del trabajo
de los programadores se dedica al mantenimiento y actualización de programas. Y esa es una
de las razones que más pesan en la creciente atracción por el lenguaje Python entre los
desarrolladores. Por último, en esta rápida introducción, hacer referencia al nombre
de este lenguaje. *** Van Rossum, el creador de Python, ha dicho que le puso este nombre
a la troupe de geniales comediantes, llamados Monty Python, así que aunque posteriormente,
el logo de este lenguajes se base en el icono de dos serpientes, probablemente pitones,
lo cierto es que el nombre de Python viene de estos geniales comediantes. Recuerdo que
la primera vez, hace tiempo, que leí a que se debía el nombre de este lenguaje, empezó
ya a caerme simpático, era imposible que no fuera bueno cuando se basaba en un grupo
tan genial como monty Python. A la hora de elaborar el primer videotutorial de un curso,
uno de los primeros desafíos es dar con un título adecuado, más allá de llamarle introducción
o el famoso "Hola Mundo." En este caso creo que lo importante es intentar entender a que
se debe esta creciente e imparable popularidad de python. Algo tendrá el agua bendita para
que la bendigan, es un excelente refrán, totalmente aplicable a Python. ¿Qué tiene
python para recibir tantas y tantas bendiciones? Ya comentaba antes que en mi opinión, su
gran ventaja está en su tremenda versatilidad. Es un lenguaje que puede ser usado para escribir
cualquier tipo de programa. Es, por ejemplo, muy utilizado para el desarrollo de scripts.
Estamos en esta página, que es una página de desarrollo en 3D, pero en la que, como
podemos ver aquí, los scripts del programa se hacen con Python. Es algo muy común, el
utilizar python para el desarrollo de este tipo de programas cortos que automatizan tareas
y que dan vida a partes esenciales en programas 3D, son multitud los juegos escritos en Unity
que utilizan python como su lenguajes de scripts, pero también muchos otros. Python se utilizar
también cada vez de modo más generalizado, para el desarrollo de sitios web. Distintos
proyectos python, como Django, aquí lo tenemos en djangoprojecto.com, pero también bottle,
en bottlepy.org, o zope, en zope.org, son herramientas para el desarrollo rápido de
sitios web dinámicos que cada vez tienen más popularidad entre los desarrolladores.
Ya he comentado esta tarde que paralelamente al curso práctico de programación en Python
3, que estamos justo ahora empezando, espero llevar a cabo otro de desarrollo web con Django,
pero de todos modos, quiero enfriar un poco el entusiasmo. Hace apenas unas horas que
anuncié los cursos y se trata de trabajos que requieren tiempo, pausa, sosiego y paciencia.
Las reacciones de esta tarde en Facebook son, lo reconozco, emocionantes, pero también
tengo que decir que me preocupan, espero no crear unas expectativas que luego se vean
defraudadas. Se trata de un trabajo que va a llevar tiempo y espero de todos que tengan
paciencia, paciencia para dedicar, por un lado al trabajo propio, que es la clave, lo
diré siempre. Pero también para no desesperarse si no puedo seguir el ritmo que a algunos
les gustaría, pero que la realidad impide. Un tercer terreno en el que Python tiene una
creciente popularidad, es en el desarrollo de expresiones regulares y el trabajo con
algoritmos. De nuevo su facilidad hace que se adapte perfectamente para poder trabajar
con temas que en un principio son complejos. Si a esa complejidad se le añade un lenguaje
poco claro, la complejidad aumenta. La sencillez y calidad de python contribuyen a facilitar
el trabajo con todo lo que tiene que ver con procesamiento de textos complejos, expresiones
regulares, unicode, etc. y también muy relacionado con eso, está la auténtica eclosión de
librerías Python que tienen que ver con la computación científica. Son cientos las
magníficas librerías que están disponibles y que abarcan prácticamente todo el terreno
de trabajos con estadísticas, matemáticas, gráficos. Desde hace bastante tiempo tenía la idea
de hacer algo sobre python, pero al final no me acababa de decidir, hay un montón de
temas, temas también que me interesan mucho, lo que me empujó definitivamente a hacerlo
fue cuando hace unas semanas estuve mirando cosas sobre machine learning y al profundizar
un poco me encontré una vez más con que los lenguajes de programación que más se
están utilizando para uno de los terrenos que más importancia va a tener en el futuro
en todo lo que se mueve en internet, que tiene que ver con la minería de datos y la inteligencia
de las máquinas, pues una vez más tenía en los primeros puestos a Python, junto con
un lenguaje ya muy específico, estadístico, que es R, el otro más utilizado con diferencia
es python, y vemos aquí un ejemplo de esas librerías científicas que decía hace un
momento, en este caso centralizada en el trabajo con análisis de datos y lo que se conoce
como minería de datos. Y por último, last, but not least, la importancia que python tiene
cada vez más dentro de la educación y en concreto de la educación en informática
y programación. Porque, una vez más, su relativa simplicidad y funcionalidad, lo convierten
en un lenguaje apropiadísimo para la enseñanza, para la gente que quiere introducirse por
primera vez en el mundo de la programación, se lo hace mucho más sencillo y le permite
centrarse más en temas que tienen que ver con el propio trabajo más que con la sintaxis
que complica otros lenguajes de programación. Creo que con lo visto debería estar claro
que el interés de Python es indudable, aunque ni mucho menos eso signifique que es la mejor
elección en todos los casos. Aquí tenemos una comparativa de lenguajes de programación
que simplemente es para echar un vistazo de la cantidad enorme de lenguajes de programación
que existen. Hay muchos proyectos diferentes, que necesitan patrones, estrategias y métodos
diferentes. Y eso puede determinar también el uso de herramientas diferentes, incluido
el propio lenguaje de programación. Python se ha ganado un papel importante entre esas
herramientas por méritos propios y a intentar entenderlo dedicaremos el curso que es lo
que realmente importa y es a lo que vamos ya ahora. Vamos para empezar con la instalación
de Python. A lo largo del curso usaremos muchas de esas librerías de las que hemos hablado
y también otras herramientas y frameworks que se han desarrollado partiendo de la base
de Python, pero ahora para empezar el curso lo que vamos a hacer es instalar el propio
python, aquí estamos en su página oficial y aquí, como ves, están las dos ramas, la
de la versión dos y la versión 3. Por distintas razones, lo cierto es que la versión 2 de
python se sigue usando bastante, pero desde luego el curso vamos a hacerlo basándonos
en la versión 3, que se encuentra en la actualidad en la 3.3, aunque ya está en beta y se puede
utilizar también la 3.4. Puedes trabajar con python tanto en Linux, como en Mac y en
Windows y además existen otras implementaciones alternativas a la que podemos llamar la oficial,
algunas de ellas justo para adaptarse. Iron Python, para trabajar con la plataforma .NET,
Jython, para trabajar con la máquina virtual de Java, otras son para trabajos especializados
que comentábamos antes, por ejemplo para la minería de datos. Anaconda es otra versión
que se usa mucho. Pero, ahora, en el comienzo del curso, vamos a hacerlo, para no complicarnos
con este tema, con el instalador oficial de Python, que ya incluye todo lo necesario,
como veremos en un momento, para empezar a desarrollar. Así que elige la versión de
tu sistema operativo y lleva a cabo la instalación. En el caso de Windows son binarios, por lo
tanto, se ejecutan como cualquier otro programa windows. Una vez instalado, aquí tenemos
Python.exe, pero nos ha instalado también un GUI Python, un IDE, con el que vamos a
trabajar, que tiene el nombre de IDLE, que aquí puedes ver. Así que, una vez instalado,
lo primero, vamos a lanzar el IDE con el que vamos a trabajar. Así que pulsa y espera
a que se abra. Como vemos, al abrirse el shell, arriba aparece la versión de python con la
que estamos trabajando, la 3.3.3 en este momento. Por eso al curso le llamo 3.x porque seguro
que a lo largo del desarrollo del curso iremos utilizando otras versiones. Para ver el Shell
en funcionamiento, podemos llevar a cabo una multiplicación, pon los números que quieras,
asteriscos y pulsa enter y acabamos de ejecutar nuestra operación con Python. Sin complicarnos
más, contamos con la estructura necesaria para empezar a trabajar con python y a desarrollar
el curso. De todos modos, volver a hacer referencia a la tremenda versatilidad de Python. Ni mucho
menos estás obligado a trabajar con IDLE. Se puede trabajar con Python desde Visual
Studio, hasta con Eclipse, por ejemplo con Sublime Text. Lo digo porque puede que a lo
largo del curs, sobre todo porque visualmente es mucho más impactante y queda mejor en
los videotutoriales, no sólo por la estética, sino porque para entender el código también
se entiende mejor en sublime text, pues aquí he instalado unas cuantas herramientas, en
este caso incluyendo Sublime REPL, aquí vemos como tenemos entre las opciones Python y observa
como se abre exactamente lo mismo que veíamos en IDLE y del mismo modo también puedo llevar
a cabo la creación que hacíamos antes, observa que aquí estoy trabajando exactamente lo
mismo que estábamos trabajando en IDLE, pero en cuanto a la repercusión visual, importante
en los videotutoriales, es mucho mejor. Ya digo que puedes hacerlo con muchas otras,
prácticamente con todos los IDES y repito una vez que es una prueba de la tremenda versatilidad
de Python. Veamos para terminar este primer videotutorial del curso, el flujo de trabajo,
el proceso práctico de la programación. Proceso aplicable a cualquier lenguaje de
programación, en el que iremos indicando para cada paso, su uso concreto con Python.
Lo primero es determinar lo que se supone que nuestro programa tiene que hacer, lo que
se conoce como los requerimientos. En segundo lugar, escribir el código fuente, en nuestro
caso será el código Python, para ello podemos usar cualquier editor de texto, o una herramienta
como IDLE, de la que hablábamos cuando instalamos Pyhon. IDLE quiere decir Entorno de Desarrollo
Integrado para python, en este caso. Los archivos de código fuente de python terminan en .py,
por ejemplo web.py, url.py, limpiar.py, etc. El siguiente paso consiste en convertir el
código fuente en código objeto, usando para ello el intérprete de python. Python pone
el código objeto en archivos de extensión .pyc, por ejemplo si el código fuente es
url.py, pues el código objeto será url.pyc. El siguiente paso es lo que se denomina Run,
o ejecutar el programa. Con Python este paso suele hacerse de forma inmediata y automática,
después de que finaliza el paso dos. Los programadores en Python raramente trabajan
con código objeto en archivos pyc. Y por último comprobar la salida de el programa.
Si se descubren errores volver al paso anterior e intentar arreglarlos. El proceso de arreglar
errores se conoce como "Debugging" o depuración. En general a los contenidos de un archivo
.py se les suele llamar un programa, código fuente o simplemente código. y el código
objeto, el que está en los archivos .pyc, suele denominarse código ejecutable, simplemente
ejecutable o incluso software. En el siguiente videotutorial empezaremos ya a trabajar con
código y nos centraremos tanto en los aspectos orientados a objetos, como los no orientados
y también nos centraremos en crear aplicaciones sostenibles estudiando patrones de diseño
de alto nivel y desde luego también estudiaremos las librerías clave, como conectores a bases
de datos y GUI toolkits y como aplicarles principios orientados a objetos. Será a partir
del próximo videotutorial. Por hoy quedamos aquí, en esta primera introducción, nada
más, os habló Jesús Conde ¡Nos Vemos!