tutorial example java python jython

java - example - ¿Qué es Jython y es útil en absoluto?



jython tutorial (9)

Conozco a Python, pero ¿qué es Jython?

  • ¿Cuándo necesitaré Jython?
  • ¿Cuáles son los inconvenientes?
  • Supongo que es lento?

Por favor detallelo! Gracias.


¿Cuándo necesitaré Jython?

Cuando quiera programar en Python, pero necesita (o desea) que el resultado se ejecute en una máquina virtual Java o utilice componentes Java existentes.

Cuáles son los inconvenientes.

Puede que Jython no sea 100% compatible con Python, aunque cualquier incompatibilidad se consideraría un error. Si luego desea o necesita ejecutar en CPython, deberá volver a escribir cualquier código que utilice componentes Java.

Supongo que es lento?

Eso depende, como siempre, de su caso de uso específico. En realidad, puede ser más rápido que CPython en algunos casos; y, por supuesto, depende de la JVM específica con la que se ejecute: estas mejoran todo el tiempo.


¿Cuándo necesitaré Jython?

Por ejemplo, para agregar un lenguaje de secuencias de comandos agradable a su código.

¿Cuáles son los inconvenientes?

El principal inconveniente es que Jython está por detrás de la distribución oficial de CPython. Actualmente, puede obtener una versión de Jython que sea compatible con Python 2.5.2, mientras que CPython está en 3.1.

Además, algunos módulos esotéricos no son compatibles. Por lo general, no se dará cuenta y / o podrá encontrar fácilmente un reemplazo de Java.

Supongo que es lento?

¿Comparado con que? Por lo general, es lo suficientemente rápido o, cuando no lo es, puede reemplazar algunas líneas de Python con aproximadamente 1''000 líneas de Java mucho más rápido.


¿Cuándo necesitaré Jython?

Necesito a Jython para probar los controladores JDBC. Algunas de las aplicaciones que uso funcionan con ODBC, otras usan JDBC. Al usar Jython puedo probar ambos tipos de controladores desde una fuente de Python (para probar ODBC, uso el puente JDBC-ODBC).


¿Cuándo necesitaré Jython?

Puede escribir scripts administrativos para el servidor de aplicaciones Websphere utilizando Jython. Los scripts se utilizan para automatizar tareas administrativas comunes y configurar la seguridad en el servidor de aplicaciones Websphere.

WebSphere utiliza la API de JMX para crear MBeans que se exponen como una API de objetos internos de WebSphere. Como los scripts de Jython se basan en Java y se ejecutan en la JVM, pueden acceder a esos objetos y pueden utilizarse para configurar WebSphere.

Además, es divertido escribir código en Jython y aprendes un nuevo idioma.

Aquí están los detalles.


Citando Wikipedia :

Jython, sucesor de JPython, es una implementación del lenguaje de programación Python escrito en Java.

En cuanto a qué usos puede tener:

Los programas Jython pueden importar y usar sin problemas cualquier clase de Java. A excepción de algunos módulos estándar, los programas Jython usan clases Java en lugar de módulos Python.

Las mediciones de rendimiento de Jython, IronPython y CPython muestran que tanto Jython como IronPython superan a CPython en algunos casos con grandes conjuntos de datos.



La JVM hace una buena optimización dinámica, pero probablemente no sea nada para emocionarse. JRuby a veces se ejecuta más rápido en la JVM ( http://www.engineyard.com/blog/2009/j-is-for-jvm-why-the-j-in-jruby/ ) al optimizar las rutas de código que se ejecutan mucho , pero eso es Ruby, no Python.

Las bibliotecas de Java son la razón principal. Muchas compañías tienen grandes globos de código Java que pueden ser ejecutados con Python. También hay algunos marcos de código abierto (Struts y Eclipse vienen a la mente) que se pueden crear con Jython.


Otras dos razones:

  • Incrustar scripts en aplicaciones Java grandes.
  • Use hilos de Java para escribir programas de múltiples hilos en Jython.

Si conoces Python y te has acostumbrado a la forma "pitónica" de hacer las cosas, Jython te permite llevar esa filosofía a la pila de JVM. Si haces esto, es mucho más que simplemente agregar capacidades de scripting.

En nuestros últimos proyectos, toda la lógica empresarial y personalizada se construye en Jython, al mismo tiempo todavía podemos aprovechar algunas de las bibliotecas Java probadas y probadas como Solr, Jasperreports, Quartz, Jetty, Velocity para nombrar algunas.

Se compila a bytecode, sin embargo, se está agregando una capa adicional, pero no es diferente a usar un ORM en lugar de JDBC directo, por ejemplo.

Lo que gana en productividad pesa a la larga la minúscula pérdida de rendimiento.

En el lado del servidor, Jython rara vez es el cuello de botella. Para las aplicaciones de escritorio mini, puede haber problemas, pero depende mucho de lo que esté tratando de hacer.

El último JDK, junto con los contenedores como Jetty o Tomcat, son muy maduros y estables, agregando Python en la parte superior, que en muchos casos ofrece lo mejor de ambos mundos.