Interview mit Mickael Istria

Eclipse Photon und die Zukunft der klassischen IDE [Interview mit Mickael Istria]

Dominik Mohilo
Mickael Istria

Eclipse Oxygen wurde erst vor ein paar Tagen veröffentlicht. Ist es daher noch zu früh, um über Eclipse Photon, das nächste Simultaneous Release nachzudenken? Wir haben mit Mickael Istria, Entwickler im Bereich Eclipse IDE und JBoss Tools bei Red Hat, über die Projekte gesprochen, an denen er für Eclipse Oxygen gearbeitet hat. Außerdem haben wir ihn gefragt, was Eclipse Photon mitbringen wird, welche Projekte ihn faszinieren und wie die Zukunft der „klassischen IDE“ aussehen könnte.

JAXenter: Eclipse Oxygen wurde gerade veröffentlicht – auf welche Features aus deinen Projekten hast du dich am meisten gefreut?

Mickael Istria: Ich habe für Oxygen primär am Generic Text Editor für die Eclipse Platform und am Support des Language Server Protocol in der Eclipse IDE (LSP4E Project) gearbeitet. Beide richten sich an dieselbe Nutzergruppe: Leute, die Interesse daran haben, die Unterstützung für das Editieren mit neuen Sprachen hinzuzufügen oder vorhandene Editoren zu migrieren. Das wird nun einfacher.

Beide Aspekte fügen an sich keinen Wert für End-to-End-Nutzer hinzu; sie müssen durch die Plugin-Entwickler in der Community adoptiert werden.

Ich hatte Gelegenheit, beide Neuerungen auf diversen Events (etwa der EclipseCon) testen zu lassen und dort Feedback von der Community zu bekommen. Die ist ziemlich glücklich mit den Funktionen und setzt sie immer häufiger ein. Einige Projekte wie die LinuxTools haben mit dem Refactoring auf Basis der zwei neuen Konzepte begonnen, um den Wartungsaufwand deutlich zu senken und zugleich die Qualität und Konsistenz ihrer Editoren deutlich zu erhöhen.

Die Eclipse IDE war jüngst öfter Zielplattform für Tech-Hypes

Die Arbeit am Generic Editor und LSP4E hat dazu geführt, dass verschiedene großartige Projekte (auf GitHub) in den letzten Monaten mit geringem Aufwand umgesetzt werden konnten. Darunter sind die Unterstützung einer C#-Edition, Support für Yaml mit Schema, ein reichhaltigerer HTML/CSS/JS-Support, TypeScript-Support…

Ich habe jetzt schon den Eindruck, dass diese neuen Features etwas in Bewegung gesetzt haben und die Eclipse IDE öfter zur Zielplattform für Tech-Hypes geworden ist. Das könnte ein Schlüssel für den zukünftigen Erfolg der Entwicklungsumgebung sein.

JAXenter: Welche anderen Projekte faszinieren dich in diesem Jahr und warum?

Mickael Istria: Ich war beeindruckt von einigen der User Stories, die durch Docker Tools in der IDE möglich gemacht wurden. Zum Beispiel, dass man jetzt in der Entwicklungsumgebung mit wenigen Klicks C++-Prozesse debuggen kann, die in einem Docker-Container laufen. Ähnliche Neuigkeiten gibt es auch für Java in Docker. Mit den Docker Tools wird die Komplexität von Docker in der Entwicklungsphase deutlich reduziert.

Obwohl ich sie nicht wirklich nutze, informiere ich mich häufig über Sirius und andere Modeling-Projekte. Ich habe vor einiger Zeit ein bisschen mit grafischer Modellierung gearbeitet und die neusten Technologien auf diesem Gebiet stellen wirklich eine enorme Verbesserung dar. Sie machen das grafische Editieren leichter und leichter, zugleich werden die Tools aber auch mächtiger.

Nach Language Server Protocol: Debug Protocol in Eclipse Photon?

