# Welcher Java Editor wird empfolen?



## WetWer (29. Apr 2016)

Ich bin neu im Business. Bis jetzt habe ich BlueJ gebraucht. Welcher Editor ist der beste?

LG Felix


----------



## KaffeeFan (29. Apr 2016)

Da teilen sich die Meinungen... Die gängisten sind meiner Meinung nach NetBeans, Eclipse und IntelliJ.
Ich persönlich bevorzuge NetBeans.

Gruß 
Luk


----------



## da921610 (29. Apr 2016)

Ich nutze Eclipse und bin sehr zufrieden mit. Alle nötige Funktionen sind enthalten oder können durch Plugins nachträglich installiert werden. Wahrscheinlich bei IntelliJ und NetBeans nicht anders.


----------



## mrBrown (29. Apr 2016)

Das ist so eine "Frage 3 Leute, bekomme 3 Antworten"-Frage 

Und da ich der dritte bin, gibts von mir die dritte Antwort, ich nutz IntelliJ IDEA, bin von Netbeans umgestiegen und mit IntelliJ zufriedener. UI find ich da angenehmer, und läuft meinem Eindruck nach flüssiger. Ist recht gut mit Tastenkombis zu bedienen und hat recht gute Analysentools direkt mit an Bord


----------



## lam_tr (29. Apr 2016)

Hi WetWer,

ich will auch mal mein Senf dazu geben.

Generell bin ich ein Eclipse-Fan, wegen den ganzen Bibliotheken die benutzt werden können, zbsp. RCP, GEF, XText, Graphiti, Efxclipse, etc.
Eclipse ist vor allem OpenSource, d.h. wenn du wissen willst die in Eclipse ein Dialog aufgebaut ist, kannst du auch gut nachschauen.

Ich habe schon 2 mal versucht nach IntelliJ umzusteigen, aber mir scheint es nicht wirklich einfach zu sein, ich als Eclipse Fan.

Viele Grüße
lam


----------



## InfectedBytes (29. Apr 2016)

ich habe früher eclipse genutzt, bin aber vor einiger Zeit auch auf IntelliJ umgestiegen.
eclipse kam mir immer vergleichsweise langsam vor und für viele wichtige Dinge (z.b. gradle) musste man immer erst plugins installieren.
IntelliJ kommt mir etwas schlanker vor und hat trotzdem alles was man braucht. Außerdem wird gradle direkt unterstützt.

Zu netbeans kann ich gar nichts sagen, da ich es noch nie ausprobiert habe^^


----------



## WetWer (3. Mai 2016)

@InfectedBytes , @lam_tr ,@mrBrown , @da921610 
Danke euch allen für eure antworten!

Ich habe mir jetzt Eclipse auf meien Computer geholt und ich muss schon sagen geht viel schneller als mit BlueJ! 

Die andere hälfte hat mir IntelliJ empfohlen was ich mir ebenfalls noch ansehen werde!< Leider kostet intelliJ etwas...(*€ 499.00* /1st year). Es gibt ja auch noch die Comunitiy version. 


Und da zu meiener nächsten frage: Wiso  für 500 Euro im Jahr ein Editor kaufen wen es so gute gratis programme gibt?? Was ist soviel besser?


----------



## InfectedBytes (3. Mai 2016)

also ich nutze auch nur die kostenlose Version von IntelliJ, allerdings ist die bereits auf gleichem Niveau mit Eclipse. Meistens ist es schon so, dass die kostenpflichtigen Versionen einiges mehr drauf haben als kostenlose Programme. Im Falle von IntelliJ ist es z.B. so, dass die Ultimate version mehr Sprachen und Frameworks out of the box unterstützt. Außerdem unterstützt die Ultimate Version auch Team Foundation Server. Ansonsten bieten die meisten kostenpflichtigen IDEs auch 24/7 support.


----------



## Baldur (4. Mai 2016)

WetWer hat gesagt.:


> Leider kostet intelliJ etwas...(*€ 499.00* /1st year)


Das ist allerdings der Preis der Business Lizenz, für Einzelpersonen kostet IntelliJ "nur" 149€ (plus Steuer) Die Individual Lizenz darfst du übrigens überall einsetzen, also z.B. auch am Arbeitsplatz. Ansonsten gibts z.B. auch Studentenversionen kostenlos.
Ich benutz aktuell auch nur die Community Edition der Java-IDE und spüre eigentlich keine Einschränkungen dabei. Das was die kostenpflichtige Version voraus hat ist auch eher was für professionelle Entwickler.

