Zum Hauptinhalt springen

Wahl eines geeignete Editors

Ein Texteditor ist ein Computerprogramm, in dem Sie Textdateien erstellen können – und zwar reine Textdateien (sog. plain text) ohne Formatierungen wie Fettdruck oder Unterstreichungen. Der Texteditor ist das wichtigste Werkzeug für Programmierer:innen (und Server-Admins), weshalb Sie sich mit den Funktionalitäten Ihres Editors vertraut machen sollten, um schnell Quellcode eingeben und verändern zu können.

Zu den typischen Funktionen eines guten Texteditors gehören:

  • Syntax-Highlighting (automatische Hervorhebung von Schlüsselwörtern wie static und class in Programmcode)
  • Wort-/Schlüsselwort-Vervollständigung
  • Tastenkürzel zum Kopieren, Verschieben und Löschen von Zeilen
  • Tastenkürzel, um markierten Text in einen Kommentar umzuwandeln
  • (halb-)automatisches Einrücken
  • einrücken markierter Codezeilen
  • Suchen & Ersetzen von Text
  • Code-Folding (einklappen von zusammengehörigen Code-Abschnitten)
  • Split-View (mehrere Dateien nebeneinander anzeigen)
  • Terminal-Integration
  • Umbenennen geöffneter Dateien
  • Block-Auswahl (quadratische Auswahl von Text über mehrere Zeilen hinweg)
  • Textenkürzel, um die aktuelle Text-Auswahl logisch zu vergrößeren (z. B. wenn eine Variable ausgewählt ist die nächst größere Expression auswählen)
  • änderbare Tastenkürzel & Symbolleiste

Beispiele für gute, kostenlose Texteditoren sind (alphabetische Reihenfolge):

Es gibt auch Texteditoren, die im Terminal laufen – für den Einstieg sind diese erstmal weniger empfehlenswert, aber es ist gut zu wissen, dass es so was gibt:

  • emacs (sehr mächtig, nicht sehr einstiegsfreundlich)
  • nano (auf vielen Systemen standardmäßig installiert)
  • vim (sehr mächtig, nicht sehr einstiegsfreundlich)
Welchen Editor nehmen?

Welchen Editor Sie verwenden, können Sie selbst entscheiden. Wichtig ist, dass Sie sich mit der Bedienung Ihres Editors vertraut machen und z. B. wissen, welche Tastenkürzel es gibt oder ob ein Terminal integriert werden kann.

Im folgenden Video zeigen wir Ihnen exemplarisch am Editor Kate einige der oben aufgelisteten Funktionalitäten.

Ändern Sie gerne die Wiedergabegeschwindigkeit, wenn Ihnen das Video zu schnell oder langsam ist.

IDE?

Wir empfehlen im ersten Semester bewusst nicht, mit einer IDE (z. B. Eclipse oder IntelliJ) zu arbeiten (siehe unten).

Häufige Fragen

Wie gebe ich geschweifte Klammern ( {, }), eckige Klammern ([, ]) und das Semikolon (;) ein?
Auf einer deutschen Tastatur (bzw. mit einer deutschen Tastaturbelegung) nach DIN können Sie die Zeichen wie folgt eingeben:
  • {: Alt Gr + 7 (gleichzeitiges Drücken der Taste Alt Gr (rechts neben der Leertaste) und der 7 (über Z und U))
  • }: Alt Gr + 0
  • [: Alt Gr + 8
  • ]: Alt Gr + 9
  • ;: Umschalttaste + , (die Umschalttasten sind links vom Y und rechts vom -)

Die deutschen Tastaturen von Apple-Computern folgen nicht der DIN und bilden die Klammern verwirrenderweise auch nicht auf den Tasten ab. Mit der deutschen Apple-Tastaturbelegung geben Sie die Zeichen wie folgt ein:

  • {: Alt + 8
  • }: Alt + 9
  • [: Alt + 5
  • ]: Alt + 6
  • ;: Umschalttaste + ,
Warum diese unbequemen Zeichen?

Sie merken vielleicht selbst: Das Tippen dieser Zeichen ist etwas unbequem. Warum werden Sie dann verwendet? Einerseits sind einfacher zu erreichende Zeichen schon mit anderen Bedeutungen belegt. Andererseits sind sie aber auf englischen Tastaturen wesentlich bequemer zu erreichen, weshalb viele Programmier:innen (auch bei deutschen Tastaturbeschriftungen) mit englischem Tastaturlayout arbeiten. Als Anfänger:in sollten Sie sich aber ersteinmal auf das Programmieren konzentrieren und nicht noch Ihre Tasten umsortieren.

