2009-06-06 22 views
38

Soy bastante nuevo en Java y me gustaría aprender a usar un shell interactivo, como hice con Python usando IPython.shell interactivo de Java como ipython

He intentado algunos shells interactivos, como beanshell, jython, jythonconsole y JyConsole. La mayoría de ellos no tienen la terminación de pestañas como lo hace IPython. ¿Hay algo similar a IPython para Java?

+4

+1 porque no estoy seguro de si existe tal shell, pero sería útil. (Estuve a punto de publicar BeanShell antes de tomarme un momento para leer el segundo párrafo.) –

Respuesta

2

¿Qué caramelos has usado? el viejo ? Mira this que pretende ofrecer finalización

+0

Ahora estoy usando eclipse en lugar de netbean, ya que también estoy codificando otros lenguajes como python y C++. Solo uso beanshell de http://www.beanshell.org/ – Ross

7

Probablemente no obtendrá mucho uso de la utilización de Java de forma interactiva, como que el lenguaje está fuertemente orientado hacia la compilación. La mejor ruta probablemente obtenga un buen IDE, como eclipse, y comience con los puntos de interrupción y el depurador.

+5

. De hecho, uso Beanshell con bastante frecuencia, últimamente beanshell 2 (http://code.google.com/p/beanshell2/). Sin embargo, no he encontrado una variedad con la finalización del código. –

+0

No quise decir que es imposible, o incluso no útil, utilizar Java de forma interactiva. He usado y disfruto algunos intérpretes de C++ para varias tareas. Pero debido a que estos lenguajes no están diseñados con ese uso en mente, no se obtiene el mismo nivel de utilidad que con los lenguajes orientados más interactivos, como Python. – SingleNegationElimination

+0

Si probó beanshell, extendió java a más lenguaje de scripting como, en el que no tiene que declarar el tipo de variable. Hay muchas más ventajas, como el cierre, pero acabo de empezar a usar eso. – Ross

1

Creo que encuentro una buena alternativa: JPype. JPype permite que los programas de Python tengan acceso completo a las bibliotecas de clase Java. Con JPype e IPython, puedo usar todas las funciones de Java teniendo una buena terminación de pestañas para las clases de Java. (Después de importar la clase)

8

Si desea una opción interactiva para usar con Java, intente utilizar Dr Java o JGrasp , ambos ofrecen la misma opción interactiva que IDLE para python, además de ser un IDE completamente basado en un depurador, prefiero JGrasp a Dr Java. También tienen un Dr Python así que si te acostumbras al Dr. Java también puedes usarlo con Python.

Además, el Dr. Java tiene una función en la que puede seleccionar entre Java básico, intermedio, avanzado y completo para limitar lo que puede hacer con el idioma a medida que lo aprende. Nunca utilizo esa característica ya que no veo el objetivo de restringir partes del idioma, pero supongo que algunos profesores lo utilizan mientras enseñan a sus alumnos.

1

Aunque estoy de acuerdo con TokenMacGuy diciendo:

La mejor ruta será probablemente sólo conseguir un buen IDE, como Eclipse
Como Im también procedente de entorno en el que era esencial herramienta como shell interactivo. Así que también puedo sugerirle que simplemente use una herramienta como ipython directamente desde jython/JPype.

que se pueden conseguir o usar JPype según lo sugerido por i-freaker de a través jython:

  1. Conseguir jython (comprobar su funcionamiento jython -c 'import os; print "Python meets %s" % os.name')
  2. Conseguir readrline (En el caso de Mac sudo port install readline)
  3. Fallar los pasos desde this blog o jython documentation para hacer j ava-readline trabajo
  4. Así que tiene jython con readline por ahora (Ctrl+R en jython resultados en reverse-i-search como lo conoce desde el shell). Con el fin de obtener la finalización de las pestañas como usted lo sabe, formulario ipython, siga los pasos desde this blog
  5. ¡Así debería ser! En caso de que necesite un parche para ipython 0.10, puede get it from here.
8

groovysh:

http://groovy.codehaus.org/Groovy+Shell

  • de edición de edición de línea multiplataforma Rich, historia y terminación gracias a JLine.
  • colores ANSI (solicitud, rastreos de excepción, etc.).
  • Sistema de comando sencillo pero robusto con ayuda en línea, soporte de alias de usuario y más.
  • apoyo Perfil de usuario
Cuestiones relacionadas