Kolumne

Lagebericht Eclipse IDE: Eclipse als IDE-Marktführer

Lars Vogel

© SuS Media

Die großen Entwicklungsumgebungen bzw. deren Benutzer liefern sich seit Jahren gerne die sogenannten „IDE Wars“. Meist getrieben von enthusiastischen Fans, werden Artikel wie „Why I switched from Eclipse to [IRGENDWAS]“ und wundern uns, warum so viele Entwickler die geliebte Eclipse IDE verlassen. Solche Eindrücke sind natürlich sehr subjektiv, und oft scheint es, als sei das wichtigste Feature von anderen Entwicklungsumgebungen, dass sie eben nicht die Eclipse IDE sind.
Nimmt man dann einmal allen Mut zusammen und probiert eine andere IDE aus, ist man manchmal überrascht, was bei der Konkurrenz an Features fehlt und wie langsam andere IDEs sein können. Aber wie sieht nun die Realität aus? Wer treibt und bindet die anderen Entwicklungsumgebungen in die Dunkelheit? Oder frei nach Herr der Ringe: Wer ist denn der Ringmeister der IDEs?

Eclipse IDE als Marktführer in 2017

Es gibt ja einige Entwicklerumfragen, die man zur Beantwortung der Frage nach der besten IDE heranziehen könnte. An ihnen beteiligen sich ein paar Hundert Entwickler, und man bekommt ein Gefühl dafür, wo aktuell die Sympathien liegen. Da bei solchen Umfragen aber die Teilnehmerzahl vergleichsweise gering ist, besteht natürlich die große Gefahr, dass hier Missbrauch getrieben wird.
Besser sind da sicherlich objektivere Kriterien, etwa Suchanfragen bei Google, wie zum Beispiel vom Top IDE Index durchgeführt.

Das Ranking basiert darauf, wie oft eine IDE bei Google gesucht wurde. Der Trend wird durch den schlichten Vergleich zum gleichen Monat im vorherigen Jahr errechnet. Aktuell liegt die Eclipse IDE mit knapp über 25 Prozent vor allen anderen, gefolgt von Visual Studio mit ca. 19,5 Prozent und Android Studio mit 9,5 Prozent. NetBeans und IntelliJ schneiden in der Rangliste knapp schlechter als VIM und XCode ab. Gemessen an Suchanfragen bei Google ist die Eclipse IDE derzeit also die klare Nummer eins bei den Entwicklern. Aber wird das auch noch auf lange Sicht so bleiben?

Die Herausforderungen der Zukunft

Klasse, die Eclipse IDE ist Marktführer, also ist eigentlich alles gut für das Eclipse-Lager. Leider führt das diesmal zu einer sehr kurzen Kolumne … oder? Nicht so ganz: Leider reicht es für Eclipse (oder die konkurrierenden Produkte) nicht mehr, ein richtig gutes Java Tooling zu haben.

Die Entwicklungsumgebung muss im Zweifelsfall auch noch die anderen Programmiersprachen unterstützen. Das heißt, man sollte natürlich gut HTML und CSS schreiben können. Auch die Unterstützung von JavaScript ist mittlerweile Pflicht, insbesondere der jeweilige „Sprachdialekt des Monats“, z. B. Angular, TypeScript, React oder Backbone.

Dazu kommen dann noch der Support für Scala und Groovy und natürlich die neueste Spring-Variante. Und dann noch für die neuesten Programmiersprachen, etwa das aktuell sehr gehypte Rust. Die Kotlin-Unterstützung ist ebenfalls sehr gefragt, und Google scheint aktuell am Nachfolger nativer Android-Programmierung zu arbeiten. Hier setzt das Flutter SDK zur Entwicklung von iOS- und Android-Anwendungen auf die Programmiersprache Dart.

Dazu kommt, dass regelmäßig etablierte Libraries von den jeweiligen Kernentwicklern fallengelassen und einfach neu geschrieben werden. Die coolen Kids nutzen heutzutage bspw. zur JSON-Serialisierung die Library Moshi und nicht mehr GSON.

Für die IDEs der Zukunft heißt das, dass die Halbwertszeit einer neuen Technologie relativ kurz geworden ist. Damit wird es natürlich für die großen IDEs immer schwieriger, alle Technologien gut und schnell zu unterstützen. Die Entwickler der neuesten und heißesten Technologien sind daher in der Vergangenheit oft auf einfache Texteditoren mit Syntax-Highlighting für Keywords umgestiegen. Nicht umsonst ist Vim wahrscheinlich die viertpopulärste IDE laut dem Top IDE Index, und andere wie Sublime Text, Visual Studio Code, Emacs und SlickEdit auch relativ weit oben in der Liste.

Ein Standard, sie ewig zu binden

Natürlich wäre es sehr aufwendig, wenn Eclipse die gleiche Funktionalität für alle neuen Programmiersprachen wie für Java anbieten würde. Aber es wäre schon schön, wenn man die neue Lieblingsprogrammiersprache auch in einer bekannten Entwicklungsumgebung bearbeiten könnte. Im Bestreben, dies zu ermöglichen, steht Eclipse nicht allein. Auch andere moderne Programmierumgebungen wie Atom von GitHub oder Visual Studio Code von Microsoft buhlen um die Gunst der Entwickler.