JAXenter: Das nächste Simultaneous Release wird Eclipse Photon heißen. Gibt es in deinem Projekt schon Pläne dafür?

Mickael Istria: Ich habe bezüglich der Eclipse-Plattform vor, weiterhin am Generic Editor zu arbeiten, indem ich einige der fehlenden Features wie Folding oder Icons hinzufüge. Ich versuche außerdem, einige Dinge wie das Management und die Leichtigkeit der Verwendung verschiedener Content-Typen zu verbessern. Letztere sind ein ein unterschätztes, aber mächtiges Feature der IDE, insbesondere im Bereich der polyglotten Entwicklung. Hier ist Eclipse deutlich besser als die Konkurrenz, es geht also darum, die Stärken der IDE weiter zu betonen.

Ich versuche außerdem die Implementierung der wichtigsten Features zu überarbeiten, die für die Unterstützung verschiedener Programmiersprachen repliziert werden, wie die Java Development Tools, die C/C++ Development Tool und die PHP Development Tools. Obwohl die Tools schon ziemlich gut sind, gibt es einige Bereiche, in denen die Plattform für alle Projekte besser funktionieren könnte, etwa die Kommandos.

Lesen Sie auch: Lars Vogel im Interview: „Der Fokus für Eclipse Photon wird auf Usability und Performance liegen“

Für Endnutzer würde ich gerne die Arbeit weiterführen, die wir in den letzten Jahren vorangetrieben haben. Da stand das Entwickeln neuer Workflows und die Verbesserung der UIs im Fokus, damit Endnutzer die Vorteile der Entwicklungsplattform leichter entdecken und besser nutzen können. Die Eclipse-Plattform und die Eclipse IDE sind voller verborgener Schätze und wir möchten, dass der Nutzer diese Schätze schneller entdeckt.

Bezüglich den Language Servern und dergleichen werde ich die Arbeit an einem Debug Protocol im Auge behalten. Das Protocol soll sowohl sprachagnostisch als auch toolagnostisch sein, also ganz wie das Language Server Protocol nur eben für das Debuggen. Damit wäre es möglich, viele neue Debugger für diverse Sprachen sofort hinzuzufügen. Sobald dort etwas entwicklet wird, das sich für die Implementierung in die Eclipse IDE eignet, werde ich die Chance dazu wahrscheinlich ergreifen. Ich bin davon überzeugt, dass dies wert- und sinnvoll für das Development–Tools-Ökosystem sein wird. Genauso, wie es das Language Server Protocol bereits war und ist.

Außerdem wäre da die regelmäßige Wartung für beide Projekte zu nennen. Dazu gehören Bugfixes, Performance-Fixes und Verbesserungen am User Interface und der Nutzerfreundlichkeit.

JAXenter: Wie wird die Zukunft für die „klassischen IDE“ aussehen? Werden neue Technologien eine radikale Veränderung klassischer Entwicklungsumgebungen unabdingbar machen?

Mickael Istria: Ich kann die Zukunft nicht vorhersagen, sondern nur meine Meinung und meine Wünsche offenbaren.

Ich glaube, dass die Welt der „klassischen IDEs“ schon seit vielen Jahren ausgereift ist, vermutlich schon seit Eclipse 1.0 vor etwa 15 Jahren. Wenn man sich nämlich die ganzen modernen IDEs ansieht, sei es nun VSCode, Eclipse Che oder Theia, ahmen diese nur die gleiche Arbeitsoberfläche, Editoren, Debugging-Tools und Code-Features nach. Es gibt keine großen Innovationen auf UX-Ebene und das ist nur die Spitze des Eisbergs. Ich halte eine große Veränderung auf UI/UX-Ebene also weder für nötig noch für wahrscheinlich. Es wird natürlich inkrementelle, kontinuierliche Verbesserungen an allen IDEs geben, beispielsweise smartere Menüs oder reichhaltigere und präzisere Features sowie Implementierungen neuer Technologien. Das ist aber nur eine stete Weiterentwicklung, wie es sie immer gab.

