[Java] Warum ist Processing so viel einfacher als Eclipse?

3 Antworten

Und wärend Processing noch halbwegs einfach und übersichtlich ist, ist das bei Eclipse auch nicht mehr der Fall.

Die Processing IDE ist bewusst einfach gehalten, denn sie richtet sich an Programmieranfänger. Sie ist nicht auf die professionelle Entwicklung komplexer Software ausgerichtet und erfüllt nur ein Anwendungsfeld (Entwicklung von Animationen/Simulationen/Minispielen).

Einen kleinen Punkt, den man sicherlich noch erwähnen kann, ist die Tatsache, dass Processing jünger ist, als Eclipse. Eine IDE, die über Jahre hinweg immer weiter entwickelt / mit neuen Features ausgebaut wird, steigt natürlich auch in ihrerer Komplexität. Die grafische Oberfläche lässt sich später nicht mehr so einfach ummodellieren, wenn man gegenüber dem Nutzer, der bestimmte Arbeitswege gewohnt ist, Breaking Changes ersparen möchte.

Was fehlt in Processing, was Eclipse bspw. bieten kann?

Da gibt es so einige Features. Eine kleine Auswahl:

  • Verschiedene Templates für verschiedene Datei-/Projekttypen
  • Ein komplettes Projekt Management für ein komplexes Projekt (in Processing verwaltest du nur ein Sketch)
  • Refactoring-Tools und Shortcuts (bspw. um Boilerplate-Codes einzufügen)
  • Mehr Konfigurationsmöglichkeiten für das Projektbuilding
  • Via Plugins kann man die IDE weiter aufrüsten, z.B. um Profiling-Tools
  • Je nach installierter Perspective werden andere Programmiersprachen unterstützt (z.B. C++ in CDT) oder hilfreiche Entwicklungstools kommen hinzu (z.B. ein integrierter Webserver)
Was macht Processing leichter (vom programmieren her mt Java)? Wie unterscheidet sich da Java?

Es sind zunächst einmal zwei unterschiedliche Programmiersprachen. So gibt es im Gegensatz zu Java beispielsweise neun primitive Datentypen (short wird mittlerweile auch unterstützt), das Anlegen von Enums klappt nicht ohne Weiteres, Lambda-Ausdrücke werden noch nicht unterstützt und der Code wird in pde-Dateien (Sketches) abgelegt.

Wesentlich einfacher macht es Processing, da du mit dem Thema OOP nicht direkt konfrontiert wirst. In Java ist es notwendig, stets in Klassen zu strukturieren und der Einstiegspunkt ist die statische main-Methode. In Processing hingegen brauchst du nicht einmal die setup- oder draw-Funktion, um eine lauffähige Processing-Anwendung zu erstellen. Man kann sich auf eine prozedurale Programmierung beschränken, um Probleme zu lösen.

Und natürlich ist die Standardbibliothek, die Processing bietet, ziemlich einfach. Viele Funktionen und vordefinierte Variablen kommen ohne explizit erwähnte Objekte aus.

Und kann ich mit Eclipse eigentlich auch alles machen wie mit Processing?

Jein. Du kannst Anwendungen entwickeln, die die Processing API nutzen. Ein Processing-Plugin müsste es ebenso geben (welches dann auch pde-Dateien unterstützt), doch schau da besser selbst. Ein Feature, mit dem du eine entwickelte Processing-Anwendung so direkt und einfach auf ein Android-Gerät übertragen kannst, gibt es in Eclipse meines Wissens nicht.

Processing hat ja die Hauptfunktion, mit Java etwas grafisch darstellen zu können bzw. etwas zu zeichnen. Wie mache ich das in Eclipse?

Wie schon erwähnt, gibt es womöglich ein Plugin, welches Processing-Support bietet. Andernfalls wäre der erstbeste Weg die Integration von den Processing Core-Bibliotheken in ein Java-Projekt (lies dazu hier).

Davon ab gibt es noch andere Java-Bibliotheken oder GUI Toolkits, mit denen man zeichnen kann. Beispielsweise Swing/AWT, JavaFX, LWJGL, libGDX, JME oder FXGL. Solltest du vorhaben, mit Java Spiele zu entwickeln, wären die vier letztgenannten zu empfehlen.

Wenn man Processing verstanden und auch viel ausprobiert hat, dann wirst du mit der Zeit auch dort schon an deine Grenzen stoßen, weil man die einzelnen Klassen nicht so schön strukturieren kann. Man kann mehrere Dateien mit einzelnen Klassen innerhalb eines Processing Projektes speichern, und dann mit Ordnern besser sortieren, aber du müsstest immer alle Klassen auswendig kennen, mit all ihren Variablen und Funktionen.

Wenn du irgendwann mehr als nur ein paar Klassen hast wird dir eine größere IDE wie Eclipse oder andere helfen diese Klassen aufzulisten wenn du bereits einige Buchstaben tippst. Wenn man ein Objekt hat, kann man weitere Variablen und Funktionen auflisten lassen in dem man einen Punkt an das Objekt setzt. Wenn man anfängt an einem Programm zu arbeiten das einen großen Umfang besitzen soll, wird man mit der Zeit seine 40 - 50 Klassen oder mehr zusammen bekommen. Das könnte super anstrengend werden wenn man das alles in Ordnern versucht.

Wenn du Processing in Eclipse verwenden möchtest, dann kannst du das auf diese Weise hier machen https://www.youtube.com/watch?v=sOGUweK8cUI

Eclipse ist ein riesiges Tool. Das kann so viel mehr als Processing. Aber dafür funktioniert Processing direkt mit viel weniger Code ohne zu große Einstiegshürde.

Ich probiere auch immer gern neues in Processing aus, momentan auch mit Hilfe von ChatGPT https://youtu.be/XieOfqHHFko?si=jRY7N_r6KL97j9z7

Woher ich das weiß:Berufserfahrung

Processing ist nicht gleich Java, Processing ist eine eigene Sprache, inspiriert von Java, aber wohl stark abgespeckt. Daher eignet sich Processing wohl für Programmieranfänger. Dementsprechend können aber wohl auch keine *.pde Dateien importiert werden.

Da ich selbst nie mit Processing gearbeitet habe, kann ich jetzt leider nicht im Detail vergleichen.