python: programacion para el poder popular

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

Upload: francisco-palm

Post on 03-Jul-2015

438 views

Category:

Technology


2 download

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

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...