Python: programacion para el Poder Popular

21
Python, Programación para el Poder Popular Francisco Palm

description

Argumentación sobre el uso de Python como una herramienta para la enseñanza masiva de la programación como componente esencial de una verdadera alfabetización tecnológica.

Transcript of Python: programacion para el Poder Popular

Page 1: Python: programacion para el Poder Popular

Python, Programación para el Poder Popular

Francisco Palm

Page 2: Python: programacion para el Poder Popular

Resumen

● Ciudadanos poderosos, ciudadanos programadores

● Python CP4E● ¿Y porqué no el lenguaje “X”?● Python científico● Python político● Python social

Page 3: Python: programacion para el Poder Popular

Ciudadanos poderosos, ciudadanos programadores

● Alfabetización digital● Consiste en leer y ESCRIBIR

● LEER → Usar la computadora● Interpretar artefactos lingüísticos

● ESCRIBIR → Programar la computadora● Generar artefactos lingüísticos

Page 4: Python: programacion para el Poder Popular

Ciudadanos poderosos, ciudadanos programadores

● Lectores expertos → Administradores de Sistemas● Actualmente la gran mayoría de usuarios

de Software Libre en Venezuela

● Escritores expertos → Desarrolladores de Sistemas● En realidad, hay muy pocos

desarrolladores, y aún menos gestores de proyectos.

Page 5: Python: programacion para el Poder Popular

Ciudadanos poderosos, ciudadanos programadores

● La programación mejora en gran medida la comprensión de la informática.● Mejora la capacidad de los individuos de

resolver sus propios problemas

● ¿Cómo se aprende a programar? ¿Da igual cualquier lenguaje?

Page 6: Python: programacion para el Poder Popular

Python CP4E

● CP4E: Computer Programming for Everyone● Python es un lenguaje diseñado para la

enseñanza de la programación

● El proyecto incluía● Herramientas de programación● Materiales de enseñanza● Formación de comunidades

Page 7: Python: programacion para el Poder Popular

Python CP4E

● ¿Porqué es conveniente para principiantes?● Para empezar

print "¡ Hola, mundo !"

● Variables y entrada/salidaa = input()

b = a + 2

print b

Page 8: Python: programacion para el Poder Popular

Python CP4E

● Programación procedimentala = input()

b = a + 2

if b > 10:

print "¡ Más de 10 !"

● Programación estructuradadef cuadrado(valor):

return valor*valor

print cuadrado(5)

Page 9: Python: programacion para el Poder Popular

Python CP4E

● Programación orientada a Objetosclass miClase:

def __init__(self,valor):

self.valor = valor

def ladrar(self):

print "¡guau guau!"

miObjeto = miClase(5)

print miObjeto.valor

miObjeto.ladrar()

Page 10: Python: programacion para el Poder Popular

¿Y porqué no el lenguaje “X”?

● Libre y multiplataforma, .Net descartado.

● Es sencillo y fácil de mantener, no como C o C++.

● Además, no es corporativo como Java.● Multipropósito, PHP es sólo para la web.● Es coherente, a diferencia de Perl.

Page 11: Python: programacion para el Poder Popular

¿Y porqué no el lenguaje “X”?

● C++● Veloz, pero

propensoa accidentes.

Page 12: Python: programacion para el Poder Popular

¿Y porqué no el lenguaje “X”?

● Java● Requiere mucha

experticia, es lento y necesitamucha máquina.

Page 13: Python: programacion para el Poder Popular

¿Y porqué no el lenguaje “X”?

● PHP● Por más que insistas

sirve para unasola cosa.

Page 14: Python: programacion para el Poder Popular

¿Y porqué no el lenguaje “X”?

● Perl● Funciona a su manera

Page 15: Python: programacion para el Poder Popular

¿Y porqué no el lenguaje “X”?

● Python● Diseñado para ser lo que es, ni más ni menos.

Page 16: Python: programacion para el Poder Popular

¿Y porqué no el lenguaje “X”?

● La Paradoja de Python (Paul Graham): ● En una reciente charla dije algo que

molestó a mucha gente: que puedes conseguir programadores más inteligentes para trabajar en un proyecto Python que los que podrías conseguir para trabajar en un proyecto en Java.

Page 17: Python: programacion para el Poder Popular

¿Y porqué no el lenguaje “X”?

● No quise decir con esto que los programadores de Java son tontos. Quise decir que los programadores de Python son listos. Aprender un nuevo lenguaje requiere mucho esfuerzo. Y la gente no aprende Python porque les ayudará a conseguir un trabajo; lo aprenden porque verdaderamente les gusta programar y no están satisfechos con los lenguajes que ya conocen.

Page 18: Python: programacion para el Poder Popular

Python científico

● El nicho indiscutible de Python son las aplicaciones científicas y de análisis.● Ideal para aplicaciones estadísticas, SIG,

calculo numérico, etc.

● Tiene aplicaciones en la toma de decisiones en ámbitos como de la gestión pública, la gestión de riesgos, las salas situacionales, etc.

Page 19: Python: programacion para el Poder Popular

Python político

● En el referendum del 2004 corrieron las teorías mas disparatadas de fraude basados en los resultados publicados por el CNE.

● El análisis más claro y revelador era un sencillo script de Python. ¡Y podías revisar el modelo y ejecutarlo en casa!● http://www.venezuela-referendum.com/

Page 20: Python: programacion para el Poder Popular

Python social

● La superioridad de Python no está en términos tecnológicos (como presumen algunos), ni en cantidades invertidas en publicidad o comisiones (como ocurre con otros).

● Python es superior porque se adapta mejor a las personas.

Page 21: Python: programacion para el Poder Popular

Demostraciones

● Si queda algo de tiempo...