Beneficiándose con Python Ricardo Calixto Quesada

Slides:



Advertisements
Presentaciones similares
Desarrollo de aplicaciones en n- capas
Advertisements

Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. La intención de Sun era crear un lenguaje.
SERVICIOS WEB EN.NET INTEGRANTES: ADRIANA BLANCO PEÑA MIRIAM SORIANO HERNANDEZ ALVARO PETROVICH CID CONTRERAS LUIS RAMIREZ PALESTINO.
Sistema de Información Cultural, CONACULTA México, 2006 SiC / RENiC Aspectos técnicos relevantes para un Sistema de Información (SI)
Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Esta obra está bajo una licencia de Creative Commons.
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
INTRODUCCIÓN A JAVA.
JAVA.
Ing. Enrique Meneses. Son las instrucciones detalladas que controlan el funcionamiento de un sistema de computación. Funciones: 1. Administrar los recursos.
Java Applets Ing. Martín Jiménez.
GRUPO: SILVIA PAZMIÑO BELEN AGUILERA JUAN JOSE PARRA
PHP: GENERALIDADES DE LA TECNOLOGÍA
Entornos de programación
Hernández Guadarrama Luis Daniel
© Manuel ColladoEntornos de Programación-1 Entornos de programación Concepto, funciones y tipos.
Daniel Correa Botero.  Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Java Mayra M. Méndez Anota.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
PRINCIPIOS DE PROGRAMACION ESTRUCTURADA
Visualizador de imágenes remotas Alumno: Juan Pablo García Ortíz Director: Vicente Gonzalez Ruiz.
Portal Docente Virtual : Grupo Andaluz de Investigación: ‘Topología Computacional y Matemática Aplicada Proyecto Fin de Carrera Realizado por: Pablo Germán.
3 PROGRAMAR EN UN LENGUAJE DE HIPERTEXTO L.I. OSWALDO MARTINEZ C. EDPW.
Programación e Ingeniería de Software III
Herramientas Alternativas Para el Desarrollo de VideoJuegos
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Programación de Sistemas
Paulina Guevara UNITA - IBARRA. Lenguaje de programación orientado a objetos y procedural. Un Sistema Gestor de Bases de datos o Database Management System.
Lenguajes de programación Web
Tecnologías web.
Fundamentos de Lenguajes de Programación Integrantes: Jeremías Ramírez Gustavo Canales.
Curso de Java La tecnología Java
Leonard Camacho. DCom  Tecnología propietaria de Microsoft.  Extiende el modelo COM de Microsoft.  La “D” es debido al uso de su versión DCE/RCP, conocida.
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Curso: Desarrollo web con php
 CLIPS es una herramienta que provee un entorno de desarrollo para la producción y ejecución de sistemas expertos. Fue creado a partir de 1984, en el.
Java ??? Ing. Rolando Steep Quezada Martínez
UTFSM-Electrónica1 Fundamentos de Java Agustín J. González Programación de Sistemas: ELO-330.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
DOCUMENTO: LOS DIFERENTES LENGUAJES DE PROGRAMACIÓN PARA LA WEB POR: JUAN RICARDO VILLEGAS.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Cristian Fonnegra Marin
Programación Java y Desarrollo de Aplicaciones Modulo 3 Lenguaje de programación Java Software utilizado.
Metodología de la programación
CMS DRUPAL HERRAMIENTAS DE DISEÑO CARLOS LLANOS V. JENNIFER QUINDE G. JUAN MACIAS B. KERLY UBE.
Nombre: Germania Ruiz UNIVERSIDAD TECNOLOGICA AMERICA.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
ISAES Universidad Fundamentos de la tecnología
Sistemas Operativos Windows Mac Os Solaris Android Unix.
KompoZer Es un completo sistema de Web que combina archivos Web manejables y de fácil uso del editor de páginas WYSIWYG. Hay binarios disponibles para.
SISTEMAS DE GESTIÓN DE CURSOS DE DISTRIBUCIÓN LIBRE
.NET Multiplataforma (Windows, Linux, OS X)
Presentación Técnica DESCRIPCIÓN DE LA TECNOLOGÍA UTILIZADA PARA EL DESARROLLO DEL SISTEMA.
¿ Por que utilizar Java y la POO
Ing. Lorena Ruhl - Marco Rapallini - Javier FabiánMódulo 3: Integración de PHP con Bases de Datos Ing. A. Lorena Ruhl Universidad.
Diseño y Programación Orientados a Objetos1 Introducción a Java.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Instalación del Eclipse para usar en Python Por Cristian Suárez Sistemas Operativos 1 Año 2010.
LENGUAJE DE PROGRAMACIÓN PARA JUEGOS Integrantes: Ruiz José Vargas Mary.
=MARCOS DE TRABAJO ORIENTADO A OBJETOS= « NETBEANS » INTEGRANTES: SOTELO CORTES JESVAN FIDEL JIMENEZ ALFARO ARTURO CAMARA.
SYMFONY Información del Framework. Síntesis de Symfony  Es un framework diseñado para optimizar el desarrollo de aplicaciones web creado con PHP5. 
COMUNICACIÓN Y TICS KÁROL FERNANDA BARRAGÁN M. JENNYLITH DAYANA ARDILA P. WENDY PAOLA PINTO F.
ESTRUCTURA DE DATOS RETO 2: PYTHON. QUÉ ES PYTHON PYTHON ES UN LENGUAJE DE SCRIPTING INDEPENDIENTE DE PLATAFORMA Y ORIENTADO A OBJETOS, PREPARADO PARA.
 Trabaja con el esquema relacional surgido en los laboratorios de IBM  La instalación completa ocupa alrededor de 10 Mb incluyendo librerías, ejemplos.
