SlideShare una empresa de Scribd logo
1 de 36
Desarrollo políglota en la
plataforma Java
Opciones para elegir
Twitter

 Si usan Twitter pueden encontrarme en
   @domix
 Comenten sobre mi charla con el hashtag
   #synWeb
   #jaPol
Sobre mí

Ingeniero de software desde 1999, experiencia en Java
Colaboro en algunos proyectos OpenSource
  Plugins para Grails en Codehaus
Trabajo en @SynergyJ como CTO
Empece a usar Groovy en 2007 y Scala en 2008
Agenda

Plataforma Java
Soporte a múltiples lenguajes
  Jython

  JRuby

  Scala

  Groovy

Frameworks y herramientas
La Plataforma Java

Una de las mas usadas en aplicaciones empresariales
Mucha inversión por varias empresas de tecnología
Ha demostrado su estabilidad y madurez durante
varios años
Utiliza el lenguaje más usado: Java
Plataforma != Lenguaje
Plataforma -> JVM
Lenguaje -> SDK
Lenguaje Java

Muy ceremonioso
Criticado por hacer difícil lo sencillo
Se usa el compilador para ayudar al desarrollador
Zillions de lineas de código escritas en Java
Librerías prácticamente para todo
¿Solo se puede
usar el lenguaje Java?
Podemos usar 300 lenguajes

http://www.is-research.de/info/vmlanguages/300/
¿Porque usar otros lenguajes?
Lenguajes

Cada lenguaje tiene semántica y estructuras propias
Cada uno fue diseñado con ciertos objetivos
Podemos usar un lenguaje de propósito general, pero
es casi seguro que tengamos que escribir mucho
código
Al ofrecer opciones, el desarrollador elige la mas
adecuada para el
¿El futuro de Java?


 Radica en la JVM
 Y en su capacidad de ejecutar diversos lenguajes
Incorporación a la JVM


Lenguajes adaptados, “hacking” para que funcione
Lenguajes diseñados desde el principio con la JVM en
mete
¿Como elegir el lenguaje?
Facilidad de uso, experiencia
Lenguajes mas comunes
Python

Gran lenguaje
Sintaxis hermosa
Una gran comunidad detrás
Muchas librerías escritas en el
Lenguaje interpretado
Jython

Nace a finales de 1997
Python en Java
Idéntico a Python 2.2
Al igual que Python, Jython es dinámico
Se han tenido que hacer muchas adecuaciones para
que funcione mas o menos bien en la JVM
Ejemplo en Jython
from java.math import BigDecimal

# Creamos una instancia de BigDecimal
Numero = BigDecimal(0)

# A la variable "b" se suma 6
b = Numero.add(BigDecimal(6))

print b
Ejecución de Jython


java -jar jython.jar script.py
Usos de Jython

WebLogic Server Application Server's wlst tool
scripting using Jython
IBM WebSphere Application Server's wsadmin tool
scripting using Jython
ZK is a Java Ajax framework that allows glue logic
written in Jython.
Ruby
Lenguaje de propósito general, dinámico, orientado a
objetos
Es funcional, orientado a objetos, imperativo y reflectivo
Tipado dinámico
Es (era) el lenguaje que iba a matar a Java
Charles Nutter ha dicho que el futuro de Ruby esta en
JRuby
JRuby
Empieza su desarrollo en 2001
En 2006 Sun contrato a desarrolladores dedicados a
poder Ruby y Rails en la JVM
Actualmente el desarrollo lo lleva Engine Yard
Compatible con Ruby 1.8.7
Puede correr de manera interpretada, JIT o AOT
(Ahead of time)
Se han tenido que hacer “arreglos”
Ejemplo en JRuby
include Java

frame = javax.swing.JFrame.new()
frame.getContentPane().add(javax.swing.JLabel.new('Hello, World!'))
frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)
frame.pack()
frame.set_visible(true)




 require 'java'
 java_import java.lang.System
 version = System.getProperties["java.runtime.version"]
Scala
Empieza su desarrollo en 2001
Es orientado a objetos y funcional
Scala significa “Scalable Language”
El compilador de Scala genera byte code
Diseñado para vivir en la JVM y en otros entornos
como .NET
Pensado para concurrencia y para soportar ‘Actores’
Ejemplo en Scala
object HelloWorld extends Application {
  println("Hello, world!")
}



scalac HelloWorld.scala


scala -classpath . HelloWorld
Alrededor de Scala

Lift, framework de web con
características muy impresionantes
como el inverse Ajax.
Akka es una plataforma para
construir aplicaciones orientadas a
eventos, escalables y tolerantes a
fallos
Groovy
Empieza su desarrollo en 2003
Es un lenguaje orientado a objetos, dinamico
Diseñado para “robarse” cosas buenas de Python,
Ruby
Enorme comunidad
Muchisimos proyecto alrededor de Groovy
Mucho soporte de herramientas, Eclipse, NetBeans
Ejemplo en Groovy


  println "Hola Mundo"