Für Anfänger mag der Unterschied zwischen den einzelnen IDEs noch nicht allzu groß sein, aber wenn man mal ein paar Jahre mit der Entwicklung verbracht habt gibts viele Features die man einfach lieben lernt. Was ich bei IntelliJ und Netbeans z.B. sehr zu schätzen gelernt habe ist die wirklich gute Integration von Versionskontrollsystemen wie Mercurial, Git, ... Man sieht z.B. direkt im Editor seine Änderungen, kann mit einem Klick mit der aktuellen Vorgängerversion vergleichen, sehen wann und mit welchem Commit eine Codezeile geändert wurde, usw.
Die Local History fand ich auch schon oft sehr nützlich (alle Änderungen an einer Datei werden protokolliert und sind jederzeit abrufbereit, ist wie ein stark erweitertes Undo)
Live Code Templates bei IntelliJ und Netbeans (du tippst z.B. "sout<leertaste>" und die IDE erweitert es direkt zu "System.out.println("<cursor>");")
IntelliJ nimmt einem auch viel Kleinkram ab (Alt+Einfg -> "Getter and Setter" -> Felder auswählen -> IntelliJ erstellt autmatisch alle Getter und Setter)
IntelliJ gibt auch sehr viele Hinweise (Eine Variable wird nicht initialisiert oder nie gelesen, fehlender null-Test, usw).
Sowohl Netbeans als auch IntelliJ haben recht gute GUI-Editoren (hab bisher aber nur relativ simple UIs mit Java gebaut, weiß auch nicht ob Eclipse einen hat)

Gib IntelliJ ruhig mal eine Chance. Sonst nimm NetBeans 
Eclipse fand ich persönlich nie wirklich gut. Sehr unintuitiv, braucht für vieles Plugins, was die anderen IDEs direkt von Anfang an dabei haben, die Plugins muss man sich auch erst noch zusammensuchen, und trotzdem fühlt sich Eclipse langsam und träge an.
Eclipse Fans dürfen mich gern korrigieren wenn ich was unterschlagen habe. Ich weiß, Eclipse kann auch Mercurial und Git, aber an IntelliJ/NetBeans kamen die bei weitem nicht ran, als ich das zuletzt ausprobiert habe.


----------



## stg (4. Mai 2016)

NetBeans und Eclipse unterscheiden sich meiner Meinung nach nicht so stark und es handelt sich bei der Entscheidung zwischen beiden eher um eine Gechmacksfrage.
Wobei ich persönlich auch NetBeans hier vorziehe. Die GUI von NetBeans finde ich ebenfalls intuitiver und daher besonders auch für Einsteiger geeigneter.

Sowohl bei NetBeans als auch Eclipse bin ich in spezielleren Anwendungsfällen an die Grenzen gestoßen. Als Beispiel sei hier etwa die doch sehr dürftige Unterstützung von gradle in NetBeans genannt.

IntelliJ ist mit Abstand die mächtigste IDE von den hier genannten, aber ein Einsteiger wird hiermit zu Beginn vermutlich auch vollends überfordert sein. IntelliJ ist halt nicht nur ein Community Project, sondern ein kommerzielles Produkt, für das du auch kommerziellen Support bekommst, wenn er benötigt wird. Und rechne doch mal die 300$-500$ im Verhältnis zu den gesamten Lohnkosten die dem Arbeitgeber für einen Arbeitnehmer entstehen. Wenn der Arbeitnehmer damit produktiver arbeiten kann, dann relativiert sich der Preis doch sehr.

Wenn du professionell arbeiten willst, dann solltest du dir IntelliJ in jedem Fall wenigstens mal ansehen. Wenn du aber gerade erst die ersten Schritte machen willst, dann würde ich NetBeans bevorzugen.


----------



## WetWer (4. Mai 2016)

Hey @Baldur ! 
Danke für den tip. Ich habe den Leuten von JetBrains eine Anfrage für eine Studenten Lizenz geschickt! Das ist ja total cool!

 Bis jetzt habe ich Eclipse und IntelliJ Community verglichen und muss sagen das mir IntelliJ viel besser gefällt(nicht nur wegen dem coolen Dracula-Design ). Inteligente Codevorschläge und ein bischen verwirrende Tastenkombinationen(zB: Ctrl+W = Text auswahl zum nächst grösseren) <- finde ich jedoch eine super Idee. An das 





Baldur hat gesagt.:


> du tippst z.B. "sout<leertaste>" und die IDE erweitert es direkt zu "System.out.println("<cursor>");


 habe ich mich auch schon gewöhnt!


Ich glaube jedoch das wenn ich mich zu sehr an IntelliJ gewöhne werde ich Java nie lernen. Ich werde also jetzt mal einen Blick auf Netbeans werfen. Das ist der Editor der von der gleichen Firma gemacht wird wie Java. Hoffe auf einen besseren Editor als Eclipse!

Danke euch allen für eure Tips! Felix :-D


----------



## Baldur (4. Mai 2016)

