python vs java (notbarralibrecamp)

19
 vs.

Upload: jjimenezlopez

Post on 03-Jul-2015

2.423 views

Category:

Technology


7 download

DESCRIPTION

Created by Miguel A. López y Jose Jiménez for NotBarraLibreCamp (http://notbarralibrecamp.info)

TRANSCRIPT

Page 1: Python vs Java (NotBarraLibreCamp)

   

vs.

Page 2: Python vs Java (NotBarraLibreCamp)

   

¿Quiénes Somos ?

Patronos: Intecna Soluciones y Sun Microsystems

Nacimiento: Noviembre 2006

Sedes: 

Granada (sede principal)Ciudad del Saber (Panamá)Fort Lauderdale (EE.UU.) (representación)

Número de Investigadores: 25

Page 3: Python vs Java (NotBarraLibreCamp)

   

¿Quiénes Somos ?Centro de Innovación Tecnológica cuyos fines 

principales son:

        el fomento, la promoción y la divulgación de actividades dirigidas a la

investigación y el desarrollo del Software Libre en las Tecnologías de la Información y las

Comunicaciones (TICs), contribuyendo con ello a la mejora de la competitividad y la capacidad

de la I+D+i, así como la consolidación del sistema “Ciencia­Tecnología­Empresa” mediante la

innovación y el desarrollo tecnológico.

Page 4: Python vs Java (NotBarraLibreCamp)

   

Un vistazo al uso de los lenguajes 

Proyectos Java

DISETI

Plamsi

Mapache

RPDI

Gryphone

Proyectos Python

Irradia

SI­FIA

Otros lenguajes

CLEVER­VO

Cultura Blog

Page 5: Python vs Java (NotBarraLibreCamp)

   

Flame wars: Las reglas

Dividido en Rounds

Aplicaciones de escritorio

Aplicaciones webs

Integración de servicios

Vídeo juegos

“Libre”

Puntuaciones

Cada Round puntúa 1 o 3 puntos para el perdedor y ganador respectivamente.

El ganador del Round “Libre” gana 5 puntos.

Page 6: Python vs Java (NotBarraLibreCamp)

   

¡FIGHT!

Page 7: Python vs Java (NotBarraLibreCamp)

   

Round one: Aplicaciones de escritorio

Swing y SWT conforman una API 100% usable para aplicaciones de escritorio

Persistencia de datos

En la API estándar

Librerías comerciales como Hibernate o JPox

Transabilidad y cache configurables y transaparentes para el programador

Page 8: Python vs Java (NotBarraLibreCamp)

   

Round one: Aplicaciones de escritorio● Bindings de librerías gráficas multiplataforma:

● PyGtk (GIMP, gEdit, etc.) y PyQt (Eric y Qtorrent).

● WxPython (wxWidgets de C++).

● PySWT.

● ORMs:

● SQLAlchemy. Destaca por ser facilmente extensible mediante plugins. 

● SQLObject.

Page 9: Python vs Java (NotBarraLibreCamp)

   

Round two: Aplicaciones web

MVC Bien asentado

Spring. Inyección de dependencia

Strut v1 y v2, no nos preocupamos del mapa web

 JSF. Conjunto de widget para desarrollo rápido de webs

IceFaces. Un conjunto más amplio de Widget que incluye widget con Ajax

Atmosphere. Api para AjaxPush/Commet

Page 10: Python vs Java (NotBarraLibreCamp)

   

Round two: Aplicaciones web●  Frameworks de renombre: 

● Django. ORM y sistema de plantillas propios. Comunidad muy activa.

● Pylons. Dicen que combinan lo mejor de Ruby, Python y Perl. Por defecto usan SQLAlchemy y Mako como sistema de plantillas.

● TurboGears, web2py.

● Sencilla integración con Ajax y Comet.

● Orbited.

Page 11: Python vs Java (NotBarraLibreCamp)

   

Round three: Integración de servicios

● RMI:  Interconexión  entre  registro  de  objetos.  Ejecución Distribuida transparente

JBI, OpenESB, BPELs Permiten componer servicios.

● Servicios  web  con  JAX.  Que  unidos  a  las  Anotaciones  nos brinda grandes capacidades con un coste mínimo.Transaccional

Seguro

También posee API para RESTful

JMS. Servidor de cola de mensajes●

Page 12: Python vs Java (NotBarraLibreCamp)

   

Round three: Integración de servicios

● Pyro. Python Remote Objects. Muy simple y sencillo, solo con añadir unas pocas lineas a tu código Python puedes publicar un objeto.

● REST. Existen decoradores para Pylons. Y con django­rest­interface podemos fácilmente publicar una API REST para nuestra aplicación Django.

● Servicios Web mediante librerías como SOAPpy y ZSI.

Page 13: Python vs Java (NotBarraLibreCamp)

   

Round four: Vídeo juegos

Una API 2D, 3D en la versión estándar

Soporte para Ogre3D

LWJGL

OpenGL

Gamepad, joystick

Sonido y música 

JPGL. Otro engine 3D con muy bajo coste en memoria y grandes prestaciones.

Todos los videojuego móviles (JME)

Page 14: Python vs Java (NotBarraLibreCamp)

   

Round four: Vídeo juegos

● Pygame. Conjunto de módulos para creación de juegos 2D.

● Herramientas 3D como Blender y Maya usan Python para automatización y control de tareas.

● Soya. Módulo Python para creción de juegos 3D. (Renderización, sonido, simulación de la física).

● Empresas como Kandor Graphics usan aplicaciones Python como Shotgun Software para gestionar los contenidos de los frames de sus películas (luces, ambiente, cámaras, etc.)

Page 15: Python vs Java (NotBarraLibreCamp)

   

Round five: Libre

Reglas:

Ahora empieza el Barcamp, todos participamos. 

Cada uno de nosotros intentaremos superar al otro, para esto necesitaremos vuestra ayuda.

Page 16: Python vs Java (NotBarraLibreCamp)

   

Round five: Libre● “{“,”}”,”;”   REFACTORIZACIÓN→

● Quien sabe JAVA sabe Android

● Puede desarrollar para web, escritorio y móvil. 100% compatible.

● MXBeans   Permite acceder en tiempo de ejecución →a los valores y métodos de los objetos.

● Los IDEs son mucho más completos y potentes

● JavaFX. Una vista única en J plataforma

● Sistemas empotrados usan JAVA (TDT)

Page 17: Python vs Java (NotBarraLibreCamp)

   

Round five: Libre

Sintaxis simple. Lo importante no son las “{“ y “;”.

Codificación entre 5 y 10 veces más rápida [1]

No hay fase de compilación.

Tipado dinámico.

Zen de Python:

La legibilidad cuenta.

Simple es mejor que complejo.

Si la implementación es difícil de explicar, es una mala idea.

No son tan necesarios IDEs potentes y pesados.[1] http://www.python.org/doc/essays/ppt/acm­ws/sld024.htm

Page 18: Python vs Java (NotBarraLibreCamp)

   

Y ahora... ¿Quién gana?

Por cada Round, vamos a obtener puntuaciones para cada lenguaje.

vs.

Page 19: Python vs Java (NotBarraLibreCamp)

   

MUCHAS GRACIAS

Miguel A. López [email protected] 

@Alakat_

Jose Jimé[email protected] @vrolloc

www.fidesol.org