python un lenguaje de programación Ágil

Upload: aprender-libre

Post on 07-Apr-2018

236 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/6/2019 Python un lenguaje de programacin gil

    1/19

    Python,

    un lenguaje de programacingil

    Roberto Perdomo

  • 8/6/2019 Python un lenguaje de programacin gil

    2/19

    Sobre Python

    Caracteristicas

    Libreria Estandard

    En que proyectos Puedo utilizar Python?

    Por que utilizar Python?

    Quienes lo utilizan?

    Casos de estudio

    Comunidades Python

    Que es un lenguaje de programacin gil?

    Python

  • 8/6/2019 Python un lenguaje de programacin gil

    3/19

    Interpretado

    Requieren un entorno en tiempo de ejecucin (run time) o

    una mquina virtual.

    Sin tipos de datos o tipos de datos dinmicos.

    No es necesario declarar variables.

    Sin compilacin

    Que es un lenguaje de programacingil?

    Un lenguaje de programacingil incrementa

    increblemente la productividad

  • 8/6/2019 Python un lenguaje de programacin gil

    4/19

    La caracterstica fundamental de los

    lenguajes de Script...

    Incremento asombrosode la productividad

  • 8/6/2019 Python un lenguaje de programacin gil

    5/19

    Lenguaje EnsambladoLenguaje EnsambladoUna instruccin mquina por lineaUna instruccin mquina por linea

    Lenguajes de programacinLenguajes de programacin

    3 7 instrucciones m quina por linea3 7 instrucciones m quina por linea

    lenguajes de Scriptlenguajes de ScriptCientas de instrucciones mquina por lneaCientas de instrucciones mquina por lnea

    Productividad = El numero de instrucciones mquina queProductividad = El numero de instrucciones mquina quepuede escribir un programador por lneapuede escribir un programador por lnea

  • 8/6/2019 Python un lenguaje de programacin gil

    6/19

    Ninguno FuerteBajo nivel de tipeo

    EnsambladorEnsambladorlenguajes comuneslenguajes comunes

    Lenguajes de ScriptLenguajes de Script

    VB, ASPVB, ASP

    Python, Perl,Python, Perl,

    Ruby, TCLRuby, TCL

    CC

    C++C++

    JavaJava

    In

    strucciones/Declaraciones

    1000

    100

    10

    1

    Niveles en lenguajes y Productividad

    De "Scripting: Higher Level Programming for the 21st Century" by John K. Ousterhout.

  • 8/6/2019 Python un lenguaje de programacin gil

    7/19

    Los procesadores modernos hacen que la velocidad de

    ejecucin sea poco importante

    Muchas aplicaciones estn limitadas por la velocidad de la base

    de datos o la conexin de red, no por el lenguaje de

    programacin.

    Fcil de escribir interfaces a mdulos extensibles de C para

    optimizaciones.

    Es la velocidad de ejecucin del programa

    importante?

    Probablemente Python sea 10 veces ms lento que otroslenguajes de programacin, pero...

  • 8/6/2019 Python un lenguaje de programacin gil

    8/19

    Algunos lenguajes de

    Programacingiles (Script)

    Perl

    PHPPythonRuby

  • 8/6/2019 Python un lenguaje de programacin gil

    9/19

    Fu creado por Guido van Rossum, en el ao 1991 Es un lenguaje de programacin similar a Perl, pero con una gran

    capacidad de orientacin a objetos y un alto nivel en tipos de datos.

    Generalmente para producir codigo HTML en sitios Web. Genial

    para archivos de texto.

    Tipos de datos incluidos (listas, diccionarios).

    Sintaxis limpia, Extensiones poderosas.

    Python

  • 8/6/2019 Python un lenguaje de programacin gil

    10/19

    Distribucin estndar incluye librera de mdulos extensibles.

    Muchos otros mdulos estn disponibles

    Filosofa Bateras incluidas

  • 8/6/2019 Python un lenguaje de programacin gil

    11/19

    Sobre Python Caractersticas

    Lenguaje orientado a objetos dinmicos

    Los programas elaborados con Python parecen pseudo c digo (es sencillo)

    Soporta mltiples paradigmas:

    procedimientos, orientado a objetos, funciones.

    Expandible en C, C++, Fortran, ...

    Escrito en portable ANSI C (la mayor parte...)

    Corre bajo:

    Unix (linux), Windows, Mac, Palm, VxWorks, PlayStation 2, ... Nokia?

    Jython: versin Java , traduce los cdigos Python a Java

  • 8/6/2019 Python un lenguaje de programacin gil

    12/19

    GUI

    strings

    Expresiones regulares

    Conectividad a bases de datos

    HTTP, CGI, HTML, XML

    Procesamiento numrico

    Depurador

    La librera estndar de Python

  • 8/6/2019 Python un lenguaje de programacin gil

    13/19

    Ms sobre Python

    Lenguaje natural, legible Simple y poderoso

    Minimalista: todo aquello innecesario no hay que escribirlo (;, {, }, '\n') Muy denso: poco cdigo hace mucho. Soporta objetos y estructuras de datos de alto nivel: strings, listas,

    diccionarios, etc.

    Mltiples niveles de organizar cdigo: funciones, clases, mdulos, y paquetes. Python standard library(http://www.python.org/doc/current/lib/lib.html)

    contiene un sinfn de clases de utilidades. Si hay reas que son lentas se pueden reemplazar por plugins en C o C++,

    siguiendo la API para extender o empotrar Python en una aplicacin. Cdigo interoperable.

  • 8/6/2019 Python un lenguaje de programacin gil

    14/19

    Python no es el lenguaje perfecto, no es bueno para: Programacin de bajo nivel (system programming), como programaci n de drivers ykernels.

    Python es de demasiado alto nivel, no hay control directo sobre memoria y otrastareas de bajo nivel.

    Aplicaciones que requieren alta capacidad de computo. No hay nada mejor para este tipo de aplicaciones que el viejo C.

    Python es ideal: Como lenguaje "pegamento" para combinar varios componentes juntos. Para llevar a cabo prototipos de sistema. Para la elaboracin de aplicaciones cliente. Para desarrollo Web y de sistemas distribuidos (cliente servidor). Para el desarrollo de tareas cientficas, en los que hay que simular y prototipar

    rpidamente.

    Para que [No] es bueno Python?

  • 8/6/2019 Python un lenguaje de programacin gil

    15/19

    Por quutilizar Python

    Los lenguajes giles son ms productivos

    El cdigo Python es ms legible

    El cdigo Python es mantenible

    Python tiene tipos de datos de muy alto nivel

    El tiempo del desarrollador es mas importante que el tiempo del

    procesamiento del programa.

  • 8/6/2019 Python un lenguaje de programacin gil

    16/19

    Para qu sirve Python?

    Programacin de pginas Web (.psp .py CGI's) a travs delmodulo mod_python para Apache

    Interfaces Grficas (Tkinter, WxPtython)

    Programacin mono .NET (IronPython) Programacin Java (Jython)

    Programacin de juegos (Pygame)

    Programaci

    n de dispositivos m

    viles (sistemas S60 sobreNokia)

  • 8/6/2019 Python un lenguaje de programacin gil

    17/19

  • 8/6/2019 Python un lenguaje de programacin gil

    18/19

    Libros:

    Dive into Python (Chapters 2 to 4)http://diveintopython.org/

    Python 101 Beginning Pythonhttp://www.rexx.com/~dkuhlman/python_101/python_101.html Referencias: The Official Python Tutorial

    http://www.python.org/doc/current/tut/tut.html

    The Python Quick Referencehttp://rgruet.free.fr/PQR2.3.html

    Lecturas importantes

    http://diveintopython.org/http://www.rexx.com/~dkuhlman/python_101/python_101.htmlhttp://www.python.org/doc/current/tut/tut.htmlhttp://rgruet.free.fr/PQR2.3.htmlhttp://rgruet.free.fr/PQR2.3.htmlhttp://www.python.org/doc/current/tut/tut.htmlhttp://www.rexx.com/~dkuhlman/python_101/python_101.htmlhttp://diveintopython.org/
  • 8/6/2019 Python un lenguaje de programacin gil

    19/19

    Gracias...