Sfortunatamente, mentre la comunità Java sembra essere molto entusiasta della programmazione di poliglotta, i produttori di IDE non hanno tenuto il passo. Generalmente do hanno plugin per progetti Java, Scala, Clojure, Groovy, Ruby, ECMAScript, Python, C++, ma miscelazione lingue multiple in un progetto non è generalmente supportato.
In Ruby, ad esempio, è abbastanza comune utilizzare Swing come interfaccia grafica tramite JRuby. Ma se si desidera utilizzare Matisse, il builder NetBeans Swing GUI, è necessario utilizzare un progetto Java, non è possibile utilizzare Matisse in un progetto Ruby. Tuttavia, se si utilizza un progetto Java, non è possibile avere un eseguibile principale di Ruby, è necessario disporre di un eseguibile principale Java. Inoltre, non si ottiene il supporto Rake e altre cose supportate dal tipo di progetto Ruby. (Il brutto soluzione è scrivere un eseguibile principale Java che crea un'istanza JRubyEngine
a mano, carica il Rubino eseguibile principale in esso e lo esegue.)
The Eclipse Scala plugin supporta una quantità limitata di poliglossia, ma il i cerchi che devono attraversare sono enormi. Fondamentalmente, usano l'applicazione runtime bytecode per iniettare Scala Aspects nel plugin Eclipse degli strumenti di sviluppo Java, per far funzionare i refactoring cross-language basati sui tipi. Il plugin Groovy fa cose simili, così come AspectJ (in effetti, all'inizio avevano ideato l'uso dell'aspect weaving per iniettare nuove funzionalità in JDT). Quindi, tutti questi plugin consentono la programmazione poliglotta con se stessi e Java. Ma sfortunatamente non l'uno con l'altro. (Sebbene molti dei manutentori abbiano espresso interesse a collaborare più strettamente.)
In generale, temo che l'unica soluzione siano i nuovi IDE.
fonte
2009-10-15 22:50:24
Qualcuno sa dove si trova IntelliJ su questo? – jomohke
Sì! Si prega di vedere la mia risposta alla domanda. –