Herramientas sobre Groovy
Testing
  Spock
  GMock
Construcción
  Gant
  Gradle
Frameworks
  Griffon - Swing
  Gaelyk - Web
  Grails - Web
Tendencias
ThoughtWorks Technology Radar

 http://www.thoughtworks.com/radar
Gracias
domingo.suarez@synergyj.com
Twitter: @domix

Más contenido relacionado

La actualidad más candente

Lenguajes programacion
Lenguajes programacionLenguajes programacion
Lenguajes programacionXavii Torres
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programaciónzanahoria2015
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaSantiago Sora
 
Lenguajes de programacion en pps en el Plantel de Zacualpan, Tlaxcala
Lenguajes de programacion en pps en el Plantel de Zacualpan, TlaxcalaLenguajes de programacion en pps en el Plantel de Zacualpan, Tlaxcala
Lenguajes de programacion en pps en el Plantel de Zacualpan, TlaxcalaUniversidad Autonoma de Tlaxcala
 
Investigación Estructura de un Programa en Java
Investigación Estructura de un Programa en JavaInvestigación Estructura de un Programa en Java
Investigación Estructura de un Programa en Javaariannalizeeth
 
Tabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetosTabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetosBeydasanchezhernandez
 
Tabla de Diversidad de lenguajes de programacion orientada a objetos
Tabla de Diversidad de lenguajes de programacion orientada a objetosTabla de Diversidad de lenguajes de programacion orientada a objetos
Tabla de Diversidad de lenguajes de programacion orientada a objetosariannalizeeth
 

La actualidad más candente (17)

Lenguajes programacion
Lenguajes programacionLenguajes programacion
Lenguajes programacion
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programación
 
Introduccion a Java
Introduccion a JavaIntroduccion a Java
Introduccion a Java
 
Lenguaje de programación java
Lenguaje de programación javaLenguaje de programación java
Lenguaje de programación java
 
Entrega 4 Exposicion final
Entrega 4   Exposicion finalEntrega 4   Exposicion final
Entrega 4 Exposicion final
 
Ut
UtUt
Ut
 
Java
JavaJava
Java
 
Laboratorio de programación II
Laboratorio de programación IILaboratorio de programación II
Laboratorio de programación II
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
todo sobre java
todo sobre javatodo sobre java
todo sobre java
 
Java
JavaJava
Java
 
Lenguajes de programacion en pps en el Plantel de Zacualpan, Tlaxcala
Lenguajes de programacion en pps en el Plantel de Zacualpan, TlaxcalaLenguajes de programacion en pps en el Plantel de Zacualpan, Tlaxcala
Lenguajes de programacion en pps en el Plantel de Zacualpan, Tlaxcala
 
Investigación Estructura de un Programa en Java
Investigación Estructura de un Programa en JavaInvestigación Estructura de un Programa en Java
Investigación Estructura de un Programa en Java
 
Zinjai
ZinjaiZinjai
Zinjai
 
Tabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetosTabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetos
 
Tabla de Diversidad de lenguajes de programacion orientada a objetos
Tabla de Diversidad de lenguajes de programacion orientada a objetosTabla de Diversidad de lenguajes de programacion orientada a objetos
Tabla de Diversidad de lenguajes de programacion orientada a objetos
 
Compiladores
CompiladoresCompiladores
Compiladores
 

Destacado

Vm flyer jpn - 10.15.10
Vm flyer   jpn - 10.15.10Vm flyer   jpn - 10.15.10
Vm flyer jpn - 10.15.10mbarlow939
 
世界遺產50選
世界遺產50選世界遺產50選
世界遺產50選Jaing Lai
 
水果和它的花
水果和它的花水果和它的花
水果和它的花Jaing Lai
 
吃到飽大全
吃到飽大全吃到飽大全
吃到飽大全Jaing Lai
 
Weekly commodity-report 14-18 july by epic research pvt.ltd indore
Weekly commodity-report 14-18 july by epic research pvt.ltd indoreWeekly commodity-report 14-18 july by epic research pvt.ltd indore
Weekly commodity-report 14-18 july by epic research pvt.ltd indoreEpic Research Limited
 

Destacado (9)

Vm flyer jpn - 10.15.10
Vm flyer   jpn - 10.15.10Vm flyer   jpn - 10.15.10
Vm flyer jpn - 10.15.10
 
Edad moderna exelente
Edad moderna  exelenteEdad moderna  exelente
Edad moderna exelente
 
