Вы находитесь на странице: 1из 2

Dynamic jvm - Presentation Transcript

1. Lenguajes Dinmicos en la Java Virtual Machine Por: scar Lpez, M.Sc. Twitter: @oscar_lopez 2. Lenguajes Dinmicos Permiten realizar en ejecucin labores que en otros lenguajes se hacen en compilacin Sistema de tipos dinmicos (*) Programacin funcional Meta-programacin y reflexin Scripting, pegamento, prototipos Edit-compile-test vs. read-eval-print Es una definicin subjetiva! OALP-2010 All Rights Reserved 2 3. Java Virtual Machine Implementacin en software de una mquina fsica Portabilidad entre mltiples plataformas, no depende especficamente de Java Ejecuta un lenguaje intermedio bytecode Es una mquina de pila Manejo de memoria, verificador de clases, excepciones, seguridad, hilos, GC, JIT Puede implementar otros lenguajes! JSR 223 (Scripting, Java 1.6), JSR 292 (invokedynamic, Java 1.7), Da Vinci Machine OALP-2010 All Rights Reserved 3 4. Lenguajes en la JVM Ada Lisp (Clojure) AspectJ Lua AWK OCaml C Oberon Cobol Pascal ColdFusion PHP Forth Python (Jython) Groovy Rexx Java Ruby (JRuby) JavaFX Script Scala JavaScript (Rhino) Scheme LOGO Tcl OALP-2010 All Rights Reserved 4 5. Ejemplo: Torres de Hanoi OALP-2010 All Rights Reserved 5 6. OALP-2010 All Rights Reserved 6 7. Jython: Caractersticas Implementacin 100% Java del lenguaje Python, versin 2.5 (con algunas diferencias) Uso transparente de cualquier clase en Java Compilacin a bytecode esttica o dinmica Propiedades tipo bean Multi-hilos, resuelve el problema del GIL Usa el GC de Java, no conteo de referencias Desempeo depende de la JVM, pero en general es ms lento que CPython Java Atrasado respecto a CPython (2.7.0 RC, 3.1.2), no puede usar mdulos escritos en C 8. Jython: Casos de Uso Permite correr frameworks populares en Python, como Django, Pylons, SQLAlchemy Lenguaje de scripting del WebSphere Application Server

Parte de las herramientas de desarrollo de IBM Rational Lenguaje de programacin de JHepWork, un framework para anlisis de datos Generacin de pruebas de carga en The Grinder OALP-2010 All Rights Reserved 8

1 Uso de Eclipse como editor de Python


A algunos plugins para Eclipse estn en curso que permitir a Eclipse para ser utilizado como un entorno de programacin Python. Algunos de estos son lo suficientemente estables para el uso temprano:
Red Robin - Jython desarrollo de plug-in para Eclipse - (BUENO) http://home.tiscali.be/redrobin/jython/index.html PyDev, (0.5.3 25 de julio 2004): http://sourceforge.net/projects/pydev/ (el mejor) pyeclipse, 0.0.1 (16 de julio de 2002): http://sourceforge.net/projects/pyeclipse/ Tru Studio <Python>, 0.4.0 Early Access (29 de junio de 2003): http://www.xored.com/products.php Colorer, Colorer-Take5 beta2: http://colorer.sf.net (resaltado de sintaxis solamente)

Вам также может понравиться