Ich hab neulich gesehen daß irgendwer auch schon das Darcula Design mittels Plugin auf Netbeans portiert hat. Also wär das schonmal kein Hindernis 

Ansonsten hindert dich eine IDE ja nicht daran, Java zu lernen. Die IDE soll einem ja nur den lästigen Kleinkram abnehmen. Am Anfang kann man ja z.B. noch seine Getter und Setter selbst schreiben, aber wenn man das ein paarmal gemacht hat, lässt man es die IDE generieren.
Und die Hinweise die IntelliJ gibt (Netbeans kann das ja auch, evtl halt nicht ganz so umfangreich) weisen ja auch auf potentielle (Anfänger-)fehler hin. Ich weiß nicht wie oft in verschiedenen Java-Foren schon gefragt wurde, warum ein `string1 == string2` nicht tut was es soll. IntelliJ sagt dir direkt wenn du es eingegeben hast, daß es falsch ist.
Wobei ich inzwischen auch finde daß IntelliJ ein bisschen arg pingelig ist und auch unnötige Hinwese gibt.


----------



## BuckRogers (4. Mai 2016)

Hi @WetWer,

in der Uni hatten wir auch Eclipse und NetBeans verwendet, da die Tolls einfach kostenlos zu haben sind und für die Zwecke in der 'Schule' vollkommen ausreichen. Nun hatte ich vor ein paar Jahren als Werkstudent bei meiner jetzigen Firma angefangen. Hier habe ich die Arbeit mit IntelliJ lieben gelernt. Ich nutze auch privat kein anderes Tool mehr. Die hundert € im Jahr sind echt ein Witz für ein so spektakuläres Produkt. Wie andere hier schon meinten, erfährt man bei IntelliJ nicht sofort den Unterschied zu anderen IDEs. 

CRTL + W ist da nur die Spitze des Eisbergs. 
CTRL + ALT + L formatiert zum Beispiel deinen Java Code nach Java-Konvention. 
SHIFT + F6 benennt deinen Variablennamen in der ganzen Klasse um. 
Cursor auf eine Methode mit return-Wert und dann mal dezent CTRL + ALT + V gedrückt erzeugt dir eine Instanz des zurückgegebenen Wertes mit Namensvorschlag. 

Schreibe eine neue Methode samt Parametern und drücle ALT + ENTER erzeugt dir die gesamte Methode. Danach wirst du dann durch die Komplettierung des Rückgabewertes geführt und in den Body geleitet. 

Nicht zu verachten sind die intelligenten Suchfunktionen und Navigationstastenkürzel. 

Mit ALT + F7 kannst du alles(Klassen, Methodenaufrufe etc.) in deinem Projekt finden. 

STRG + SHIFT + F gibt dir eine Vorlage um gezielt nach allem zu suchen. 

STRG + N sucht dir Java-Klassen sogar mit UCC und Methoden und GOTO line. STRG + SHIFT + N sucht nach allen Dateien. 

STRG + F12 bietet dir eine Outline ala Eclipse mit eingebetteter Suche. 

Mit STRG + B kannst du in Methoden hinein un heraus springen (kein Mausgeklicke mehr nötig). 

Bei Schnittstellenimplementierungen kannst du sogar mit STRG + ALT + B direkt in die Implementierung springen. Bei mehreren Implementierungen kannst du dir sogar eine aussuchen. 

Mit STRG + TAB kannst du in den Fenstern navigieren. 

ALT + KEY up / KEY down navigiert dich zu Methodensignaturen. 
Es gibt noch so viel mehr an Navigationsunterstützung in IntelliJ. Ein weiteres Feature in IntelliJ ist der Debugger. Diesen empfinde ich ebenso als führend unter allen IDEs. Der Framework support in IntelliJ ist auch absolut fantastisch! Die Projektstrukturen werden entsprechend der Vorgaben des Frameworks erzeugt bzw. vervollständigt. Ant, Maven, Gradle etc. ist von Hause aus dabei. Man kann sich eigene Templates erzeugen und über STRG + J aufrufen. Somit braucht man nicht mehr alles selber schreiben oder kopieren. Es würde mir noch so viel mehr einfallen und könnte auch ein ganzes Forum mit Features von IntelliJ füllen. Irgendwann muss aber auch mal Schluss sein. 

Einfach mal unter "IntelliJ > Help > Tip of the Day" nach tollen Tricks suchen und anwenden.
Auch der Productivity Guide unter Help ist ein sehr spaßiges Feature. Dort sieht man was für Tastenkombinationen und Autokomplettierungen man verwendet hat und wieviel Zeit man dadurch gespart hat. IntelliJ ist einfach rundum intelligent!

Und das lernen von Java kommt ganz von allein. Der intelligente Editor wird dir da nichts vorweg nehmen. Im Gegenteil, er wird dir eher beim korrekten Programmieren unter die Arme greifen.


----------