世界遺產50選
世界遺產50選世界遺產50選
世界遺產50選
 
ереже
ережеереже
ереже
 
Fenômenos
FenômenosFenômenos
Fenômenos
 
LAXMI BOOK PUBLICATION
LAXMI BOOK PUBLICATIONLAXMI BOOK PUBLICATION
LAXMI BOOK PUBLICATION
 
水果和它的花
水果和它的花水果和它的花
水果和它的花
 
吃到飽大全
吃到飽大全吃到飽大全
吃到飽大全
 
Weekly commodity-report 14-18 july by epic research pvt.ltd indore
Weekly commodity-report 14-18 july by epic research pvt.ltd indoreWeekly commodity-report 14-18 july by epic research pvt.ltd indore
Weekly commodity-report 14-18 july by epic research pvt.ltd indore
 

Similar a Webminar: Java como una plataforma Poliglota

My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014Neptuno Networks
 
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma JavaEudris Cabrera
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragadoMaria
 
Universidad nacional de chimborazo
Universidad nacional de chimborazoUniversidad nacional de chimborazo
Universidad nacional de chimborazoJesica Pérez
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrolloDavid
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCFmikaelsorai
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaJacob
 
Tutorial de eclipse 2
Tutorial de eclipse 2Tutorial de eclipse 2
Tutorial de eclipse 2ivan ramirez
 
Lenguajes de programación para la web
Lenguajes de programación para la webLenguajes de programación para la web
Lenguajes de programación para la webOscar Luis Cdrc
 

Similar a Webminar: Java como una plataforma Poliglota (20)

Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
 
Net vs java
Net vs javaNet vs java
Net vs java
 
Universidad nacional de chimborazo
Universidad nacional de chimborazoUniversidad nacional de chimborazo
Universidad nacional de chimborazo
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Módulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología JavaMódulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología Java
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
sesion_01-JAVA.pdf
sesion_01-JAVA.pdfsesion_01-JAVA.pdf
sesion_01-JAVA.pdf
 
Tutorial de eclipse 2
Tutorial de eclipse 2Tutorial de eclipse 2
Tutorial de eclipse 2
 
Pres1
Pres1Pres1
Pres1
 
Lenguajes de programación para la web
Lenguajes de programación para la webLenguajes de programación para la web
Lenguajes de programación para la web
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 

Más de Domingo Suarez Torres

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesDomingo Suarez Torres
 
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019  No kuberneteen por convivirJava Dev Day 2019  No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivirDomingo Suarez Torres
 
Retos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosRetos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosDomingo Suarez Torres
 
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDomingo Suarez Torres
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesDomingo Suarez Torres
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureDomingo Suarez Torres
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyDomingo Suarez Torres
 
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityCloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityDomingo Suarez Torres
 
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextOrquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextDomingo Suarez Torres
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosDomingo Suarez Torres
 

Más de Domingo Suarez Torres (20)

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
 
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019  No kuberneteen por convivirJava Dev Day 2019  No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivir
 
Contenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMXContenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMX
 
Retos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosRetos en la arquitectura de Microservicios
Retos en la arquitectura de Microservicios
 
Java Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDLJava Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDL
 
meetup digital ocean kubernetes
meetup digital ocean kubernetesmeetup digital ocean kubernetes
meetup digital ocean kubernetes
 
Peru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVMPeru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVM
 
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
 
Cloud Native Development in the JVM
Cloud Native Development in the JVMCloud Native Development in the JVM
Cloud Native Development in the JVM
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a Kubernetes
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
 
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityCloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 Observability
 
Cloud Native Mexico Presentacion
Cloud Native Mexico PresentacionCloud Native Mexico Presentacion
Cloud Native Mexico Presentacion
 
gRPC: Beyond REST
gRPC: Beyond RESTgRPC: Beyond REST
gRPC: Beyond REST
 
Devops Landscape
Devops LandscapeDevops Landscape
Devops Landscape
 
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextOrquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNext
 
JVM Reactive Programming
JVM Reactive ProgrammingJVM Reactive Programming
JVM Reactive Programming
 
SGNext Elasticsearch
SGNext ElasticsearchSGNext Elasticsearch
SGNext Elasticsearch
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 

Último

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 

Último (20)

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 