Avalos Vega Claudia Judith
Ingeniería de Sistemas. Programación II Python ¿Qué es Python? Python es un lenguaje de programación creado por Guido Van Rossum a principios de los.
Transcripción de la presentación:

Beneficiándose con Python Ricardo Calixto Quesada

1ra parte ● ¿Qué es Python? ● Puntos fuertes / débiles de Python ● Python como 1er o 2do lenguaje

¿Qué es Python? ● Es un lenguaje de programación interpretado, interactivo y orientado a objetos. ● Es potente pero con una sintaxis clara. ● Tiene módulos, clases, excepciones, tipos de datos de alto nivel. ● Es de tipeo dinámico. ● Posee interfaces a muchas “system calls”, bibliotecas, y sistemas de ventanas.

Interpretado, interactivo... ● Interpretado – No es compilado a “nativo” – Es compilado a “bytecode” en tiempo de ejecucion – Máquina virtual ● Interactivo ● O sea, es un lenguaje “script”

Orientado a Objetos ● Tiene clases ● Herencia múltiple ● Polimorfismo ● Excepciones, etc.

Sintaxis clara pero potente ● Sintaxis clara – Fácil de aprender – Fácil de leer – Fácil de mantener ● Muy potente – Sintaxis poderosa – TDA de alto nivel ● Diccionarios ● Listas ● Tuplas

Python Zen nos dice...

Documentación ● Excelente documentación ( – Actualizada – Completa – Tutoriales – Referencia del lenguaje – Referencia de las bibliotecas – API “C” de Python – Como se extiende, embebe ● Libros: – Python Essential Reference ●

Soporte ● Es “community supported” – comp.lang.python, python-list, foros, IRC – Múltiples bibliotecas/wrappers dentro/fuera de Python: ● Gráficos: OpenGL, SDL ● Protocolos: ftp, http, smb, smtp, snmp, rpc, telnet, etc. ● Crypto: AES, 3DES, public key, hash, etc. ● Toolkits: QT/KDE, GTK/GNOME, MFC, wxWindows, TK ● DB: ODBC, DBI, postgres, mysql, oracle, etc. ● XML: DOM, SAX

Herramientas de desarrollo ● IDE / Editores – Emacs / X-Emacs – PythonWin – IDLE – Vim / gvim – Visual Python ● Profilers ● Unit Test framework ● Documentadores

Desarrollo rápido ● Entre 3 a 5 veces más rapido que Java ● Entre 5 a 10 veces más rapido que C++ – “Lo que un programador Python hace en 2 meses, un programador C++ no lo termina en 1 año” Herramie ntas de desarrollo Sintaxis clara Potencia Documenta ción Desarrollo rapido Soporte

Velocidad de ejecución ● Python es más lento que los lenguajes “nativos” (C, C++) ● Encontrar el punto justo – En Python se puede hacer “todo” – Usar profiler para encontrar los “cuellos de botella” – Optimizar – Si no alcanza la optimización en Python “extender”

Python es extensible ● Es extensible – Agregar nuevos tipos de datos más complejos – Llamadas a nuevas “system calls” – Wrappers a distintas bibliotecas ● Crypto, protocolos, toolkits. – “Nativizar” por performance ● Lenguajes: – C: ( – C++: (

Python es embebible ● Es embebible. – Metemos dentro de nuestra aplicación (nativa) a Python – Múltiples intépretes Python a la vez. ● ¿Cuándo embeber? – Cuando queremos extender nuestra aplicación: ● Para customizar ● Agregar funcionalidad más facilmente – Es fácil

Portable, multiplataforma ● Portable – Linux – Windows – FreeBSD – Solaris – Palm :-) ● Multiplataforma – “Codear una sola vez, correr en todos lados” – Aunque Muchas extensiones de 3ros son para un solo OS

Y más... ● Excelente para principiantes / expertos – Scripts -> estructurado -> objectos – Metaclases, generators ● Escalable – Se pueden hacer proyectos chicos / grandes ● Simple pero elegante ● Estable y maduro ● Es “pseudo-código” ejecutable ● Licencia OpenSource ● Desarrollo del lenguaje abierto – PEPs (

Según la mitologia griega 1.Python fue una serpiente / dragón muy mala 2.Protegía el oráculo Delfos 3.Le habían vaticinado su muerte en manos de un hijo de Leto 4.Hera, que era malvada y celosa mandó a Python a matar a Leto 5.Leto justo había parido gemelos unos días antes de encontrarse con Python 6.Apolo, unos de esos gemelos, con sus flechas mató a Python 7.Y así Apolo se apoderó del oráculo de Delfos

2da parte ● Casos de estudio – TEG – IMPACT ● Otros proyectos que usan Python

Caso de estudio #1 ● Tenes Empanadas Graciela – En C (2 meses aprox) ● Anda solo en Linux + GNOME – En Python (5 días) ● Anda en Linux, Windows, Mac OS X

Caso de estudio #2 ● CORE IMPACT – Kernel en C++ – Desarrollo de módulos / bibliotecas en Python

Otros proyectos con Python ● Google ● Yahoo Groups ● Blender (emb) ( ● mod_python (emb) ( ● Zope (ext) ( ● Administración de AT&T ● Instalador de RedHat ● GIMP (emb) ( ● BitTorrent (100%) ( ● X-Chat (emb) ( ● PyDance (ext) (

Apolo matando a Python

Mitología moderna ● Python murio desangrada ● La sangre nunca se secó ● Guido van Rossum un día bebió de esa sangre ● Python se se reencarnó en Guido. ● ¿Para vengarse de Apolo ? ¿Para cuidar nuevamente el oráculo ? ¿...?

Fin ¿ Preguntas ?