Die Plattform und die Eclipse IDE sind voller verborgener Schätze und wir möchten, dass der Nutzer diese Schätze schneller entdeckt.

Manche glauben, dass Web-IDEs sich durchsetzen werden. Ich stimme zwar schon zu, dass diese Art von IDEs im Kommen ist, habe aber insgesamt eine gemäßigtere Meinung. Ich denke, die klassischen Desktop-IDEs werden nicht untergehen, solange es professionelle Entwickler und Workstations gibt. Mit klassischen IDEs arbeitet man in vielen Anwendungsfällen immer noch produktiver. Es gibt ja auch immer noch Office-Anwendungen, obwohl Google Docs existiert.

Ich glaube nicht, dass Cloud-Lösungen so leicht alle Bedürfnisse von echten Experten auf dem Gebiet der Softwareentwicklung erfüllen können. Cloud-Lösungen können mit Sicherheit Anfängern und „Amateur“-Entwicklern helfen, aber es wird immer auch Leute geben, die produktiver sind, wenn sie an einem lokalen Arbeitsplatz mit Desktop-IDE arbeiten. Diese Entwickler sind die Zielgruppe von IDEs – es ist wichtig, seine Zielgruppe zu kennen und zu bedienen. Ich denke, dass Desktop- und Web-IDEs sich eher ergänzen, als sich gegenseitig Konkurrenz zu machen.

Die neusten IDEs haben allerdings einige Innovationen hinsichtlich der internen Architektur mitgebracht, indem sie die Trennung der einzelnen Domänen verbessert haben: VSCode hat die Idee eines Language Servers verdeutlicht; Eclipse Che hat das Konzept eines vollständigen Entwickler-Arbeitsplatzes (als Container) verbessert. Diese – zunächst internen – architektonischen Entscheidungen stellen wichtige Meilensteine in der Welt der Entwicklungstools dar, weil sie für alle Anwender ziemlich sinnvoll sind.

Glücklicherweise ist der Eclipse IDE Code gut designed und basiert auf einer wandlungsfähigen Plattform. Es ist also relativ einfach, diese neuen Workflows zu adaptieren und den Mehrwert anzubieten, der daraus entsteht.

JAXenter: Was könnte man an der Eclipse IDE oder dem Eclipse-Ökosystem im Allgemeinen verbessern?

Mickael Istria: Bei der Eclipse IDE lässt sich immer etwas an der UX verbessern. Im vergangenen Jahr haben viele der Mitwirkenden an der IDE auch daran gearbeitet. Das ist etwas, wo man die positiven Auswirkungen am Feedback der Nutzer sehen kann. Ich glaube aber nicht, dass wir große Änderungen vornehmen müssen, um die UX zu verbessern: Unsere Committer müssen das Thema im Kopf behalten und daran arbeiten, so wie sie es seit Jahren tun. Dadurch werden kontinuierlich Fortschritte gemacht.

Manche glauben, dass Web-IDEs sich durchsetzen werden. Ich habe da insgesamt eine gemäßigtere Meinung.

Die Eclipse-Community ist auf ihre Mitwirkenden angewiesen. Die große Zahl an Contributors (seien es individuelle Entwickler oder große Unternehmen, die die Eclipse Foundation fördern) ist zugleich Basis und Ziel unseres gemeinsamen Erfolges. Auf jeder Ebene – von kleinen Bugfixes bis hin zu großen, strategischen Aktionen für die Foundation – gibt es zahlreiche Ideen, denen nur ein paar mehr Mitwirkende fehlen, damit sie umgesetzt werden können. Manchmal ist es ein klassisches Henne-Ei-Problem und jeder, der etwas Motivation mitbringt, kann da einen großen Unterschied machen. Wenn es darum geht das Eclipse-Ökosystem zu verbessern, geht es also eigentlich darum, mehr Mitwirkende jeder Art zu finden – und anders herum. Dafür gibt es aber scheinbar kein Patentrezept; es ist schlicht und ergreifend kontinuierlicher Prozess der vorhandenen Community, relevant, offen und zugänglich zu bleiben, und dadurch zu wachsen.