Webminar: Java como una plataforma Poliglota

  • 1. Desarrollo políglota en la plataforma Java Opciones para elegir
  • 2. Twitter Si usan Twitter pueden encontrarme en @domix Comenten sobre mi charla con el hashtag #synWeb #jaPol
  • 3. Sobre mí Ingeniero de software desde 1999, experiencia en Java Colaboro en algunos proyectos OpenSource Plugins para Grails en Codehaus Trabajo en @SynergyJ como CTO Empece a usar Groovy en 2007 y Scala en 2008
  • 4. Agenda Plataforma Java Soporte a múltiples lenguajes Jython JRuby Scala Groovy Frameworks y herramientas
  • 5. La Plataforma Java Una de las mas usadas en aplicaciones empresariales Mucha inversión por varias empresas de tecnología Ha demostrado su estabilidad y madurez durante varios años Utiliza el lenguaje más usado: Java
  • 8. Lenguaje Java Muy ceremonioso Criticado por hacer difícil lo sencillo Se usa el compilador para ayudar al desarrollador Zillions de lineas de código escritas en Java Librerías prácticamente para todo
  • 9. ¿Solo se puede usar el lenguaje Java?
  • 10. Podemos usar 300 lenguajes http://www.is-research.de/info/vmlanguages/300/
  • 11. ¿Porque usar otros lenguajes?
  • 12. Lenguajes Cada lenguaje tiene semántica y estructuras propias Cada uno fue diseñado con ciertos objetivos Podemos usar un lenguaje de propósito general, pero es casi seguro que tengamos que escribir mucho código Al ofrecer opciones, el desarrollador elige la mas adecuada para el
  • 13. ¿El futuro de Java? Radica en la JVM Y en su capacidad de ejecutar diversos lenguajes
  • 14. Incorporación a la JVM Lenguajes adaptados, “hacking” para que funcione Lenguajes diseñados desde el principio con la JVM en mete
  • 15. ¿Como elegir el lenguaje?
  • 16. Facilidad de uso, experiencia
  • 18. Python Gran lenguaje Sintaxis hermosa Una gran comunidad detrás Muchas librerías escritas en el Lenguaje interpretado
  • 19. Jython Nace a finales de 1997 Python en Java Idéntico a Python 2.2 Al igual que Python, Jython es dinámico Se han tenido que hacer muchas adecuaciones para que funcione mas o menos bien en la JVM
  • 20. Ejemplo en Jython from java.math import BigDecimal # Creamos una instancia de BigDecimal Numero = BigDecimal(0) # A la variable "b" se suma 6 b = Numero.add(BigDecimal(6)) print b
  • 21. Ejecución de Jython java -jar jython.jar script.py
  • 22. Usos de Jython WebLogic Server Application Server's wlst tool scripting using Jython IBM WebSphere Application Server's wsadmin tool scripting using Jython ZK is a Java Ajax framework that allows glue logic written in Jython.
  • 23. Ruby Lenguaje de propósito general, dinámico, orientado a objetos Es funcional, orientado a objetos, imperativo y reflectivo Tipado dinámico Es (era) el lenguaje que iba a matar a Java Charles Nutter ha dicho que el futuro de Ruby esta en JRuby
  • 24. JRuby Empieza su desarrollo en 2001 En 2006 Sun contrato a desarrolladores dedicados a poder Ruby y Rails en la JVM Actualmente el desarrollo lo lleva Engine Yard Compatible con Ruby 1.8.7 Puede correr de manera interpretada, JIT o AOT (Ahead of time) Se han tenido que hacer “arreglos”
  • 25. Ejemplo en JRuby include Java frame = javax.swing.JFrame.new() frame.getContentPane().add(javax.swing.JLabel.new('Hello, World!')) frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE) frame.pack() frame.set_visible(true) require 'java' java_import java.lang.System version = System.getProperties["java.runtime.version"]
  • 26. Scala Empieza su desarrollo en 2001 Es orientado a objetos y funcional Scala significa “Scalable Language” El compilador de Scala genera byte code Diseñado para vivir en la JVM y en otros entornos como .NET Pensado para concurrencia y para soportar ‘Actores’
  • 27. Ejemplo en Scala object HelloWorld extends Application { println("Hello, world!") } scalac HelloWorld.scala scala -classpath . HelloWorld
  • 28. Alrededor de Scala Lift, framework de web con características muy impresionantes como el inverse Ajax. Akka es una plataforma para construir aplicaciones orientadas a eventos, escalables y tolerantes a fallos
  • 29. Groovy Empieza su desarrollo en 2003 Es un lenguaje orientado a objetos, dinamico Diseñado para “robarse” cosas buenas de Python, Ruby Enorme comunidad Muchisimos proyecto alrededor de Groovy Mucho soporte de herramientas, Eclipse, NetBeans
  • 30. Ejemplo en Groovy println "Hola Mundo"
  • 31. Herramientas sobre Groovy Testing Spock GMock Construcción Gant Gradle Frameworks Griffon - Swing Gaelyk - Web Grails - Web
  • 33. ThoughtWorks Technology Radar http://www.thoughtworks.com/radar
  • 34.
  • 35.

Notas del editor