Interaktiver IDE-Vergleich: Ergebnisse - IntelliJ IDEA - JAXenter

Interview mit Roman Strobl von JetBrains

Interaktiver IDE-Vergleich: Ergebnisse – IntelliJ IDEA

Roman Strobl von JetBrains reagiert auf die Kommentare der Community und beantwortet im Rahmen des interaktiven IDE-Vergleichs zwischen Eclipse, NetBeans und IntelliJ IDEA Fragen zur IntelliJ-IDEA-Entwicklungsumgebung.

JAXenter: Kommentator Armin stellt die Frage nach der Reaktionsgeschwindigkeit und dem Speicherbedarf von IntelliJ IDEA:

Ich denke aber schon, dass auch IDEA etwas von den anderen IDEs lernen kann. Insbesondere finde ich die Reaktionsgeschwindigkeit des UI speziell im Vergleich zu Eclipse verbesserungswürdig. Darüber hinaus habe ich mich schon öfter über den hohen Speicherplatzbedarf des Verzeichnisses .IntelliJIdea im user home geärgert. Meine 4-5 recht überschaubaren Projekte verursachen eine Speicherbedarf von über 1GB im .IntelliJIdea-Verzeichnis.

Armins erste Fragen lautet also:

Warum ist die UI so langsam? Liegt es am Editor, der wie im Artikel erwähnt, sehr hohe Anforderungen an die Verabeitung des Source-Codes erfüllen muss?

Roman Strobl: Die Frage ist zu allgemein gestellt, um darauf eine wirklich gute Antwort geben zu können. Was man sagen kann ist, dass wir hervorragend darin sind, die CPU/Speicher-Snapshots zu analysieren, die uns unsere Anwender zur Verfügung stellen, und auf diesem Weg Probleme zu beheben und/oder Tipps zu geben, wie Performance-Engpässe vermieden werden können. Nehmen Sie doch einfach Kontakt mit uns auf!

JAXenter: Die zweite Frage von Armin:

Warum ist das Metaverzeichnis .IntelliJIdea so groß?

Roman Strobl: Das Metadirectory enthält eine umfassende Datenbank für den ganzen Quellcode und alle Bibliotheken, die zum Einsatz kommen. Diese Inhalte und die Vielzahl an Indizes brauchen natürlich ihren Platz. Aber ist das denn ein Problem?

JAXenter: Weiter geht es mit Johannes Auer, der Eclipse wegen dessen Modeling-Fähigkeiten schätzt:

Johannes Auer: Ich sehe IntelliJ noch lange nicht auf Augenhöhe mit Eclipse: Eclipse ist viel mehr als eine IDE und bietet gerade im Bereich MDSD so viel mehr als seine Konkurrenten.

Roman Strobl: Es stimmt, Eclipse ist eine Rich Client Platform und die Grundlage für zahllose kommerzielle sowie quelloffene Tools und Frameworks. Es ist einfacher zu sagen, was Eclipse NICHT ist. Mit IntelliJ IDEA versuchen wir hingegen, uns wirklich auf den Anwendungsfall des Entwickelns von Programmcode zu konzentrieren. Andererseits haben wir auch das MPS-Projekt (Meta Programming System), das auch Open Source zur Verfügung steht. Mit MPS kann man auf eine ganz andere Weise „Modell-getrieben“ entwickeln, als das mit Eclipse Tooling möglich ist.

JAXenter: Außerdem empfindet Johannes Auer die Community Edition von IntelliJ als zu schwach:

Die Community Edition kommt auch etwas schwachbrüstig daher: kein Support für Ruby/JRuby, Python, SQL, HTML, XHTML, CSS, XSL, XPath, JavaScript/ActionScript, PHP (nicht mal PHP!) – wenn Open Source (als vergleichswürdiger Counterpart zu NetBeans und Eclipse), dann aber doch ganz oder gar nicht.

Roman Strobl: Die IntelliJ IDEA Community Edition eignet sich am besten für SE-, Desktop- und Groovy-Entwicklung. Wer weitere Features möchte, dem empfehlen wir, zur Ultimate Edition zu greifen.

JAXenter: Warum stellt JetBrains nicht das komplette IntelliJ IDEA Open Source zur Verfügung?

Roman Strobl: Weil wir kein tragfähiges Business Modell für ein kleines Unternehmen im Tooling-Bereich ohne externes Sponsoring sehen, das genügend Finanzmittel generieren würde, um das Projekt weiterentwickeln zu können. Andererseits bietet die Open Source Foundation uns, den Entwicklern von IntelliJ IDEA, alle Vorteile der Open-Source-Plattform.

JAXenter: Piero Sartini übt Kritik am Plug-in-Repository von IntelliJ IDEA:

