C# / Java Praxisnah lernen?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Schau dir Processing an. Es handelt sich hierbei um eine sehr Java-nahe Sprache, die allerdings für Programmiereinsteiger konzipiert wurde und daher erst einmal auf Reduktion setzt (übersichtliche IDE, OOP ist nicht zwingend, ...). Ihre Kernbibliothek beinhaltet viele Funktionen zum Zeichnen, d.h. du kannst schon früh damit beginnen, einfache Simulationen oder Minispiele (wie Conway's Game Of Life, Pong, Snake, Pacman, ...) zu entwickeln.

Später sollte es nicht schwerfallen, zu einer komplexeren Sprache wie Java oder C# zu wechseln.

Lernquellen (neben der oben verlinkten Dokumentation), die sich an der Stelle anbieten:

Zur GUI-Programmierung mit Java/C#/o.ä. würde ich hingegen erst raten, wenn du in der OOP halbwegs sicher unterwegs bist.

Das ist halt so ne Sache... Es ist schon sinnvoll dass du am Anfang überwiegend mit der Konsole Programmierst um die Konzepte zu verstehen.

Ich kann verstehen dass man gerne GUI-Programmierung machen will und irgendwelche Spiele zusammenschrauben, allerdings gibt es dabei einfach "zu viel" was du am Ende einfach so hinnehmen musst.

Der Punkt ist; In einem Betriebssystem wie Windows oder Linux ein Fenster zu erstellen ist zum einen schonmal ziemlich aufwendig, zum anderen funktioniert es für jedes System unterschiedlich.

Normalerweise nutzt du da dann irgendwelche Bibliotheken die dir den Großteil der Arbeit abnehmen - das ist aber erst dann sinnvoll wenn du die Sprachkonzepte alle verinnerlich hast.

Beispiel: Ich habe mit C++ angefangen und war auch auf der Schiene "Warum machen wir im 1. Semester nur "Terminal-Programmierung" - bis ich dann mit einer GUI-Bibliothek programmieren wollte. Ich habe dann SFML benutzt und gemerkt "warte, ohne Verständnis von Objektorientierung kann ich die Bibliothek eigentlich gar nicht sinnvoll verwenden :-/"

Gleiches gilt für dich. Es macht nicht so viel Sinn den 2. Schritt vor dem ersten zu machen.

Du kannst natürlich auch mit Unity starten, allerdings setzt Unity einiges voraus, was Du dann noch nicht kennst/verstehst, was ebenfalls sehr frustrierend sein kann.

Was für dich der bessere Weg ist, weißt nur Du, aber der einfachere Weg ist, wenn Du weiterhin mit der Konsole startest und auch dabei bleibst, bis Du die wichtigen Sprach-Funktionen inkl. Objektorientierung wirklich verinnerlicht hast.

Danach kannst Du dann mit einfachen Desktop-Anwendungen starten, das wäre der nächste Schritt in der Komplexität, aber noch nicht so schwierig, wie Unity, Mobile- oder Web-Entwicklung.

Und das ist auch nicht praxisfern, ein Projekt besteht nicht nur aus einer Benutzeroberfläche, ein Großteil des Codes hat keine sichtbare Benutzeroberfläche und Du musst verstehen, wie diese Teile zusammenarbeiten. Normalerweise trennt man beides auch voneinander: Benutzeroberfläche und der Business- oder Daten-Code, alles drei sollte nur durch klar definierte Schnittstellen miteinander kommunizieren. Professionelle Softwareentwicklung arbeitet so, aber das verstehst Du nur, wenn Du auch die Konzepte verstehst, die dafür notwendig sind.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler

Auch auf der Konsole lernst du praxisnah. Und du solltest auch erstmal dabei bleiben.

1. Es gibt tatsächlich auch Tools bei großen Konzernen welche auf der Konsole laufen.

2. Die Grundlagen (Sprachkonszrukte, OOP, Vererbung, asynchroner Code, Events, Datenbanken, Dateizugriff, etc etc etc.) kannst du ALLES auf der Konsole lernen. Wenn du das nicht kannst, dann wirst du mit UI umso mehr scheitern.

Du bist schon richtig mit dem was du gerade lernst.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium
Valentin1720653  12.12.2023, 13:35

"Es gibt tatsächlich auch Tools bei großen Konzernen welche auf der Konsole laufen." ~ Und ein kleines GUI um eine Konsolenanwendung zu bauen ist auch kein großes Hexenwerk.

0