python aumenta cinco veces la productividad

20

Click here to load reader

Upload: francisco-palm

Post on 22-May-2015

857 views

Category:

Technology


4 download

DESCRIPTION

Características básicas que sustentan el aumento de la productividad en el desarrollo con el lenguaje de programación Python.

TRANSCRIPT

Page 1: Python Aumenta Cinco Veces la Productividad

Python aumenta 5-10 veces la productividad

¿es cierto?

Francisco PalmULA/Cenditel

Page 2: Python Aumenta Cinco Veces la Productividad

Motivación Aunque es algo que tan sólo se

puede asegurar en la experiencia propia...

Por lo general después de programar en varios lenguajes...

Es necesario argumentar Es necesario mostrar

Page 3: Python Aumenta Cinco Veces la Productividad

¿en comparación a? A los lenguajes compilados y de

tipos fijos como Java, C, C++ y VB, que la mayoría de los programadores siguen utilizando. Aunque puede ser más productivo

que otros lenguajes dinámicos

Page 4: Python Aumenta Cinco Veces la Productividad

Menos código No hay que declarar las variables

x,y,z = 2,'hola',pow

Cada variable adquiere el tipo del valor asignado

print z

<built-in function pow>

Page 5: Python Aumenta Cinco Veces la Productividad

Menos código No sólo medido en número de

líneas, no hacen falta “{“, “}” o “begin” “end”, o perolitos como “$” o “#” en los identificadores.

for i in range(5):

if i == 3:

print "i es 3"

Page 6: Python Aumenta Cinco Veces la Productividad

Interactivo de fábrica Al ser interpretado puede ser

utilizado en modo interactivo. Sirve como calculadora, shell o

ambiente de pruebas.

$python

$ipython

Page 7: Python Aumenta Cinco Veces la Productividad

Todo es un objeto En python no hay primitivas, todo

son objetos.

>>> "hola".upper()

'HOLA'

>>> int(1).__add__(1)

2

Page 8: Python Aumenta Cinco Veces la Productividad

Estructuras dinámicas Se cuenta con listas y diccionarios

de fabrica, son dinámicos, manejan cualquier tipo de datos:

l = [3,'cuatro',5j,[0x6a,0x6b]] d = {“fpalm”:

[“impulsivo”,”distraido”, “extravagante”]}

Page 9: Python Aumenta Cinco Veces la Productividad

Listas y comprensivas Forma compacta de hacer

programación funcional como si nada.

>>> li = ['tel','cite','cnti','a']

>>> [i for i in li if 'te' in i]

['tel', 'cite']

Page 10: Python Aumenta Cinco Veces la Productividad

Viene con pilas incluídas

La librería de python es extensa y no coarta las decisiones del programador.

import smtplib

server = smtplib.SMTP('localhost')

server.sendmail('x@z','y@z','hola')

server.quit()

Page 11: Python Aumenta Cinco Veces la Productividad

Autodocumentado El código puede ser su propio

manual de referencia.>>> def tome_pim(x):

... """ y haga pum! """

... return "pum(%s)" % x

>>> tome_pim.__doc__

' y haga pum! '

Page 12: Python Aumenta Cinco Veces la Productividad

Introspectivo Los objetos pueden verse a sí

mismos, y sacar lo mejor de ellos!.

[(met,met.__doc__) for met in dir(math) if not(callable(getattr(math,met)))]

Page 13: Python Aumenta Cinco Veces la Productividad

Captura de Errores Todos los errores se capturan

como excepciones, ¡y te dicen donde está el error!

Page 14: Python Aumenta Cinco Veces la Productividad

Captura de ErroresTraceback (most recent call last):

File "simredes.py", line 229, in <module>

lee_nom_arch()

File "simredes.py", line 90, in lee_nom_arch

a_entrada = open(nombre_e,'r')

IOError: [Errno 2] No such file or directory: '.DEF'

Page 15: Python Aumenta Cinco Veces la Productividad

Depurar es un placer Todo lo que ha querido hacer con

su depurador y no lo han dejado hacer...

import pydb

...

pydb.set_trace()

Page 16: Python Aumenta Cinco Veces la Productividad

Habla web El desarrollo web es ágil porque el

propio Python provee todo el stack.

import BaseHTTPServer

httpd = BaseHTTPServer.HTTPServer(('',8000), BaseHTTPServer.BaseHTTPRequestHandler)

httpd.serve_forever()

Page 17: Python Aumenta Cinco Veces la Productividad

web2py Demo!

Page 18: Python Aumenta Cinco Veces la Productividad

Sage Demo!

Page 19: Python Aumenta Cinco Veces la Productividad

Crunchy Demo!

Page 20: Python Aumenta Cinco Veces la Productividad

Conclusiones La respuesta final no está en el

código sino en la ideas que han guiado el diseño del lenguaje.

Python no será sino una promesa hasta que comiences a utilizarlo.

Los límites deben estar en el desarrollador no en la herramienta.