SmartHome & SmartCity: Technologische Rockstar-Domänen

JAXenter: Welche Tools und Technologien haben, neben Eclipse, das Potential, in der zweiten Jahreshälfte 2017 Aufsehen zu erregen?

Mickael Istria: Bezüglich der Tools denke ich, dass es der Entwickler-Workspace aus Eclipse Che in Form von Containern in den Mainstream schaffen könnte. Das würde dann die Art verändern, wie viele Projekte ihre beigetragenen „SKDs“ ausliefern. Das Language Server Protocol ist mit 27 unterstützen Sprachen bereits ein Erfolg. Ich glaube, dass das Interesse daran sich im zweiten Halbjahr fortsetzen wird.

Für den Alltag denke ich, dass das IoT inzwischen bereit für den Mainstream ist und sich schnell in unseren Häusern ausbreiten wird. Ich habe viele Beispiele von Technologien gesehen, die den durchschnittlichen Anwender dazu bringen, sein Haus mit IoT-Technologien zu vernetzen, um es komfortabler zu machen oder die Energieeffizienz zu steigern. Sowohl Hardware- als auch Software-Stacks für IoT (wovon viele unter dem Schirm der Eclipse IoT Working Group angesiedelt sind), sind für den Einsatz in der Industrie ausgereift und preislich gesehen recht erschwinglich geworden. SmartHomes und SmartCities sind meiner Meinung nach die technologischen Rockstar-Domänen der kommenden Monate, vor allem wenn es um den Energieverbrauch, die Regulierung des Verkehrs und all das geht, was mit Umweltschutz zu tun hat. Das ist zu einem der wichtigsten Themen der Welt geworden.

Der Vorteil von Augmented Reality ist, dass es darauf ausgerichtet ist, nicht „penetrant“ zu sein.

In der Unterhaltungsbranche und in einigen industriellen Branchen, haben es Augmented- und Mixed-Reality verdient, den Ton anzugeben. Es gibt endlich brauchbare Hardware (HoloLens, ODG, Moverio…) und die nötige Software Layer – vor allem für das Sensor-Processing und 3D-Rendering – stehen bereits seit Jahren bereit. Der Vorteil von AR ist, dass es darauf ausgerichtet ist, nicht „penetrant““ zu sein. Im Gegenteil: Das Ziel ist eine Verbindung mit der Realität, die auf eine witzigere und effektivere Weise geschaffen werden soll. Dieser neue Bereich macht es nötig, neue Konzepte, neue Metaphern und neue Interaktionsarten zwischen Mensch und Maschine ohne Verlust der Verbindung zur Realität zu schaffen; am besten auch noch freihändig. Die Ergebnisse werden sich als gleichermaßen produktiv wie unterhaltsam für den Endnutzer erweisen und AR zu einer fruchtbaren und interessanten Domäne machen, sobald AR-Devices erschwinglicher werden (vielleicht schon in den nächsten sechs Monaten?!).

Vielen Dank für das Gespräch!

Mickael Istria has been developing Eclipse plugins from the first, and have continued to do so. He is currently highly focused on the development of the Eclipse IDE and on increasing the value it delivers to its users.
Mickael’s previous positions were more about Eclipse modeling technologies applied to SOA and BPM, which he used in the context of research projects and of software edition. He first tries to care about users, technologies are here to serve humans and must help without interfering and with minimal effort from us. So he is very enthusiastic about User eXperience as he works on Eclipse IDE. He is also interested in everything that is related to the techniques of productive software development: release engineering, code quality practices, teamwork… Mickael has a big crush on augmented reality.
Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.