Sonntag, 12. Februar 2012


Artikel

April 2010 | Artikel

Wie Scala derzeit von Eclipse, NetBeans und IntelliJ IDEA unterstützt wird

(Link zum Artikel: http://www.entwickler.de/jaxenter//003006)

Scala IDE for Eclipse: endlich erwachsen!

  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Von der Qualität der Programmiersprache Scala sind derzeit viele überzeugt – doch kann Scala sich auch langfristig durchsetzen? Qualitativ hochwertige Sprachen, die niemals den Durchbruch geschafft haben, gab und gibt es schließlich zuhauf!

Ein gewichtiger Faktor für den Erfolg einer neuen Sprache ist sicherlich auch eine adäquate Landschaft aus Werkzeugen, die die effiziente Entwicklung großer, produktiver Projekte erst ermöglichen. Wie es beim Tooling-Support bei Scala derzeit aussieht, haben wir Heiko Seeberger im Rahmen des JAX-Countdown gefragt. Er gibt einen kleinen Vorgeschmack auf seine Session "Scala IDE for Eclipse: endlich erwachsen!", eines der Highlights des Eclipse Tools Day der JAX 2010, in der er den Scala-Support bei Eclipse ausführlich in Live-Demos vorstellen wird!

JAXenter: Hallo Heiko! Scala auf dem Vormarsch – doch was nützt uns die beste Sprache ohne geeignetes Tooling? Wie sieht es bei Scala zurzeit damit aus?

Heiko Seeberger: Lange Zeit war fortschrittliche Werkzeugunterstützung, also IDE Support, die Achillesferse von Scala. Auch für die zurzeit noch aktuelle Release-Version 2.7.7 sind die Scala-Plug-ins für die drei großen IDEs (Eclipse, Netbeans und Intellij IDEA) eher mangelhaft denn ausreichend. Jedoch ist für die neue Scala-Version 2.8, für die wir in den kommenden Tagen den (ersten) Release Candidate erwarten dürfen, deutliche Besserung in Aussicht. Davon kann man sich bereits anhand von Vorabversionen der IDE-Plug-ins überzeugen. Ich gehe davon aus, dass innerhalb von wenigen Monaten das Niveau auf "befriedigend", vielleicht sogar bis auf "gut" angehoben werden kann. Langfristig sehe ich keinen qualitativen Unterschied mehr zu Java-IDEs.

JAXenter: Du stellst auf der JAX 2010 die Scala IDE für Eclipse vor. Was kann die Scala IDE für Eclipse – und was nicht?

Heiko Seeberger: Der wirklich große Unterschied - und aus meiner Sicht ein riesiger Vorteil - zwischen Eclipse und anderen IDEs ist der inkrementelle Compiler. Netbeans oder IntelliJ IDEA erfordern immer einen kompletten Build, wohingegen Eclipse beim Speichern einzelner Dateien nur die Änderungen übersetzt. Dieser Unterschied ist im Matrix-Jargon sozusagen systemimmanent, sodass Eclipse hier wohl immer die Nase vorne haben wird. In vielen anderen Bereichen, z.B. beim Refactoring, ist momentan IntelliJ IDEA am weitesten. Aber das ist wohl kein prinzipielles Problem von Eclipse, sondern einfach eine Frage der Zeit.

JAXenter: Welche Features bieten die anderen zur Verfügung stehenden Scala-Entwicklungsumgebungen?

Heiko Seeberger: Netbeans glänzt mit der vielleicht besten Maven-Integration. Das hat zwar nicht direkt mit Scala zu tun, jedoch wird Maven in vielen Scala- bzw. Lift-Projekten eingesetzt, sodass das schon eine praktische Relevanz hat. IntelliJ IDEA bietet, wie schon angedeutet, schon etliche aus der Java-Welt lieb gewonnene Refactorings, z.B. Rename, Introduce Variable etc. Im Großen und Ganzen ist der Funktionsumfang aber recht ähnlich, so wie in der Java-Welt auch.

JAXenter: Wenn es nach dir ginge, würde Scala morgen schon die Macht übernehmen, oder? Aber was passiert dann mit dem armen alten Java?

Heiko Seeberger: Na ja, ich bin zwar Scala-Fan, aber hier brauchen wir doch gar kein Highlander-Prinzip. Vielmehr sehe ich voller Freude einer polyglotten Zukunft entgegen, in der Scala bestimmt eine gewichtige Rolle spielen wird. Das arme alte Java? Wenn Java die derzeitige Innovations-(Null-)Geschwindigkeit beibehält, dann werden wohl viele neue Projekte andere Sprachen verwenden. Mit Scala kann zum Glück jeglicher Java-Code integriert werden, denn Scala ist 100% "abwärtskompatibel" und erlaubt sogar gemischte Projekte. Daher ist auch ein sanfter Migrationspfad möglich, d.h. man könnte z.B. erst die Tests auf ScalaTest oder specs umstellen und danach Zug um Zug einzelne Teilprojekte.

JAXenter: Vielen Dank für dieses Gespräch und bis zur JAX 2010 in Mainz!

Heiko Seeberger ist geschäftsführender Gesellschafter der Weigle Wilczek GmbH und verantwortlich für die technologische Strategie des Unternehmens mit den Schwerpunkten Java, Scala, OSGi, Eclipse RCP und Lift. Zudem ist er aktiver Open Source Committer, Autor zahlreicher Fachartikel und Redner auf einschlägigen Konferenzen.

Die Eclipse Days der JAX 2010:

Nicht verpassen!

andere Artikel dieser Serie

Kommentare

Gravatar serge 14.04.2010
um 08:26 Uhr
Bin momentan im Planungsfasse und überlege an einigen Ecken Scala einzusetzen. Leider finde ich keine Aussagen zu den Terminen für 2.8 RC und Scala IDE, kennt einer was dazu? Der angestrebte September 2.8 Release würde für mein Project nicht passen. #zitieren
Gravatar xylo 14.04.2010
um 11:04 Uhr
Zunächst einmal stimme ich den Autoren des Artikels zu, dass eine gute IDE etwas sehr Wesentliches bei der Entwicklung darstellt, zumindest wenn man daran interessiert ist, schnell und effektiv zu sein.

Das Interview mit Heiko Seeberger fand ich hingegen weniger informativ. Geprägt durch schwammige und tendenzielle Aussagen bis hin zu Falschaussagen konnte man lediglich erkennen, dass es sich hier um einen echten Eclipse-Fan handelt, um mehr leider nicht. So ist die Aussage, dass IDEA beispielsweise stets den gesamten Code neu compiliert schlicht weg falsch. Man braucht lediglich den fsc in der Oberfläche aktivieren und schon läuft das Compilieren inkrementell und in einer Geschwindigkeit, die mit javac vergleichbar ist. Des Weiteren wurden Vor- und Nachteile von Scala-IDEs schon in vielen Foren diskutiert, und zwar von echten Scala-Entwicklern, die sich länger mit der Sprache und mit IDEs beschäftigt haben. Dort ist in der Regel kaum davon die Rede, dass Eclipse bei Scala "die Nase vorn" hätte. Ganz im Gegenteil, die meisten Scala-Nutzer raten vom Einsatz von Eclipse ab. Hier haben eindeutig IDEA und Netbeans die Nase vorn. Wer sich also wirklich für Scala interessiert, sollte sich noch mal in Scala-Foren über die IDEs informieren oder die IDEs selbst ausprobieren. Denn erst mit einer guten IDEA macht die Entwicklung Spaß.

Nebenbei bemerkt: Seit Anfang Februar schätze ich persönlich die Scala-Unterstützung von IDEA als gut ein. Zum sehr gut ist noch ein weiter Weg, aber die meisten IDE-Features, die für Java existieren, sind nun auch für Scala verfügbar.
#zitieren