Wie mische ich JVM-basierte Sprachen in einem einzelnen Netbeans-Projekt?

8

Ist es zum Beispiel möglich, Scala, Java und Clojure so zu verwenden, dass alle Komponenten im selben Projekt kompiliert / erstellt werden? Oder muss ich sie als separate Projektbibliotheken erstellen, die dann von allem, was ich als "Master" -Projekt gewählt habe, verwendet werden?

Wenn keiner von denen, wie geht es allen anderen?

    
Brian Knoblauch 15.10.2009, 17:46
quelle

2 Antworten

6

Leider scheint die Java -Community von der polyglotten Programmierung begeistert zu sein, aber die IDE-Hersteller haben nicht wirklich mitgehalten. Im Allgemeinen haben Plugins für Java, Scala, Clojure, Groovy, Ruby, ECMAScript, Python, C ++ - Projekte, aber Mischen mehrere Sprachen in eins Projekt wird generell nicht unterstützt.

In Ruby zum Beispiel ist es üblich, Swing als GUI über JRuby zu verwenden. Wenn Sie jedoch Matisse, den Builder für NetBeans Swing GUI, verwenden möchten, müssen Sie ein Java-Projekt verwenden. Sie können Matisse nicht in einem Ruby-Projekt verwenden. Wenn Sie jedoch ein Java-Projekt verwenden und keine Ruby-Hauptdatei ausführen können, müssen Sie eine ausführbare Java-Hauptdatei haben. Außerdem erhalten Sie keine Rake-Unterstützung und andere Dinge, die der Ruby-Projekttyp unterstützt. (Die hässliche Problemumgehung besteht darin, eine Java-Hauptdatei zu schreiben, die per Hand eine JRubyEngine -Instanz erstellt, die Hauptdatei Ruby in sie lädt und ausführt.)

Das Eclipse Scala-Plugin unterstützt eine begrenzte Menge an Polyglottismus, aber die Ringe, durch die sie springen müssen, sind enorm. Im Wesentlichen verwenden sie Runtime-Bytecode-Patching, um Scala Aspects in das Eclipse-Plug-in für Java-Entwicklungstools zu injizieren, damit typengesteuerte sprachübergreifende Refactorings funktionieren. Das Groovy-Plugin macht ähnliche Dinge, genauso wie AspectJ (tatsächlich kamen sie ursprünglich auf die Idee, das Aspektweben zu verwenden, um neue Funktionalität in JDT zu injizieren). Alle diese Plugins ermöglichen die polyglotte Programmierung mit sich selbst und Java. Aber leider nicht miteinander. (Obwohl einige der Betreuer Interesse an einer engeren Zusammenarbeit gezeigt haben.)

Im Allgemeinen befürchte ich, dass die einzige Lösung neue IDEs sind.

    
Jörg W Mittag 15.10.2009, 22:50
quelle
3

Ziemlich spät, um diese Frage zu beantworten, aber die Antwort ist, dass IntelliJ IDEA bei der polyglotten Programmierung sehr gute Arbeit leistet. Ich habe kürzlich eine Demo gesehen, bei der einer ihrer Entwickler eine Mischsprache in 5 (!) Sprachen erstellt hat.

Sie schaffen mehrsprachige Syntaxfärbung, Refactoring und mehr. Sie haben offensichtlich einige Anstrengungen unternommen und sind zu Recht stolz.

Ich habe sehr erfreut festgestellt, dass IDEA jetzt (teilweise) Open Source ist.

    
Carl Smotricz 26.11.2009 16:06
quelle

Tags und Links