Die Lösung für dieses Problem kommt überraschenderweise direkt vom ehemaligen „Dunklen Lord“ Microsoft, der ja bekanntlich früher nicht so viel von offenen Standards gehalten hat: Ein Team um Erich Gamma hat das Language Server Protocol (LSP) entwickelt, das einen Standard definiert, damit ein lokal laufender Prozess per JSON-RPC eine IDE mit Informationen über Code Completion, Dokumentations-Hover, Syntaxfehler usw. versorgt (Abb. 1).

Abb. 1: Die Architektur des Language Server Protocols (LSP)

Abb. 1: Die Architektur des Language Server Protocols (LSP)

Sobald ein Tool also die LSP-Spezifikation unterstützt, kann es im Prinzip jedwede Programmiersprache unterstützen, für die es eine LSP-Implementierung gibt. Programmiersprachen oder ähnliche Tools (etwa Buildsystem) müssen nur eine LSP-Serverimplementierung bereitstellen, und plötzlich können alle Tools, für die es eine entsprechende LSP-Clientimplementierung gibt, die entsprechende Sprache unterstützen. Eine tolle Win-Win-Situation für Programmiersprachen und IDEs.

Nehmen wir als Beispiel einmal Gradle: Hierfür existieren eine sehr gute Eclipse- und IntelliJ-Implementierung und wahrscheinlich auch eine sehr gute Implementierung für Visual Studio Code. Damit war die Gradle-Unterstützung für die verschiedenen IDEs relativ „teuer“, da für jede eine eigene Implementierung geliefert werden musste.

Hätte es früher schon das LSP gegeben, wäre nur eine Serverimplementierung nötig gewesen, und schon hätte man etliche Entwicklungstools mit Gradle-Unterstützung versorgt. Die wichtigsten unter ihnen hätten dann natürlich noch bessere Zusatzfeatures bekommen können, aber die grundlegende Versorgung wäre gesichert gewesen.

Wer sich einmal anschauen will, welche Programmiersprachen schon auf den Zug aufgesprungen sind, kann sich auf der offiziellen Homepage informieren: unter anderem C#, Java, Python, PHP, Scala, Groovy, Rust, Dart und viele mehr sind schon dabei. Die IDEs, die den Standard unterstützen, findet man dort ebenfalls, darunter Eclipse IntelliJ und Visual Studio Code.

Sogar Google scheint mittlerweile ein Einsehen zu haben und unterstützt jetzt offiziell Visual Studio Code für Flutter, das zurzeit als Nachfolger des Android SDKs gehandelt wird. Jedenfalls bezahlt Google offenbar Entwickler, um daran zu arbeiten. Damit hätte man endlich die Möglichkeit, eine App zu entwickeln und für IOS und Android bereitzustellen, ohne auf die Nutzung seines favorisierten Tools verzichten zu müssen.

Fazit: Tools der Zukunft werden austauschbarer

Immer mehr Tools und Programmiersprachen buhlen um die Aufmerksamkeit der Entwicklergemeinschaft. Damit möglichst viele Entwickler Visual Studio Code verwenden können, hat Microsoft das Language Server Protocol erfunden, und andere Tools wie die Eclipse IDE adaptieren es. In der Realität werden die Tools damit auch austauschbarer, d. h. man kann dadurch einfacher von einer vollwertigen IDE zu einem leichtgewichtigeren Texteditor wechseln und dennoch Tool-gestützt programmieren. Ich finde das super und glaube, dass der Trend helfen wird, Eclipse-Unterstützung auch für die neuesten Technologien zu bekommen. Damit sollte die Zukunft von Eclipse als Top-Entwicklungswerkzeug nachhaltig gesichert sein.

Geschrieben von
Lars Vogel
Lars Vogel
Lars Vogel ist Geschäftsführer der vogella GmbH, die Kunden im Bereich Eclipse, Android und anderen Themen unterstützt. Als Project-Management-Committee-Mitglied, Eclipse-Projektleiter und Committer hilft er dem Eclipse-Projekt. E-Mail: lars.vogel@vogella.com
Kommentare

Hinterlasse einen Kommentar

10 Kommentare auf "Lagebericht Eclipse IDE: Eclipse als IDE-Marktführer"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Boereck
Gast

