lunes, 8 de julio de 2013

ENTREVISTA CON AL SWEIGART SOBRE PROGRAMACIÓN PARA PRINCIPIANTES

Dedicada, si es que eso se puede (o se debe), a Tomi y Cristian.

ENTREVISTA CON AL SWEIGART

Autor de tres libros para principiantes sobre programación
www.inventwithpython.com


ANDRÉS LOMEÑA: Pregunta obligada: ¿por qué elegiste Python?
AL SWEIGART: Quería un libro que enseñara programación real, la que usan los desarrolladores de software profesional. En buena parte de los textos que pretenden enseñar programación a los niños se baja demasiado el nivel (Scratch es lo único que he encontrado que realmente funciona como una buena herramienta educativa de programación para niños).
Además, Python es el nuevo BASIC. Es libre, multiplataforma y tiene una sintaxis consistente.

A.L.: Dice que su libro es para niños de 9 o 10 años. ¿En serio? Me voy a sentir muy estúpido si no aprendo a programar después de leer sus obras. ¿Cuánto tiempo calcula que se necesita para asimilar los contenidos?
A.S.: Yo aprendí a programar en tercero de primaria. Sé que mucha gente siente ansiedad porque no fueron precoces, pero en el fondo todos los programas son muy parecidos. Yo entendí las variables, los bucles y el “goto”. Después de todo, los programas que hice no eran más que ligeras variaciones de otros que ya había visto. Los pequeños proyectos para aficionados son suficientes para divertirse.
He de admitir que los libros pueden no ser del todo adecuados para el estudiante medio. Quise escribir el libro que a mí me habría gustado leer cuando era niño. No es una cuestión de lo brillante o dotado que es el lector, sino de lo interesante que encuentra la programación. Como la mayoría de los programas que escribí cuando era niño estaban basados en otros, quise ofrecer una amplia variedad de programas que se pudieran realizar... y que a partir de éstos se pudieran sacar ideas. Incluso si no se entiende el código y la sintaxis al cien por cien, tienen un programa completo con el que jugar.
No tengo preparación formal en educación y sólo una modesta experiencia como educador. Basé las directrices de mi libro en lo que recuerdo que funcionaba cuando aprendí a programar. Creo que una comprensión completa del libro para un lector joven llevaría un esfuerzo a tiempo parcial de entre varios meses y un año.

A.L.: Un amigo informático y yo tuvimos un proyecto, que quedó inacabado, muy parecido al suyo, aunque con menos pretensiones. Me quita un peso de encima porque ahora sólo necesitamos dar publicidad a su libro. ¿Cómo fue el proceso de escritura?
A.S.: Escribí los libros mientras esperaba a que me cayera algún trabajo, así que para mí siempre fueron proyectos dentro de mi tiempo libre. Empleé unos dos años en Invent Your Own Computer Games with Python. Estuve trabajando en el libro de Pygame y en el de criptografía a la vez durante un tiempo. El libro de Pygame es el más breve de los tres. Microsoft Word me dijo que había gastado 1,450 horas editando el documento del que salió el libro sobre criptografía.
Como los libros se centran en proyectos de programación, escribí primero los programas y los tenía muy presentes antes de escribir los capítulos.

A.L.: Agradezco que haya publicado los libros con licencia Creative Commons. ¿Supuso un problema para la editorial?
A.S.: Bill Pollack de No Starch Press encontró el libro en la web y al principio le interesó publicarlo, incluso con una licencia Creative Commons. Al final, No Starch se echó atrás, aunque publicaron Python for Kids, un libro que recomiendo. Después decidí autoeditar el libro en impresión bajo demanda con la empresa CreateSpace.
La licencia Creative Commons es una de las razones del éxito del libro. Sin tener una copia electrónica disponible gratuitamente, nunca habría podido generar la publicidad boca a boca que necesitaba para vender copias en papel. Como autor, no me preocupa demasiado si los lectores “piratean” mi libro; lo que pido a las leyes de copyright es la capacidad para protegerme de quienes quieran coger mi trabajo y venderlo para su propio beneficio.

A.L.: En el mercado hay otros manuales parecidos al suyo: Python for kids de Jason R. Briggs y y la nueva edición de Hello World de Warren y Carter Sande. ¿Los ha leído?
A.S.: Los dos son muy buenos libros. Siguen un formato más convencional de enseñar el código introduciendo conceptos de programación de una manera ortodoxa: valores, variables, bucles, control de flujo, funciones, etcétera. Yo quería proporcionar un código para hacer pequeños programas y explicar los conceptos de programación cuando se usaran. De lo contrario, es muy difícil hacerse una idea de cómo “son” esos programas, o de cómo coger esos conceptos de programación para hacer algo divertido con ellos.

A.L.: ¿Veremos la tercera edición de su libro? ¿En qué trabaja ahora?
A.S.: No creo que haga una tercera edición. Después de terminar mi tercer libro, Hacking Secret Ciphers with Python, he decidido hacer una pausa en la escritura de libros y dedicarme a algunos proyectos personales de software. Tengo varias ideas para mi próximo libro. Hasta ahora han sido versiones de Invent Your Own Computer Games with Python para otros lenguajes: Inventa con Java (Java se usa mucho en las universidades), Inventa con Lua (parece que sólo hay unos pocos libros de Lua), Inventa con Scratch (porque es muy buena herramienta educativa) o Inventa con JavaScript (las aplicaciones web son muy populares). También tuve la idea de hacer un libro que se centrara en juegos multijugador con Python, explicando conceptos de redes básicos, pero probablemente no empiece a hacer nada hasta finales de 2013.

A.L.: Espero que sus libros sigan cosechando éxitos.
A.S.: Es difícil que los adultos lean mis libros. Tienen interés en programar, pero piensan que es demasiado difícil y que el manual terminará cogiendo polvo. Los niños no suelen tener esos bloqueos y ésa es la única razón de que sean mucho más rápidos en desarrollar nuevas habilidades.
Es una pena porque la programación es una de las actividades creativas que te permiten construir castillos en el aire. Dejando el ordenador a un lado, no cuesta nada escribir un programa interesante. No hay grandes demandas artísticas ni hay que comprar herramientas caras. Cuando has creado un programa, no cuesta esfuerzo distribuirlo a cualquier persona del planeta. Programar que un ordenador desarrolle una tarea un millón de veces más rápido y de forma más precisa que un humano es lo más parecido a la magia que he conocido.

8 de julio de 2013
Andrés Lomeña

No hay comentarios:

Publicar un comentario