python un lenguaje de programación Ágil
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...