Im Artikel steht „Die IDEs, die den Standard unterstützen, findet man dort ebenfalls, darunter Eclipse IntelliJ und Visual Studio Code.“ aber IntelliJ unterstützt das Protokoll nicht selbst. Siehe Bug-Eintrag:
https://youtrack.jetbrains.com/issue/IDEABKL-7409
Es gibt zwar ein Plug-in von einem Drittentwickler (https://github.com/gtache/intellij-lsp), aber eine offizielle Unterstützung durch JetBrains gibt es nicht. IntelliJ wird auch nicht auf der verlinkten Seite auf Microsofts GitHub Account nicht aufgelistet.
Eine interessante Auflistung gibt es auch hier:
https://langserver.org/#implementations-client

Marc Teufel
Gast

Ich oute mich hiermit als treuer Eclipse-Nutzer. Gehe zwar von Zeit zu Zeit mit IntelliJ IDEA, Webstorm und Visual Studio Code fremd doch am Ende komme ich doch immer wieder zurück. Mit Eclipse bin ich einfach unglaublich produktiv, ist ja auch kein Wunder, wenn man es jahrelang intensiv nutzt. 😉

Torsten
Gast
Dagegen ist ja auch gar nix einzuwenden. Jeder möge das Tool nutzen, mit dem er am produktivsten ist. Was mich als Leser des Javamagazins aber wirklich langsam nervt, ist diese Eclipse-Kolumne… Nicht falsch verstehen, nicht die Etablierung einer Eclipse-Kolumne an sich, dafür ist Eclipse zu groß und zu wichtig. Es ist die Art & Weise, die nun schon seit Jahren unverändert Bestand hat. Gefühlt besteht so gut wie jeder Artikel aus der Reihe aus einem Mix aus IDE-Bashing, Selbstmarketing und nur zu einem kleinen Teil aus irgendwie relevanten Informationen. Erinnert sich noch jmd. an solche „Perlen“ der Reihe mit ihren… Read more »
TestP
Gast

Sehe es genau so wie Torsten. Zu viele Meldungen darüber warum andere IDEs nicht so dolle sind wie Eclipse. Auch wenn mir bewusst ist, dass gerade einige IntelliJ-Nutzer extrem sektiererisch und penetrant sein können was Werbung für IntelliJ in die Welt herausposaunen angeht. Trotzdem muss man es denen IMHO nicht nachmachen.

Man könnte die Überschrift „Lagebericht Eclipse IDE“ wieder ernster nehmen. 🙂

MfG

typisch
Gast

In der Tat – der Autor dieses „Berichtes“ hat sich ja schon in Vergangenheit mehrfach auf diesem Portal mit unbelegten und teilweise post-faktischen Behauptungen/Vergleichen zu anderen IDEs hervorgetan.

Aber schön, dass LSP nun die Zukunft von Eclipse bildet. Das Zeug steckt dermassen in den Kinderschuhen, dass es geradezu einen verzweifelten Eindruck hinterlässt sich daran hochzuziehen.

UC
Gast

Die Anzahl an Suchen bei Google als Indikator dafür zu nehmen, wie „beliebt“ eine IDE ist , ist schon extrem gewagt. Es könnte ja auch damit zusammen hängen, dass so viele Leute Probleme mit der EclipseIDE haben, dass sie ständig nur am googlen sind anstatt zu programmieren, weil wieder mal etwas nicht funktioniert.

Aber das ist ja das Wunderbare an Statistiken: Man kann das hinein interpretieren, was man gerade möchte/benötigt 😉

Christian
Gast

Mir kommt das so vor, als würde einfach mal die Statistik gesucht, die am besten zur eigenen Meinung passt. Dass IntelliJ beliebter als Eclipse ist, habe ich nun schon in mehr als einer Umfrage gelesen und das ist auch das, was ich in der Praxis sehe: Entwickler wechseln scharenweise von Eclipse zu IntelliJ.

Das größte Problem von Eclipse aus Nutzersicht ist meiner Meinung nach die Usability. Und so lange die einzelnen Teilprojekte da nicht enger zusammenarbeiten und die Eclipse Community nicht insgesamt mehr unternimmt, kann ich mir nicht vorstellen, dass Eclipse in diesem Punkt wieder konkurrenzfähig wird.

Der Ich
Gast
Sehe es wie UC, die Suchanfragen bei Google sind nicht aussagekräftig. Es könnte dort um Probleme mit der IDE gehen oder reines „ich hab den Link zu der Seite mit den Tips vergessen, geb ich einfach ein paar Stichworte ein“. Desweiteren sehe ich auf Konferenzen eigentlich nur noch Speaker mit IntelliJ, was irgendwie ein völlig gegensätzliches Bild darstellt. Herrlich finde ich auch bereits die Einleitung: […] Nimmt man dann einmal allen Mut zusammen und probiert eine andere IDE aus, ist man manchmal überrascht, was bei der Konkurrenz an Features fehlt und wie langsam andere IDEs sein können.[…] Ich habe tatsächlich… Read more »
Lumpenpack
Gast

Weder Redaktion noch Verfasser haben es also nötig auf die hier vorgebrachte Kritik der Leser einzugehen. Das spricht ja dann auch für sich.

Redaktion JAXenter
Mitglied

Liebe Kommentatoren,

vielen Dank für die konstruktive Kritik. Wir wollen kurz darauf hinweisen, dass der „Lagebericht Eclipse IDE“ eine Kolumne ist und als solche zur Gattung der Meinungsartikel gehört. Ziel ist es, aus einer persönlichen Perspektive Einblicke in die Kernentwicklung der Eclipse-Plattform zu geben.

Ihre Redaktion