41 votes

Le shell interactif de Java comme ipython

Je suis assez novice en matière de Java et j'aimerais apprendre Java à l'aide d'un shell interactif, comme je l'ai fait avec Python en utilisant IPython.

J'ai essayé quelques shells interactifs, tels que beanshell, jython, jythonconsole et JyConsole. La plupart d'entre eux n'ont pas de complétion de tabulation comme IPython. Existe-t-il quelque chose de similaire à IPython pour java ?

4 votes

+1 parce que je ne suis pas sûr qu'un tel shell existe, mais il serait utile. (J'ai failli poster BeanShell avant de prendre le temps de lire le deuxième paragraphe).

0 votes

JShell est un composant standard du JDK depuis Java 9. Essayez d'exécuter $jshell sur un terminal.

10voto

gavenkoa Points 6974

groovysh :

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

  • Edition, historique et achèvement de la ligne d'édition sur plusieurs plates-formes grâce à JLine.
  • Couleurs ANSI (invite, traces d'exception, etc.).
  • Système de commande simple, mais robuste, avec aide en ligne, prise en charge des alias d'utilisateur et plus encore.
  • Prise en charge des profils d'utilisateurs

9voto

Shane Miller Points 61

Si vous voulez une option interactive pour Java, essayez Dr Java ou JGrasp, ils offrent tous les deux la même option interactive que IDLE pour Python, en plus d'être un IDE complet avec un débogueur, je préfère JGrasp à Dr Java. Ils ont également un Dr Python, donc si vous êtes habitué à Dr Java, vous pouvez également l'utiliser avec Python.

De plus, Dr Java dispose d'une fonction qui vous permet de sélectionner les niveaux débutant, intermédiaire, avancé et complet de Java afin de limiter ce que vous pouvez faire avec le langage pendant que vous l'apprenez. Je n'utilise jamais cette fonction car je ne vois pas l'intérêt de restreindre certaines parties du langage, mais je suppose que certains enseignants l'utilisent pour enseigner à leurs élèves.

8voto

IfLoop Points 59461

Vous ne tirerez probablement pas grand-chose de l'utilisation interactive de Java, car ce langage est fortement orienté vers la compilation. La meilleure solution est probablement d'acquérir un IDE sympa, tel que éclipse et commencer à utiliser les points d'arrêt et le débogueur.

5 votes

J'utilise en fait Beanshell assez souvent, dernièrement beanshell 2 ( code.google.com/p/beanshell2 ). Cependant, je n'ai pas trouvé de variété avec la complétion de code.

0 votes

Je ne voulais pas dire qu'il est impossible, ou même inutile, d'utiliser Java de manière interactive. J'ai utilisé et apprécié certains interpréteurs C++ pour diverses tâches. Mais comme ces langages ne sont pas conçus pour une telle utilisation, vous n'obtenez pas le même niveau d'utilité qu'avec des langages plus orientés vers l'interactivité comme python.

0 votes

Si vous avez essayé beanshell, il a étendu java pour qu'il ressemble davantage à un langage de script, dans lequel vous n'avez pas à déclarer le type de variable. Il y a beaucoup plus d'avantages comme la fermeture, mais je viens juste de commencer à l'utiliser.

3voto

LB40 Points 4372

Quelle coquille de haricot avez-vous utilisée ? l'ancienne ? Regardez ce qu'ils prétendent fournir l'achèvement

0 votes

J'utilise maintenant eclipse au lieu de netbean, puisque je code également d'autres langages comme python et c++. J'utilise simplement beanshell de coquille de haricot.org

2voto

Ross Points 479

Je pense avoir trouvé une alternative suffisamment bonne : JPype. JPype permet aux programmes python d'avoir un accès complet aux bibliothèques de classes java. Avec JPype et IPython, je peux utiliser toutes les fonctions java tout en ayant une très belle complétion de tabulation pour les classes java (après que la classe soit importée cependant).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X