El aprendiz de Python
Todo es muy fácil cuando se sabe cómo se hace. Sin embargo cuando alguien se acerca por primera vez a un lenguaje de programación y además necesita aprenderlo con urgencia se puede encontrar con una miríada de pequeñas dificultades. Lo que es obvio para los expertos se convierte en una pequeña pesadilla para los principiantes. Les contamos una pequeña historia de un aprendiz de Python.
Este relato está basado en hechos reales, tormentosamente reales. Pongámonos en situación:
Hay que entregar el trabajo final de una asignatura en un plazo de 10 días y para ello es necesario emplear un leguaje de programación. Todo parece indicar que Python es el candidato ideal. Se trabajará en remoto sobre un servidor. Nuestro protagonista jamás ha visto una línea de programación en este lenguaje y tiene poca experiencia en ningún otro.
El curso es a distancia y la comunicación con el profesor se realiza a través de foros. Esto supone que se lanza la pregunta y hay que esperar por la respuesta. Según el día y la hora en que se envíe el mensaje con la cuestión la respuesta puede estar disponible en una hora, o dos horas, pero también puede tardar 12. La ventaja es que siempre te puede responder un compañero.
El primer paso es buscarse algún manual sobre este lenguaje. Ahí, como siempre, se lanzaron plegarias a San Google de los desamparados. En esta ocasión se ha mostrado muy magnánimo y en pocos minutos se dispone de material de muy buena calidad.
El segundo paso es más que obvio, toca estudiarse los manuales que nos ha enviado el santo de nuestra devoción. El destino quiso que un largo viaje en tren se cruzase en el camino del aprendiz de python. Por otra parte la compañía de telecomunicación (que no el destino) decidió que no hubiese prácticamente cobertura de internet en todo el viaje. El aguerrido estudiante se metió entre hueso frontal y hueso occipital y del tirón uno de los manuales en el transcurso del viaje, eso sí, sin programar una sola línea sobre un ordenador. ¡Ya se había convertido en «programador de salón»! Se puede entender el concepto de programador de salón si uno compara al torero de plaza, que se tiene que enfrentar a un buen morlaco frente a otro que demuestra sus aptitudes en un bonito salón que además dispone de aire acondicionado.
No hace falta tener mucha imaginación para saber cuál tenía que ser la siguiente tarea: Pasar de las musas al teatro, pasar de programa sobre un procesador de textos a hacerlo donde se hacen estas cosas. Y surge la primera duda: ¿dónde o cómo se escribe un programa de verdad? ¡¡Al foro!! Horas más tarde le decían que era muy sencillo: ponía vi miprograma.py y dabas al intro. ¡Así de fácil!
¡Manos a la obra! Según lo visto en los apuntes de clase la primera línea tenía que ser #!/usr/bin/env python. Se intenta escribir pero el editor no se deja. Toca nueva consulta al foro. Horas más tarde comentan que lo primero que hay que hacer al entrar en el editor es pulsar la tecla «i» para que se ponga en modo de inserción.
Efectivamente, así era, tenían razón en el foro. Pues nada, a escribir unas pocas líneas para poder probar algo y a guardar… por cierto ¿cómo se guarda? Inútil es repetir a dónde se acudió.
Bueno, dice el profesor, sé que no es muy intuitivo, tienes que seguir estos pasos.
– Pulsas la tecla Esc
– Tecleas :wq (dos puntos, w, q)
– Das intro
Si quieres salir sin grabar lo mismo pero en el segundo paso haces :q!
¡Fenomenal! Todo iba funcionando, así que acabó de redactar su «programa mínimo» para hacer las pruebas.
¿Hemos dicho hacer pruebas? ¿Cómo se puede probar lo escrito? Dado que el programilla iba dirigido a hacer un trabajo con hadoop se tenía que lanzar sobre un fichero. El susodicho fichero ya estaba situado en la carpeta adecuada, puesto que esta actividad había sido objeto de una práctica anterior. El problema era que no sabía cómo hacerlo correr. Toca foro de nuevo.
Nada, muy sencillo, se hace cat mifichero.dat | ./miprograma.py y se le da intro. ¡¡Y NO funciona!!.
Pantallazo que incluye los comandos utilizados y la repuesta de la consola… ¡y por enésima vez al sitio habitual de peregrinaje!
La solución pasa por ejecutar previamente la instrucción chmod +x miprograma.py.
Y al final el aguerrido y exhausto aprendiz de python logró que su programa, ligeramente más complejo que el famoso «hola mundo», funcionase. Evidentemente el completar su primer programa en python con no más de 20 líneas supuso horas de depuración, pero eran cosas que se podían mirar en el manual o eran errores de escritura.
Hagamos finalmente un resumen de los obstáculos que hubo que superar:
– Búsqueda de manual
– Cómo se redacta el programa en el entorno de trabajo
– Necesidad de dar a la tecla «i» como primera actuación
– Ver cómo se graba el programa
– Ver la forma de ejecutar el programa
– Orden previa necesaria para correr el programa
– Fase de depuración
Supongo que para un buen informático todo esto es más que elemental. Lo que para un veterano no llega ni a un pequeño paso, para el principiante suponen un montón de grandes saltos.