Warum verwenden wir keine IDE wie Eclipse oder IntelliJ?
Integrierte Entwicklungsumgebungen (Integrated Development Environments, IDEs) haben viele Funktionen, die Texteditoren nicht haben und die vor allem bei der Entwicklung von größeren Softwareprojekten nützlich sind. Zum Beispiel können Sie Programmierfehler wie eine Rechtschreibprüfung beim Eintippen direkt kennzeichnen und geben Tipps, wie man Code verbessern kann. Allerdings sprechen folgende Punkte gegen einen Einsatz von IDEs, wenn man gerade anfängt, programmieren zu lernen:
  • IDEs sind „schwergewichtiger“ als Editoren und verlangem gerade älteren Computern einiges an Leistung ab. IDEs starten langsamer als einfache Texteditoren und verbrauchen durch ihre zusätzlichen Funktionen, die wir noch nicht brauchen, unnötige Ressourcen.
  • IDEs haben viele Funktionen, die vom Wesentlichen (dem Programmcode) zunächst nur ablenken und schnell falsch verwendet werden können.
  • Viel von dem, was IDEs einem Abnehmen können, sollten wir ersteinmal grundlegend selbst verstehen und erklären können. Es hat z. B. auch keinen Sinn, einem Erstklässer eine automatische Rechtschreibprüfung mit an die Hand zu geben, wenn er noch nicht die Kompetenz hat nachzuvollziehen, wann die Rechtschreibprüfung richtige und wann falsche Vorschläge macht.
  • IDEs verstecken, was „unter der Haube“ passiert und was wir eigentlich verstehen wollen. Beispielsweise nehmen Sie uns die Arbeit ab, unser Programm manuell mit javac compilieren zu müssen und übernehmen auch den java-Aufruf für uns. Dadurch wird aber z. B. das Übergeben von Kommandozeilenargumenten an Java-Programme (machen wir in der 2. Vorlesung) oder das Setzen der Standardeingabe (später in der Vorlesung) verkompliziert.
  • Es gibt manchmal Situationen, in denen Sie auch später ohne IDE zurecht kommen müssen, beispielsweise falls Code auf einem Server temporär geändert werden muss. Für manche Programmiersprachen (vor allem jüngere und weniger populäre) gibt es außerdem oft keine (vollwertigen) IDEs.
  • IDEs geben viele richtige Hinweise zu „schlechtem“ Programmierstil, die aber nicht nützlich sind, wenn man das, was vorgeschlagen wird, noch gar nicht versteht. Im folgenden Bildschirmfoto schlägt z. B. IntelliJ bei einem Hello-World-Programm die Nutzung eines Packages und eines Loggers vor. – Vor Januar werden wir aber gar nicht verstehen, was das bedeutet, und werden jetzt nur von diesen Meldungen abgelenkt.

Hello-World-Programm in IntelliJ mit den Warnungen „Move this file to a named package“ und „Replace this use of System.out by a logger“

Wenn Sie Profi sind

Wenn Sie sich schon gut mit Begrifflichkeiten wie Argumente, Standardeingabe, Packages und Classpath auskennen, verbieten wir Ihnen nicht, eine IDE zu benutzen. Falls Sie aber dadurch Probleme haben, den von uns zur Verfügung gestellten Code zu benutzen oder Lösungen korrekt abzugeben, bekommen Sie von unserer Seite keine Unterstützung. Im Studium wird ab dem Programmierpraktikum I, in dem Sie größere Programmierprojekte bearbeiten, mit einer IDE gearbeitet.

Warum sollte ich „BlueJ“ oder „Java Editor“ nicht verwenden?
BlueJ und Java Editor sind kleine Entwicklungsumgebungen (IDE), die speziell zu Lernzwecken entwickelt wurden. Leider verstecken sie damit auch einiges von dem, was „unter der Haube“ passiert (z. B. das Aufrufen des Compilers), was wir aber verstehen und nachvollziehen wollen. Es ist auch schwieriger, von uns vorgegebenen Java-Code in BlueJ oder Java Editor zu übernehmen (spätestens dann, wenn wir mehrere Dateien vorgeben). Außerdem hat es für Sie keinen Sinn, den Umgang mit BlueJ oder Java Editor zu lernen, da Sie ab dem Programmierpraktikum „richtige“, vollwertige IDEs benutzen, wie sie auch in der professionellen Softwareentwicklung eingesetzt werden.

Falls Sie trotzdem BlueJ oder Java Editor verwenden wollen, verbieten wir es Ihnen nicht. Falls Sie aber dadurch Probleme haben, den von uns zur Verfügung gestellten Code zu benutzen oder Lösungen korrekt abzugeben, bekommen Sie von unserer Seite keine Unterstützung.

Warum sollte ich Notepad (Windows Editor) nicht verwenden?
Notepad hat quasi keine der Funktionen, die wir von einem guten Texteditor fürs Programmieren erwarten. Insbesondere fehlt ein Syntax-Highlighting, sodass Java-Quellcode in Notepad schwieriger zu lesen ist.
Ist Word/Writer ein Texteditor?
Nein, Microsoft Word und LibreOffice/OpenOffice Writer sind Textverarbeitungsprogramme, mit denen formatierte Dokumente (mit großen Überschriften, kursivem Text, Bildern usw.) erstellt werden können. Diese Programme können zwar theoretisch auch einfache Textdateien (plain text) erstellen, aber bieten keine der Funktion, die fürs Programmieren nützlich sind (z. B. Syntax-Highlighting).
macOS: App kann nicht geöffnet werden, da Apple darin nicht nach Schadsoftware suchen kann