Was mehr Kritik verdient ist das Plug-in Repository. Hier tummeln sich inkompatible Versionen und teilweise auch Plug-ins, welche schon Ewigkeiten im Core integriert sind.

Roman Strobl: Diese Kritik nehmen wir an. Tatsächlich wird die Plug-in-Kompatibilität normalerweise von den Plug-in-Entwicklern definiert, und wir bei JetBrains sehen uns nicht in der Lage, jedes Plug-in herunterzuladen und gegen die vielen verschiedenen Versionen zu testen. Eine solche saubere Haushaltsführung würde zu viel Zeit in Anspruch nehmen. Wir denken statt dessen daran, ob wir den Endanwendern die Möglichkeit geben können, Plug-ins als zu gewissen Versionen inkompatibel zu markieren. Was halten Sie von dieser Idee?

JAXenter: Zwei Fragen stellt Piero Sartini noch:

Meine Fragen sind also auch: – wieso ist IDEA im Vergleich zur Konkurrenz derart träge? Wann wird der Plug-in-Mechanismus endlich modernisiert?

Roman Strobl Ich schätze, auf eine falsche Frage gibt es keine richtige Antwort. Bei jedem Perfomance-Problem empfehle ich, den JetBrains-Support zu kontaktieren, der erklären kann, wie man Performance-Snapshots aufzeichnet, die von unseren Entwicklern analysiert werden können.

Ich denke, unser Plug-in-System ist umfassend und sehr mächtig. Vermissen Sie eine bestimmte Funktion? Das System wird ohnehin ständig weiterentwickelt, sodass es unwahrscheinlich ist, dass es jemals eine „finale“ Modernisierung geben wird.

JAXenter: Kann IntelliJ den hohen Qualitätsstandard in den verschiedenen Versionen von IDEA halten?

David Linsin: Besteht durch die unterschiedlichen Editionen (Community Edition und Ultimate Edition) die Gefahr einer minderen Qualität der gesamten Plattform? Anders gefragt, ist die Community Edition lediglich die Ultimate Edition, jedoch mit weniger Features und IntelliJ wird weiterhin einheitlich entwickelt, so dass alles dem gleichen Qualitäts-Standard entspricht?

Roman Strobl: Beide Editionen (genauso wie RubyMine, WebIDE, PyCharm und die ObjectiveC IDE) basieren auf denselben Sourcen, lediglich einige Module wurden hinzugefügt bzw. weggelassen. Ein Qualitätsverlust bei bestimmten Editionen dürfte also schwierig sein, angesichts der Tatsache, dass der Quellcode im Grunde derselbe ist.

JAXenter: Dominik Hofmanns abschließende Frage nach der Sinnhaftigkeit eines multiplen IDE-Einsatzes, die auch schon Aljoscha Rittner beantworten durfte, geht nun auch an Roman Strobl:

Was steigert Ihrer Meinung und Erfahrung nach die Produktivität in einem Projektteam mehr? Wenn jeder Entwickler seine Lieblings-IDE verwendet, oder wenn es eine einheitliche IDE im Unternehmen oder Projekt gibt?

Roman Strobl: Wir nutzen alle IntelliJ IDEA in unserem Team, ich kann hier also nur raten. Solange ein Projekt vernünftig strukturiert ist, wird die Verwendung mehrerer IDEs keine Belastung darstellen, da das Arbeiten mit einem vertrauten Werkzeug oft produktiver ist. Außerdem erzeugen Vorschriften – sei es eine Begrenzung auf 80 Zeilen Code oder die Verwendung einer bestimmten IDE – nur unnötigen Druck und Ärger im Team. Andererseits sollte jeder so offen sein, um von den anderen Team-Mitgliedern zu lernen. In einer idealen Welt beginnt man also mit verschiedenen IDEs im Team und einigt sich dann schließlich auf eine einzige, weil gerade diese am besten zum Projekt und dem eigenen Workflow passt.

JAXenter: Vielen Dank an alle Kommentatoren und an Roman Strobl für seine ausführlichen Antworten!

Roman Strobl arbeitet bei JetBrains als Technology Evangelist. Er besitzt über 12 Jahre Erfahrung in der Softwareentwicklung mit Java und verschiedenen dynamischen Sprachen. Bevor er zu JetBrains kam, arbeitete er bei Sun Microsystems in den Projekten NetBeans und OpenSolaris. Roman ist regelmäßig Speaker auf Konferenzen wie der Community One, Sun Tech Days, verschiedenen Java-Events und JUG-Treffen. Er gründete die tschechische Java User Group und unterstützt die tschechische Java-Community.
Geschrieben von
Kommentare

Schreibe einen Kommentar

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