python: programacion para el poder popular

Post on 03-Jul-2015

438 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

Python, Programación para el Poder Popular

Francisco Palm

Resumen

● Ciudadanos poderosos, ciudadanos programadores

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

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

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.

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?

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

Python CP4E

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

print "¡ Hola, mundo !"

● Variables y entrada/salidaa = input()

b = a + 2

print b

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)

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()

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

¿Y porqué no el lenguaje “X”?

● C++● Veloz, pero

propensoa accidentes.

¿Y porqué no el lenguaje “X”?

● Java● Requiere mucha

experticia, es lento y necesitamucha máquina.

¿Y porqué no el lenguaje “X”?

● PHP● Por más que insistas

sirve para unasola cosa.

¿Y porqué no el lenguaje “X”?

● Perl● Funciona a su manera

¿Y porqué no el lenguaje “X”?

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

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

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

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.

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/

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.

Demostraciones

● Si queda algo de tiempo...

top related