Integrierte Entwicklungsumgebung: Unterschied zwischen den Versionen

Aus Programmieren-Wiki
(Added missing pictures and text. xml File still missing but cannot upload yet)
 
Zeile 36: Zeile 36:
= IDE's =
= IDE's =
* '''IntelliJ IDEA:'''<br>IntelliJ ist in zwei Varianten erhältlich: '''Community''' und '''Ultimate'''. Für studierende ist letztere Version kostenfrei und bietet einige zusätzliche Features, die aber nicht zwingend notwendig sind.<br>Generell ist es eine Quelloffene Java-IDE mit dem Ziel, die Entwickler zu entlasten und deren Produktivität zu steigern. Beispielsweise wird durch Indizierung ein schnelles durchsuchen des Projektes ermöglicht und beschleunigt damit auch die intelligente Autovervollständigung.<br>Nutzer von Android Studio dürften sich mit dieser IDE gut zurecht finden. [https://www.jetbrains.com/idea/download Hier] geht es zum Download.
* '''IntelliJ IDEA:'''<br>IntelliJ ist in zwei Varianten erhältlich: '''Community''' und '''Ultimate'''. Für studierende ist letztere Version kostenfrei und bietet einige zusätzliche Features, die aber nicht zwingend notwendig sind.<br>Generell ist es eine Quelloffene Java-IDE mit dem Ziel, die Entwickler zu entlasten und deren Produktivität zu steigern. Beispielsweise wird durch Indizierung ein schnelles durchsuchen des Projektes ermöglicht und beschleunigt damit auch die intelligente Autovervollständigung.<br>Nutzer von Android Studio dürften sich mit dieser IDE gut zurecht finden. [https://www.jetbrains.com/idea/download Hier] geht es zum Download.
* '''Eclipse:'''<br>
* '''Eclipse:'''<br>Eclipse ist ebenfalls eine Quelloffene Java-IDE, die viele Möglichkeiten bietet, sie den eigenen Wünschen anzupassen. Auch wird dieses Programm sehr häufig in der Industrie verwendet. Ein großer Vorteil gegenüber IntelliJ ist, dass Eclipse inkrementell Kompilieren kann und demnach alle Fehler auf einen Blick sichtbar sind. Auch andere Kleinigkeiten sind in Eclipse vorhanden, in IntelliJ allerdings nicht. [https://eclipseide.org/ Hier] kann diese IDE heruntergeladen werden.
* '''NetBeans:'''<br>NetBeans ist wie Eclipse und IntelliJ eine quelloffene Java IDE. Diese gehörte früher zu Oracle und war somit "die offizielle Java IDE". Die Weiterentwicklung von NetBeans liegt inzwischen in der Verantwortung der Apache Software Foundation. NetBeans kann [https://netbeans.apache.org/download hier] heruntergeladen werden.
* '''NetBeans:'''<br>NetBeans ist wie Eclipse und IntelliJ eine quelloffene Java IDE. Diese gehörte früher zu Oracle und war somit "die offizielle Java IDE". Die Weiterentwicklung von NetBeans liegt inzwischen in der Verantwortung der Apache Software Foundation. NetBeans kann [https://netbeans.apache.org/download hier] heruntergeladen werden.
* '''Visual Studio Code:'''<br>Visual Studio Code ist auch eine quelloffene IDE, die für so ziemlich alles verwendet werden kann. Auch diese IDE hat ihre eigenen Vor- und Nachteile. Der schwerwiegenste Unterschied ist hier allerdings, dass sämtliche Einrichtungen und Einstellungen, die sonst von der IDE gehandhabt werden, selbst getätigt werden müssen. Sie sollte also verwendet werden, wenn etwas fortgeschrittenere Kenntnisse vorhanden sind. [https://code.visualstudio.com/ Hier] geht es zum Download.


= Chechstyle-konforme Einrichtung - Leerzeichen statt Tabulatoren =
= Chechstyle-konforme Einrichtung - Leerzeichen statt Tabulatoren =
Zeile 47: Zeile 48:
Desweiteren kann das '''Lineal''' für das Zeilenende aktiviert werden. Hierzu muss einfach die Option '''Show print margin''' aktiviert werden und '''Print margin column''' auf 120 gestellt werden.
Desweiteren kann das '''Lineal''' für das Zeilenende aktiviert werden. Hierzu muss einfach die Option '''Show print margin''' aktiviert werden und '''Print margin column''' auf 120 gestellt werden.


Bild
[[file:IDE_Tabs_1.png]]


Zusätzlich dazu muss unter '''Java'''->'''Code Style'''->'''Formatter''' der Formatierer noch korrekt eingestellt werden.
Zusätzlich dazu muss unter '''Java'''->'''Code Style'''->'''Formatter''' der Formatierer noch korrekt eingestellt werden.


Bild
[[file:IDE_Tabs_2.png]]


Hierzu muss einfach die unten herunterladbare Formatierer Konfiguration über den '''Import''' Knopf importiert werden.
Hierzu muss einfach die unten herunterladbare Formatierer Konfiguration über den '''Import''' Knopf importiert werden.


Datei
Datei

Aktuelle Version vom 27. September 2024, 11:10 Uhr

🚧 Diese Seite befindet sich in Bearbeitung 🚧

Was ist eine IDE?

Unter (einfachen) Text-Editoren versteht man beispielsweise Textedit (Mac OS), Text Editor (Linux) oder Notepad (Windows). Diese Editoren weisen oft große Unterschiede zu modernen IDE's auf, da es ihnen oftmals an Funktionalität fehlt. Dadurch hilft das Program dem Nutzer beim Programmieren kaum.

Anders sieht das bei IDE's aus. Diese sind spezifisch für das schreiben von Code (meißt sogar für eine Programmiersprache) entwickelt und bieten daher maximalen Komfort und größtmögliche Unterstützung beim Programmieren.Die wohl wichtigsten Unterschiede zwischen (einfachen) Texteditoren und IDE's sind daher folgende, in IDE's integrierte, Tools:

  • Editor mit Quellformatierung und Syntaxvorhebung:
    Schlüsselwürter, Methoden, Variablen, etc. werden verschieden-farbig markiert, um die Lesbarkeit des Programmtextes zu erhöhen.
  • Statische und dynamische Code-Analyse:
    Viele IDE's zeigen diverse Stilfehler im Quellcode wie unbenutzte Variablen oder nicht erreichbaren Code direkt im Editor an. Mehr dazu hier.
  • Automatische Vervollständigung:
    Tippt man in Suchmaschinen einen Begriff oder einen ganzen Satz ein, so werden Vorschläge für ähnliche Suchen angezeigt. Genau so funktioniert auch die automatische Vervollständigung für Programmiersprachen. Beispielsweise werden Namen von Variablen, Methoden oder klassen vorgeschlagen. Dies hilft dem Entwickler enorm, da Tippfehler vermieden werden und weniger auf der Tastatur getippt werden muss.
  • Einfach verwendbarer Compiler:
    Das Komplilieren über die Kommandozeile kann bei häufigen Änderungen am Programmcode sehr zeitintensiv sein. Daher gibt es in den meißten IDE's einen Button, mit dem das Program mit einem Klick kompiliert und ausgeführt werden kann. Es wird sogar in regelmäßigen Zeitintervallen überprüft, ob das Program kompilierbar ist und darauf hingewiesen, falls dem nicht so ist.
  • Debugger:
    Mithilfe eines eingebauten Debuggers ist man in der Lage, die Abarbeitung des eigenen Programs Schritt-für-Schritt nachzuvollziehen. Zusätzlich können Haltepunkte (Breakpoints) gesetzt werden und somit bestimmte Stellen, Zustände und Übergänge im Ablauf zu untersuchen.
  • Collaborative Editing:
    Manche IDE's unterstützen simultanes Arbeiten mehrer Personen an ein und derselben Quelltext-Datei.
  • Werkzeuge zur Erstellung grafischer benutzeroberflächen (GUI-Builder):
    Die "manuelle" Erstellung von Grafischen Benutzeroberflächen rein über Quellcode ist sehr zeitintensiv, weshalb IDE's wie Microsoft Visual Studio oder Qt Creator Tools zur GUI-Erstellung bereitstellen.
  • Integration von Versionsverwaltungen:
    Versionsverwaltungssysteme wie Git können in der Softwaretechnik dazu verwendet werden, um alternative Versionen des Projektes zu speichern und zusammenzuführen. Für die Kollaboration in der Softwareentwicklung ist sowas also unverzichtbar. Durch die Integration in die Entwicklungsumgebung kann die Arbeit mit der Versionsverwaltung wesentlich effizienter und benutzerfreundlicher gestaltet werden. Es lassen sich Änderungen direkt von der IDE aus versionieren und grafisch schön darstellen.

Vor- und Nachteile einer IDE

Vorteile

  • Umfangreicher Texteditor:
    Das wohl wichtigste Werkzeug ist der Texteditor, welcher mit vielen Funktionalitäten ausgestattet ist, die - wie im oberen Abschnitt beschrieben - einfache Texteditoren meißt nicht besitzen.
    Hilfreicher Tipp: Schon während der Eingabe von Programmcode werden mögliche Fehler erkannt. Dies umfasst nicht nur unerreichbaren Code (sogenannten "toten Code"), sondern z.B. auch Hinweise zu Programmierstil und Konventionen (Beispielsweise gemischte Einrückung mit Leerzeichen und Tabs).
  • Projektverwaltung:
    In einer IDE können mehrere, voneinander unabhängige Projekte angelegt werden, an denen parallel gearbeitet werden kann. Dies ist hilfreich, um den Überblick bei mehreren Projekten nicht zu verlieren.
    Tipp: Es ist empfehlenswert, jedes der Programmieren Übungsblätter als seperates Projekt anzulegen.
  • Refaktorisierung:
    IDE's erleichtern größere, gleichzeitige Änderungen auf dem gesamten Projekt. Beispielsweise können eine Menge von Klassen gleichzeitig in ein anderes Paket verschoben werden, ohne, dass dabei die Paketdeklaration com.example.projekt in jeder Datei manuell geändert werden muss. Mehr dazu hier.
  • Mehrere Java-Versionen:
    Viele IDE's bringen eine eigene Verwaltung von installierten Java-Versionen mit sich. So kann pro Projekt die richtige Java-Version verwendet werden. Außerdem können über die IDE einfach weitere Java-Versionen und Bibliotheken nachinstalliert werden, ohne, dass man sich um das Herunterladen und die Installation selbst kümmern muss.
  • Plugins:
    Für IDE's gibt es unzählige Erweiterungen, die von anderen Entwicklern oder Firmen bereitgestellt werden. Stellt eine IDE eine gewünschte Funktionalität nicht bereit, findet man diese garantiert als Erweiterung in einer der Online-Marktplätze. Zu den wichtigsten Plugins gehören beispielsweise JUnit und Checkstyle.

Nachteile

  • Großer Ressourcenverbrauch:
    IDE'S sind umfangreiche Programme und umfassen auch viele Werkzeuge, die vom Entwickler unter Umständen gar nicht genutzt werden.
    Trotzdem belegen diese Werkzeuge Speicherplatz auf der Festplatte und auch im Arbeitsspeicher. Auf leistungsmäßig schwächeren Computern laufen IDE'S deshalb öft nicht ganz "flüssig".
  • Komplexität:
    Durch die große Menge an integrierten Werkzeugen, die auch irgendwo bedienbar sein müssen, sind Menüs und Symbolleisten oft überladen. Anfänger sind deshalb möglicherweise etwas überfordert. Außerdem sind IDE's mittlerweile sehr komplexe Programme geworden, in deren Benutzung man sich - unabhängig von der Programmiersprache - auch erstmal einarbeiten muss.

Fazit

Zusammengefasst lässt sich sagen, dass eine IDE viele Werkzeuge unter ein Dach bringt, wofür man sonst mehrere unabhängige Programme installieren müsste. Die Werkzeuge sind aufeinander abgestimmt und verfolgen eine ähnliche Philosophie. Ist eine gewünschte Funktionalität nicht verfügbar, so ist diese einfach durch Erweiterungen nachinstallierbar. Durch die integrierte Projektverwaltung sowie verschiedene Versionsverwaltungssysteme begleitet eine IDE den gesamten Entwicklungszyklus einer Software. Dabei werden lästige Aufgaben, wie beispielsweise die Verwaltung installierter Java-Versionen dem Entwickler abgenommen.

Trotzdem sind IDE's komplexe Programme, die Anfänger oft überfordern können. Diese besitzen zusätzlich zur Programmiersprache auch eine eigene Lernkurve. Hat man sich allerdings einmal in eine IDE eingearbeitet und kommt mit den Werkzeugen gut klar, kann diese für eine drastische Erhöhung der Produktivität führen.

IDE's

  • IntelliJ IDEA:
    IntelliJ ist in zwei Varianten erhältlich: Community und Ultimate. Für studierende ist letztere Version kostenfrei und bietet einige zusätzliche Features, die aber nicht zwingend notwendig sind.
    Generell ist es eine Quelloffene Java-IDE mit dem Ziel, die Entwickler zu entlasten und deren Produktivität zu steigern. Beispielsweise wird durch Indizierung ein schnelles durchsuchen des Projektes ermöglicht und beschleunigt damit auch die intelligente Autovervollständigung.
    Nutzer von Android Studio dürften sich mit dieser IDE gut zurecht finden. Hier geht es zum Download.
  • Eclipse:
    Eclipse ist ebenfalls eine Quelloffene Java-IDE, die viele Möglichkeiten bietet, sie den eigenen Wünschen anzupassen. Auch wird dieses Programm sehr häufig in der Industrie verwendet. Ein großer Vorteil gegenüber IntelliJ ist, dass Eclipse inkrementell Kompilieren kann und demnach alle Fehler auf einen Blick sichtbar sind. Auch andere Kleinigkeiten sind in Eclipse vorhanden, in IntelliJ allerdings nicht. Hier kann diese IDE heruntergeladen werden.
  • NetBeans:
    NetBeans ist wie Eclipse und IntelliJ eine quelloffene Java IDE. Diese gehörte früher zu Oracle und war somit "die offizielle Java IDE". Die Weiterentwicklung von NetBeans liegt inzwischen in der Verantwortung der Apache Software Foundation. NetBeans kann hier heruntergeladen werden.
  • Visual Studio Code:
    Visual Studio Code ist auch eine quelloffene IDE, die für so ziemlich alles verwendet werden kann. Auch diese IDE hat ihre eigenen Vor- und Nachteile. Der schwerwiegenste Unterschied ist hier allerdings, dass sämtliche Einrichtungen und Einstellungen, die sonst von der IDE gehandhabt werden, selbst getätigt werden müssen. Sie sollte also verwendet werden, wenn etwas fortgeschrittenere Kenntnisse vorhanden sind. Hier geht es zum Download.

Chechstyle-konforme Einrichtung - Leerzeichen statt Tabulatoren

Da Tabulatoren in Artemis zu Problemen führen können, sollte die jeweilige IDE so eingestellt werden, dass Leerzeichen (statt Tabulatoren) zur Einrückung verwendet werden.

In IntelliJ ist dies bereits die Standarteinstellung, es müssen also keine weiteren Einstellungen vorgenommen werden.

Eclipse hingegen verwendet standartmäßig Tabulatoren zur Einrückung. Um das zu ändern, sollte man die Einstellungen öffnen, die im Dorp-Down Menü Window unter Preferences zu finden sind. Anschließend kann unter General->Editors->Text Editors die Option Insert spaces for tabs aktiviert werden.
Desweiteren kann das Lineal für das Zeilenende aktiviert werden. Hierzu muss einfach die Option Show print margin aktiviert werden und Print margin column auf 120 gestellt werden.

IDE Tabs 1.png

Zusätzlich dazu muss unter Java->Code Style->Formatter der Formatierer noch korrekt eingestellt werden.

IDE Tabs 2.png

Hierzu muss einfach die unten herunterladbare Formatierer Konfiguration über den Import Knopf importiert werden.

Datei