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 wichtigen Begriffen wie
Systemundintin 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 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.
Manche Editoren haben inzwischen automatische, AI-basierte Vervollständigung (z. B. Visual Studio Code). Wir empfehlen, diese Funktionen zum Lernen der ersten Programmiersprache zu deaktivieren. (siehe häufige Fragen unten)
Im folgenden Video zeigen wir Ihnen exemplarisch am Editor Kate einige der oben aufgelisteten Funktionalitäten. (Hinweis: Beispiel-Code und Terminal-Befehl im Video sind für die Demo irrelevant; sie gehen aber teilweise über das hinaus, was wir in der ersten Woche gelernt haben.)
Ändern Sie gerne die Wiedergabegeschwindigkeit, wenn Ihnen das Video zu schnell oder langsam ist.
Wir empfehlen im ersten Semester bewusst nicht, mit einer IDE (z. B. Eclipse oder IntelliJ) zu arbeiten (siehe unten). Wir zeigen Ihnen aber am Ende der Vorlesung, was eine IDE ist.
Häufige Fragen
Wie gebe ich geschweifte Klammern ( {, }), eckige Klammern ([, ]) und das Semikolon (;) ein?
{: 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 + ,
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 sollten ich nicht Codevorschläge von KIs erstellen lassen?
Einerseits schlagen die Tools Dinge vor, die Sie noch gar nicht gelernt haben.
Andererseits muss Ihr Gehirn aber auch erstmal lernen, wie Programmiersprachen funktionieren. Da ist es nicht hilfreich, wenn Ihnen immer sofort eine fertige Lösung gegeben wird. Wenn Sie dann später schwierigere Probleme lösen sollen, die die AI nicht lösen kann, fällt Ihnen das sehr schwer, wenn Sie Ihre Problemlösungskompetenz nicht geübt haben. Unsere Übungsaufgaben zielen u. a. auch genau darauf ab, diese Kompetenz zu stärken.
Zu Beginn des Tutoriums werden wir Ihnen zeigen, wie Sie KI-Tools sinnvoll als Lerntool zum Programmieren einsetzen können. Später im Programmierpraktikum zeigen wir Ihnen dann den sinnvollen Einsatz von intergrierten AI-Tools zum generieren von Programmcode.
Warum verwenden wir keine IDE wie Eclipse oder IntelliJ?
- 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 übernehmen Sie den java-Aufruf für uns. Dadurch wird aber z. B. das Übergeben von Kommandozeilenargumenten an Java-Programme oder das Setzen der Standardeingabe (machen wir in einer späteren Vorlesungen) 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.

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. Eine Kurzeinführung gibt es am Ende der Programmierung-Vorlesung.
Warum sollte ich „BlueJ“ oder „Java Editor“ nicht verwenden?
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.