Niestety, podczas gdy środowisko Java wydaje się być bardzo entuzjastycznie nastawione do programowania poliglota, dostawcy IDE tak naprawdę nie nadążają. Zwykle mają one wtyczki dla projektów Java, Scala, Clojure, Groovy, Ruby, ECMAScript, Python, C++, ale miksowanie wielu języków w jeden projekt nie jest obsługiwany.
Na przykład w Ruby często używa się Swing jako GUI przez JRuby. Ale jeśli chcesz użyć Matisse'a, konstruktora GUI NetBeans Swing, musisz użyć projektu Java, nie możesz użyć Matisse'a w projekcie Ruby. Jeśli jednak używasz projektu Java, nie możesz mieć głównego pliku wykonywalnego Ruby, musisz mieć główny plik wykonywalny Java. Ponadto nie otrzymujesz wsparcia Rake i innych rzeczy obsługiwanych przez typ projektu Ruby. (Brzydki obejście jest napisać główny plik wykonywalny Java, który tworzy instancję JRubyEngine
ręcznie, ładuje Ruby główny plik wykonywalny do niego i uruchamia go.)
plugin Eclipse Scala obsługuje ograniczoną ilość polyglotism, ale obręcze, przez które muszą przejść, są ogromne. Zasadniczo używają łatania kodu bajtowego w czasie wykonywania, aby wstrzykiwać Scala Aspects do wtyczki Java Development Tools Eclipse, aby zastosować refaktoryzację w oparciu o typ. Wtyczka Groovy robi podobne rzeczy, podobnie jak AspectJ (w rzeczywistości pierwotnie wpadł na pomysł użycia aspektu tkania do wstrzyknięcia nowej funkcjonalności do JDT). Tak więc wszystkie te wtyczki umożliwiają programowanie poliglota ze sobą i Javą. Ale niestety nie ze sobą. (Chociaż kilku opiekunów wyraziło zainteresowanie ściślejszą współpracą.)
Ogólnie obawiam się, że jedynym rozwiązaniem są nowe IDE.
Ktoś wie, gdzie znajduje się IntelliJ? – jomohke
Tak! Proszę zobaczyć moją odpowiedź na pytanie. –