Überwältigt von der komplexen Java Welt

Astroautist

Mitglied
Hallo,
ich versuche mir selbst in Eigenregie Java beizubringen mit verschiedenen Mitteln wie:
Videokurse bei Udemy von Hr.Ullenboom und Hr.Gesty, sowie mit einem Buch "Programmieren lernen mit Java" von H.P.Habelitz Rheinwerkverlag
Programmieren lernen mit Java,
und mit W3Schools sowie einigen Youtube Videos (Jonas Keil) und sogar beim Schlafen höre ich das Java Hörbuch von Prof. Schildgen

Nachdem ich die ersten Schocks der Komplexität all dessen was ich bisher fand überwunden habe, habe ich momentan etwas Schwierigkeiten voran zu kommen.

Ich habe die Grundlagen bearbeitet wie:
Primitive und komplexe Datentypen, Operatoren, Kontrollstrukturen, Schleifen, Arrays Methoden und bin nun bei den Klassen angelangt, wo ich noch vieles bearbeiten muss wie Enums, Verkapselung, Polymorphismus, Listen, Maps, Threads, Lambdas und Co.

Nun meine Frage an Euch.
Wie habt ihr das gelernt?

Ich habe versucht mir jeweils zu den Themen wenn ich es halbwegs verstanden habe, Lernkarten in Anki zu schreiben, aber so richtig fruchtet das nicht.
Habt ihr da konkrete Tipps?

Des weiteren, ist z.B. der Videokurs häufig eher simpel gehalten, mit vielen Wiederholungen und wenig Übungen und das Buch von Hr.Habelitz ist dagegen sehr Theoretisch/Sachlich/Fachlich und damit nur schwer zu Verstehen, sodass das teilweise die vermeintlich "einfachen Übungen" für mich nicht zu verstehen sind.

Ich muss vielleicht dazu sagen, ich habe kein Abitur gemacht und habe auch nicht Studiert, geschweige denn Java jemals in der Schule benutzt.

Ich bin Froh, das ich die Grundlagen schon einigermaßen kann und wäre für jeden Motivationsschub und Lern Tipp sehr Dankbar :)


Da ich ja erst bei den Grundlagen bin, fehlt mir noch das größere Gesamtbild und weiß auch nicht, wie ich Dinge in Eclipse z.B. effektiv Üben soll.
Denn wenn ich da jetzt for Schleifen oder Arrays übe in einer Klasse oder in der Main, ist das ja noch laaange kein "echtes Programm" sondern nur ein ganz kleines Bruchstück.

Ich beginne nächstes Jahr eine Ausbildung zum FIAE und würde bis dahin gern solide Basis Grundlagen für Java erlernen, evtl. auch darüber hinaus.

Ich habe etwas Angst, das ich durch zu wenig "Code Bastelei" in Eclipse nach und nach, die neu gelernten Methoden und Verknüpfungen wieder verlerne und vergesse und wenn ich mir einfache Projekte wie einen Taschenrechner anschaue, dann übersteigt das derzeit noch mein aktuelles Können.

Gibt es evtl. so etwas wie eine Grafische Darstellung aus wie vielen "einzelnen" Klassen/Objekten-Dateien ein diverses fertiges Java Programm besteht?
Nur damit ich mal eine beispielhafte Übersicht sehen kann?

Schöne Grüße!


P.S. Mein erstes großes Ziel ist es, die 2 Videokurse zu beenden und mir dabei meine Lernfortschritte zu notieren und umzuwandeln in Anki Karten und das ganze Monatelang durchzugehen, damit ich es schaffe, nächstes Jahr im Sommer bis Herbst erfolgreich den OCA zu bestehen
 

Oneixee5

Top Contributor
Du kannst so viel Zeug pauken wie du willst, verinnerlichen wirst du das alles nur, in der Praxis. Alles wissen kann man eh nicht, man muss einfach wissen wo es steht. Ich denke ich schlage jeden Tag irgend etwas nach, da kann die IDE oder die KI noch so viel unterstützen. Von Videos halte ich übrigens nichts. In einem Buch oder Webseite kann man suchen und querlesen, ein Video kann man nicht komplett erfassen und mehrfach ansehen ist öde und langweilig. Die OCA finde ich auch nicht so wichtig. Wichtig ist zu Wollen. Viele sehen die Programmierung einfach als 9to5-Job. Die werden nie wirklich gut.
 

philanthrop

Bekanntes Mitglied
Hi,

Habt ihr da konkrete Tipps?
Programmieren lernt man durch Programmieren ...

Es gibt auch noch IntelliJ IDEA ...

Gibt es evtl. so etwas wie eine Grafische Darstellung aus wie vielen "einzelnen" Klassen/Objekten-Dateien ein diverses fertiges Java Programm besteht?
Da kann ich dir BlueJ empfehlen, es beinhaltet genau das.

Weiter viel Erfolg!
 

Astroautist

Mitglied
Die OCA finde ich auch nicht so wichtig. Wichtig ist zu Wollen. Viele sehen die Programmierung einfach als 9to5-Job. Die werden nie wirklich gut.

Danke Oneixee5 für deine Antwort, allerdings sehe ich das ganze nicht als 9 to 5 job an und ich finde Persönlich das Zertifikat sehr Wichtig, nicht mal in erster Linie für den Arbeitgeber, sondern für mich.

Vielleicht so ähnlich wie, als ich den Führerschein bestanden habe und Stolz darauf war, so wäre das OCA der erste , für mich Große Meilenstein in der It Welt.
Da kann ich dir BlueJ empfehlen, es beinhaltet genau das.

Weiter viel Erfolg!
Danke philanthrop, das werde ich testen
 

M.L.

Top Contributor
Generell erwartet der Java-Compiler eine auf formeller Ebene einzuhaltende Syntax (z.B. Zwang zu wenigstens einer "public class" pro Datei, Typdeklaration einer Variable,...). Klassen dienen zum Modellieren von Zusammenhängen zwischen Klassenobjekten und die sie betreffenden Methoden. Langfristig sind (häufig(er)e) Änderungen oder Erweiterungen der Software einzuplanen, was Stichworte wie OOD (Objektorientiertes Design), Schichtentrennung, SOLID-Prinzipien, Software-Tests (erst erfolgreich testen, dann erweitern, erneut testen,...) ,... erklärt.

Neuerungen wie z.B. Lambda (neuere Funktionen, mit weniger Formalismus als 'alte' Funktionen) oder Record (wie eine 'alte' Klasse, aber ohne spätere Änderung/Erweiterung) verkürzen zu schreibenden Code.

BlueJ ist gut für den Anfang, aber zwecks Code-Transfer in andere IDE empfiehlt sich das explizite Anlegen einer "public static void main (String[] args)"-Methode

Weiterhin empfehlen sich die (aktuell) neuesten Videos von YT, thenativeweb
 

White_Fox

Top Contributor
Wie habt ihr das gelernt?
Nur durch machen. Ein paar Bücher lesen die Themen bearbeiten, die ich gerade hatte, und ansonsten damit arbeiten. Und ich behaupte mal frech, anders lernt man es auch nicht.


ich finde Persönlich das Zertifikat sehr Wichtig, nicht mal in erster Linie für den Arbeitgeber, sondern für mich.
Das Zertifikat – und offensichtlich auch die zugehörige Schulung und Prüfung – bringen dir aber das programmieren nicht bei.
Ich mag mich irren, aber hatten wir nicht schon vor wenigen Tagen jemanden, der so ein Zertifikat hatte und danach genauso im Wald stand wie vorher und sich nun gefragt hat, wie er endlich mal programmieren lernt?
 

AndiE

Top Contributor
ich finde das Buch zu BlueJ sehr emfehlenswert. Das wichtigste, finde ich, ist der ADIT-Kreis. Er beschreibt die vier Stufen der Programmierung, und man muss ihn verstehen lernen und auch ihn anwenden lernen. Dazu gehört dann die Objektorientierte Analyse, das objektorientierte Design, die Implentierung und das Testen. Gerade bei letzterem mit JUnit. Und wenn man es späzter knackiger haben will, sind TDD und DDD die nächsten Schlagworte.

Wichtig halte ich außerdem, die oft stiefmütterlich behandelten Werkzeuge wie UML und BPML. Damit kann man nämlich auch Programme analysieren, was für das lernen, wie man sie erstellt sehr wichtig ist.
 

KonradN

Super-Moderator
Mitarbeiter
Auch wenn eigentlich schon alles gesagt wurde, möchte ich paar Aussagen noch einmal herausgreifen und unterstreichen:

Programmieren lernt man durch Programmieren ...
Das kann man nicht stark genug unterstreichen! Du lernst das Programmieren nicht durch reine Theorie! Das kann nicht gut gehen!

Zertifikate können interessant sein, wenn man sich selbst ein Thema beigebracht hat, um dann eine Bestätigung zu haben. Ich fand das ganz interessant, weil da dann auch am Ende aufgezeigt wurde, wo ich Lücken hatte. Aber es geht nichts über die Praxis! Auswendig lernen bringt Dich keinen Schritt weiter! Dir fehlt jedes Verständnis und Du kannst das Gelernte in keiner Weise umsetzen. Der aufgezeigte Weg ist also auch aus meiner Sicht ein Irrweg! Wenn Du das willst, dann kannst Du es günstiger haben: Zum OCA Zertifikat gibt es bestimmt auch Dumps und Fragensammlungen und so. Dann hast Du es z.B. auf dem Smartphone und lernst dann einfach die Fragen mit den passenden Antworten. Das kannst Du paar Tage machen und dann hast Du das Zertifikat. Ein früherer Chef-Chef hat sowas teilweise gemacht. Wenn die Firma zu viele Voucher für Prüfungen hatte, dann ist er Abends etwas Dumps durchgegangen und ist dann Morgens einfach eben mit zum Anbieter- Das waren dann 2 Stunden Aufwand oder so und er hat relativ viele Zertifikate... Ich bezweifle, dass er einen Windows Server oder Exchange Server managen könnte aber zertifiziert war er. Das zeigt den Wert des Zertifikats ... Etwas lernen und man hat dann das Zertifikat.

Du willst aber doch programmieren lernen. Also programmiere! Also einmal paar Java Grundlagen und dann loslegen! Mach etwas! Ullenboom ist erwähnt worden bezüglich Videos, aber da würde ich das relativ neue Buch "Captain Ciaociao erobert Java" vorschlagen, um dann einfach die einzelnen Aufgaben zu lösen.
Ich bin am überlegen, ob man da nicht einfach mit ChatGPT an vieles heran gehen kann. Einfache Anfragen wie "Erkläre mit den Aufbau eines Java Programmes" und so reichen. Da hast Du einen Tutor, der einem auch alles erläutert. Wie gut das als absoluter Anfänger geht, weiss ich aber nicht. Aber ChatGPT ist inzwischen bei vielen Dingen einfacher und schneller als Dokumentation und Google. Wozu die man Page eines Programms durchgehen, wenn man chatgpt fragen kann. Beispiel: Ich wollte gestern wissen, mit welchen Parameter ls einem bei Verzeichnissen ein / anhängt. Da die ganzen Optionen der man Page durchgehen? ChatGPT gefragt, sofort die Antwort bekommen (mit viel zu viel Erklärung, aber egal. Die kann er ja weiter schreiben...) aber die Antwort war sofort: ls -p.

Wichtig ist, dass Du selbst etwas machst. Erklären kann es Dir ChatGPT bei so gut dokumentierten Dingen wie Java Grundlagen. Und Probleme wird es auch meist lösen können oder es bringt gute Ideen / Vorschläge. Schwerer wird es, wenn man komplexere Sachen macht, die weniger gut dokumentiert sind, wo die Punkte nicht in tausenden gescannten Diskussionen bereits im Detail besprochen wurde ...

allerdings sehe ich das ganze nicht als 9 to 5 job an
Wieso willst Du es denn sonst machen? Warum der ganze Aufwand? In der Regel will man doch programmieren um dann am Ende ein Ergebnis zu haben. Programmieren ist hier ähnlich wie andere Handwerke auch. Du wirst doch nicht Lehrvideos zur Schreinerei ansehen. Dir dann Karten schreiben, was wie zu machen wäre. Aber nie auch nur ein Stück Holz anpacken und verarbeiten!

Ich will etwas machen, also schaue ich mir an, wie es gehen würde. Und dann mache ich es. Ich verputze jetzt Gefache meines Fachwerkhauses. Das habe ich mir etwas angesehen, wie es geht, habe Material gekauft und nun mache ich es. Ich verputze erste Gefache. Schaue mir an, wie es wird. Stelle fest, was geht und was nicht. Und dann löse ich Probleme, optimiere meine Technik. Und mache dann direkt weiter. Die Praxis zählt!

Derzeit klingt es so, als ist Dein Zeil nur der Job. Du willst den Job vorbereiten. Du willst aber nichts programmieren. Der Eindruck mag falsch sein, aber der Eindruck drängt sich auf.
 

Barista

Top Contributor
Gibt es nicht vielleicht ein einfaches Programm, das Du einfach schreiben möchtest, zum Beispiel ein Kalender.

Wenn Du nur paukst, hat das keinen Sinn.

Ich hatte mit ein paar Leuten gesprochen, die haben gespielt und wollten dann einfach mal loslegen mit Spiel programmieren.

Das geht schief, denn Spieleprogrammierung grafisch ist die hohe Schule, das machen nur die Besten.

Aber man könnte dann eben mit Textspielen auf der Konsole beginnen.
 

White_Fox

Top Contributor
Ich hatte mit ein paar Leuten gesprochen, die haben gespielt und wollten dann einfach mal loslegen mit Spiel programmieren.

Das geht schief, denn Spieleprogrammierung grafisch ist die hohe Schule, das machen nur die Besten.
Jup, aber die haben dabei garantiert wertvolle Erfahrung gewonnen.

Ich habe bei meinem Projekt auch schon ein paar tausend Codezeilen einfach mal weggeworfen und bin nochmal ein paar Schritte zurückgegangen, weil mein Ansatz vorher einfach Mist war.

Die Sache ist halt: Aus Fehlern lernt man, aus "Alles richtig gemacht" lernt man halt nix. Um letzteres zu erreichen, muß man vorher viel Erfahrung sammeln, aka auf die Schnauze gefallen sein. Das kann man mit Büchern oder gar Lernvideos einfach nicht.
 

AndiE

Top Contributor
Der kern läßt sich ganz gut daran zeigen, wie man Geldbeträge verwaltet. Im einfachsten Fall wird man wahrscheinlich eine "float/double"-Zahl nehmen, um Werte wie 100,42 zu speichern. Nun ist das rundungstechnisch unsicher, weshalb man das als "long" speichert. Das sind dann rund +/-2 Milliarden Cent( ca. 40 Mill Euro), die man danit abdecken kann. Im Rahmen der OOP würde man nun den long-Wert Kapseln und stattdessen, Methoden schreiben, die ihn mit den anderen Klassen verbinden ( add, sub, usw.). Man kann zwar mit get den Wert abrufen, sollte aber auf eine "set"-Methode verzichten, sondern den Wert mit dem Konstruktor setzen.

ich finde, dass diese OOAD so wichtig ist, und man die nur durch eigenes Tun erlernen kann.

Und leider sieht man ja auch zu oft Programme, die mit IOP geschrieben sind- Indirekte Objektoreintierte Programmierung. Man nutzt da die Klassenbibliothek, und programmiert selbst aber prozedural.

Man kann mit Taschenrechner, Adressbuch, Kassenbuch und Terminkalender anfangen, dies zu üben. Da hat man je nach Umfang viele Sachen mit drin.
 

philanthrop

Bekanntes Mitglied
Die Sache ist halt: Aus Fehlern lernt man, aus "Alles richtig gemacht" lernt man halt nix.
Das kommt doch auch ein bisschen auf den Genotyp an... also, wie man lernt... das eine Kind muss 3-mal auf die Herdplatte packen, das andere Kind genügt vielleicht schon nur der Hinweis, dass die Platte heiß ist

Aber @Astroautist scheint sich schon längst nicht mehr für dieses Thema zu interessieren...
 

KonradN

Super-Moderator
Mitarbeiter
Jup, aber die haben dabei garantiert wertvolle Erfahrung gewonnen.
Aber wie effektiv haben diese etwas gelernt? Wie viel Zeit haben sie aufwenden müssen? Wie hat sich die Motivation dabei entwickelt.

Damit man aus Fehlern lernt muss man diese bemerken und beheben. Je komplexer die Sache wird, desto schwerer wird dies. Daher fängt man klein an. Dabei macht man schon genug Fehler und hat da dann die Chance, den Fehler zu erkennen und zu beheben.

Daher sollte man definitiv klein anfangen und es dann nach und nach ausbauen. Und wenn man etwas Neues dazu nimmt, dann fängt man da auch klein an! Wenn ich also schon irgend ein Programm fertig habe und ich meinen nun, dass es doch super wäre, wenn ich da nach außen REST Webservices anbieten will, dann lerne ich REST Webservices nicht in dem ich die in das Programm einbaue. Sondern ich mache dann erst ein kleines Beispielsprogramm und baue das dann etwas aus, bis ich das, was ich da mache, gelernt habe. Hat dann auch den Charm, dass ich das Testprojekt freigeben kann bei Problemen. Das ist dann kein: "Sorry, das Projekt hat > 1.000 Klassen und ich darf da auch nichts weiter geben."

Und wie richtig so eine Aussage ist, zeigen auch die vielen Anfänger, die schon vor Jahrzehnten sich auf 3D Libraries gestürzt hatten und meinten, sie bauen jetzt ein MMORPG a.la. World of Warcraft. (Wer damals in entsprechenden Foren war, der wird das evtl. kennen.... Ich hatte damals viel mit de, 3D Gamestudio herum gespielt und hatte da auch an einem kleinen RPG gebastelt.)
 

Astroautist

Mitglied
Nur durch machen. Ein paar Bücher lesen die Themen bearbeiten, die ich gerade hatte, und ansonsten damit arbeiten. Und ich behaupte mal frech, anders lernt man es auch nicht.



Das Zertifikat – und offensichtlich auch die zugehörige Schulung und Prüfung – bringen dir aber das programmieren nicht bei.
Ich mag mich irren, aber hatten wir nicht schon vor wenigen Tagen jemanden, der so ein Zertifikat hatte und danach genauso im Wald stand wie vorher und sich nun gefragt hat, wie er endlich mal programmieren lernt?

Ich will nicht das Zertifikat haben um Programmieren zu lernen.
In der Fahrschule habe ich auch keine Verkehrsgesetzordnung studiert um Fahren zu lernen^^
Da ist es auch Theorie + Praxis, beides will gut miteinander verbunden werden, sonst klappt es nicht.

Ich will Java lernen mit einer Mischung aus vielen verschiedenen Wegen (Videokurse, wie Bücher also E-books und auch Handfeste, Programmier Apps, Nachschlage Webseiten und eigenen Dokumentationen sowie Projekte)

Irgendwo muss ich ja anfangen oder nicht? Ich kann schlecht mit dem Programmieren anfangen, wenn ich keine Theorie von alledem verstehe, was ich da versuche zu machen oder nachzumachen.


Ich will auch kein Zertifikat haben NUR damit ich mich bewerben kann.

Nochmal, ich will gerne in den Grundlagen Fit genug sein um nächstes Jahr den OCA zu schaffen, nicht damit ich dann arbeiten gehe (ich mache eh bis 2027 die Ausbildung) ich will das machen, als Ziel für mich und damit ich mich insgesamt mit Java stärker auseinandersetze, verstehe gar nicht was daran so Schwer verständlich ist?

Ich hoffe, Du meinst das nicht ernst.
Du bist also als Java Profi auf die Welt gekommen? und konntest von Anfang an Minecraft programmieren?


Den Java Kurs von Christian Ullenboom gibt es nicht mehr auf Udemy?
Gibt nicht mehr zu kaufen. Gut das ich vorgesorgt hatte. Ich habe den Kurs aber noch nicht angefangen, vorher muss ich ein laufenden Kurs beenden und nebenbei ein Buch durcharbeiten.


Auch wenn eigentlich schon alles gesagt wurde, möchte ich paar Aussagen noch einmal herausgreifen und unterstreichen:


Das kann man nicht stark genug unterstreichen! Du lernst das Programmieren nicht durch reine Theorie! Das kann nicht gut gehen!

Zertifikate können interessant sein, wenn man sich selbst ein Thema beigebracht hat, um dann eine Bestätigung zu haben. Ich fand das ganz interessant, weil da dann auch am Ende aufgezeigt wurde, wo ich Lücken hatte. Aber es geht nichts über die Praxis! Auswendig lernen bringt Dich keinen Schritt weiter! Dir fehlt jedes Verständnis und Du kannst das Gelernte in keiner Weise umsetzen.


Wieso willst Du es denn sonst machen? Warum der ganze Aufwand? In der Regel will man doch programmieren um dann am Ende ein Ergebnis zu haben. Programmieren ist hier ähnlich wie andere Handwerke auch. Du wirst doch nicht Lehrvideos zur Schreinerei ansehen. Dir dann Karten schreiben, was wie zu machen wäre. Aber nie auch nur ein Stück Holz anpacken und verarbeiten!

Derzeit klingt es so, als ist Dein Zeil nur der Job. Du willst den Job vorbereiten. Du willst aber nichts programmieren. Der Eindruck mag falsch sein, aber der Eindruck drängt sich auf.
Also eine Vorbereitung für den OCA ist in meinen Augen keine reine Theorie, da ich die Grundlagen dafür ja ziemlich gut können muss.
Das ich nicht nur alles rein auswendig lerne ohne die Beispiele zu Testen und damit zu experimentieren halte ich für Selbstverständlich.
Meines wissen's nach, sind die Grundlagen als Fundament sehr Wichtig.
Das ich dadurch kein Algorithmus Genie oder Profi Programmierer bin, ist mir Klar und damit auch nicht mein Ziel!

Ich will sehr wohl programmieren, allerdings bin ich da ja noch lange nicht, so fühlt es sich zumindest an, wenn ich wie bisher, durch den Videokurs und das Buch nur so Code snippets gebastelt habe für die Grundlagen wie Schleifen, Arrays, Kontrollstrukturen usw.
Ein Grafisches Programm habe ich dank dem Buch bereits erstellt, allerdings ist das auch nur ein Fenster Rahmen mit einem Bild darin oder auch ein Fenster rahmen mit der Funktion einer Kreisberechnung.

Somit bin ich z.B. von einem Taschenrechner noch ne Zeit lang entfernt.

Das kommt doch auch ein bisschen auf den Genotyp an... also, wie man lernt... das eine Kind muss 3-mal auf die Herdplatte packen, das andere Kind genügt vielleicht schon nur der Hinweis, dass die Platte heiß ist

Aber @Astroautist scheint sich schon längst nicht mehr für dieses Thema zu interessieren...
@philanthrop wie gut das du weißt, was mich noch interessiert oder nicht :D
 

KonradN

Super-Moderator
Mitarbeiter
Erst einmal die Antworten nicht negativ verstehen. Hier will Dich niemand niemand kritisieren. Deine Aussagen klangen aber teilweise so, dass Du da sehr theoretisch heran gehen würdest und das halt ich für schwer. Wobei der Weg auch möglich ist - ich bin auch teilweise ein Theoretiker und als ich mir dann mal die Sprache dart angesehen habe, bin ich die Spezifikation durchgegangen und habe mir Notizen gemacht. Kompakte Informationen sinnvoll aufbereiten kann Sinn machen. Das setzt aber gewisse Grundlagen voraus (in meinem Fall halt konnte ich auf viel Wissen rund um Konzepte und konkret um Java und C# aufbauen). Ohne so Grundlagen ist es in meinen Augen nicht wirklich ein Ansatz.

Das ich nicht nur alles rein auswendig lerne ohne die Beispiele zu Testen und damit zu experimentieren halte ich für Selbstverständlich.
Das klingt dann so doch deutlich besser. Wenn Du das wirklich machst, dann sind wir doch bereits alle auf einem Nenner und Du bist da, wo wir Dich mit unseren Vorschlägen hin "puschen" wollten.

Das waren alles nur positiv gemeinte Hinweise und wenn wir eine Herangehensweise eher ablehnen, dann ist damit keine Ablehnung der Person verbunden. Du kannst davon ausgehen, dass eigentlich alle hier aus Hilfsbereitschaft hier sind. Es geht hier eigentlich nie (mit ganz wenig Ausnahmen - aber das ist dann meist zwischen einer bestimmten Person und leider meist mir) darum, dass jemand sich profilieren will oder besser da stehen will als jemand anderes.

Daher bist Du herzlich willkommen mit Fragen und co. Wir unterstützen Dich gerne - nur eben musst du auch akzeptieren, dass wir halt sagen, was wir für richtig halten und nicht das, was du hören willst. Da ggf. einfach nachhaken und dann kann man auch gewisse bei Wegen unterstützen, die wir eher nicht gehen würden.
 

AndiE

Top Contributor
Ich finde dennoch, es kommt auch auf den Lernweg an. Ich selbst fange ziemlich klein an, und arbeite mich dann hoch. Im Beispiel wäre das z.B:

Taschenrechner:

1. Programm: Addierer
Gebe Zahl1 ein
Gebe Zahl 2 ein
addiere Zahl 1 und 2
Gib ergebnis aus.

Das Ganze auf der "Prompt"-Ebene

2. Programm Taschenrechner
Gebe Zahl 1 ein
Gebe Zahl 2 ein
Wähle Operation auf
je nach Operation
berechne Ergebnis
Gib Ergebnis aus.

Auch hier auf der "Prompt"-Ebene.

3. Programm Taschenrechner
Taschenrechner 2 soll solange laufen, bis als Operation ein "E" eingegeben wird.

4. Programm OOP-Taschenrechner
Taschenrechner 3 soll so umgeschrieben werden, dass Zahlenobjekte benutzt werden.

In diesem Sinne gehe ich immer vor, nicht nur bei neuen Sprachen, wie Python, sondern auch bei neuen Konzepten, bei mir z.Z. das Verstehen und die Umsetzung einer Zustandsmaschine.

Kleine Schritte lassen auch Fehler leichter finden.
 

Barista

Top Contributor
Somit bin ich z.B. von einem Taschenrechner noch ne Zeit lang entfernt.
Ein Taschenrechner ist nicht ganz einfach.

Ich habe Programmiererfahrung seit den 80ern, dBase, Clipper, Turbo-Pascal.

Einen Taschenrechner habe ich noch nie programmiert.

In einem Clipper-Programm, an dem ich mehrere Jahre kontinuierlich gearbeitet habe (wurde benutzt und ich habe es laufend erweitert) hätte ich mal einen einen Taschenrechner gebrauchen können.

Im Clipper gab es einen Interpreter-Mode, man konnte Ausdrücke, die als String vorlagen, abarbeiten lassen (eval).

Das habe ich dann als Taschenrechner verwendet, war aber für die Benutzer unverständlich, wurde nie benutzt.

Beim Taschenrechner muss man das Konzept des Zustandsautomaten verstanden haben und verwenden.

Das ist eindeutig nicht mehr Anfängerniveau.
 

M.L.

Top Contributor
Zusatz: auch bei Java 21 gibt es einige Entwicklungen was die formell gültige Syntax angeht, siehe Bspl. zu JEP 445 (Karteikarten oder andere Druckwerke dürften da etwas zu langsam sein...). Frameworks zur Grafik-/Spieleprogrammierung können auch kommen und gehen (Eigenrecherche: "Unity Geld")
 

White_Fox

Top Contributor
Ich will nicht das Zertifikat haben um Programmieren zu lernen.
Dann habe ich dich da wohl falsch verstanden...dein Post hat sich da ziemlich gegenteilig gelesen.

ich will gerne in den Grundlagen Fit genug sein um nächstes Jahr den OCA zu schaffen, nicht damit ich dann arbeiten gehe
Na, ich denke da sollte sich was machen lassen. Ich habe nie irgendein Zertifikat gemacht, ich bin auch kein Programmierer. :D

Ich will Java lernen mit einer Mischung aus vielen verschiedenen Wegen (Videokurse, wie Bücher also E-books und auch Handfeste, Programmier Apps, Nachschlage Webseiten und eigenen Dokumentationen sowie Projekte)
Ich hatte mit Java zum ersten Mal in einer Vorlesung Berührung. Da versuchte unser Prof ein Semester lang, uns beizubringen was eine Klasse ist - mehr nicht. Wir hatten vorher aber zwei Semester C-Programmierung, und damit waren immerhin schonmal alle gängigen Strukturelemente, Datentypen, usw. mehr oder weniger bekannt. Ich selber habe vor dem Studium bereits in Assembler programmiert.

Danach habe ich in Java gelegentlich mal kurz wieder was gemacht, aber mehr als kleine Spielereien waren es nicht. Irgendwann im Master habe ich dann eine Idee für Programm gehabt daß ich sehr gerne gehabt hätte, das es nicht gab und von ich absolut nicht nachvollziehen kann warum sowas noch niemand gemacht hat. Ok, was soll's, dann löse ich mein Problem halt selber, die Bücher 'Java von Kopf bis Fuß' und 'Entwurfsmuster von Kopf bis Fuß' gelesen, und dann losgelegt. Beide Bücher kann ich dir uneingeschränkt empfehlen, die zu lesen macht sogar Spaß. Später noch 'Weniger schlecht programmieren', eher weil ich den Titel witzig fand, das Buch ist schon wichtig, aber ich finde es nicht gut geschrieben.

Nichtsdestotrotz habe ich dann alles beisammen gehabt um loslegen zu können, denke ich jedenfalls, auf jeden Fall habe ich unterwegs dennoch sehr viel lernen müssen. Und deswegen hat dir hier jeder geschrieben, daß man Programmieren nur durch Programmieren lernt.

Als Tipp: Nimm dir am Anfang ein wirklich kleines Programm vor. Ich verspreche dir, daß selbst so kleine Mistviecher zu ziemlich großen Monstern werden können.
Ich hatte die Basisfunktionalität meines Programms nach etwa einem halben Jahr fertig, dann dachte ich, ich lege noch fix eine GUI drüber und bin gleich fertig. Pustekuchen, da ging es überhaupt erst los. Eine vernünftige Datenstrukturierung überlegen, eine brauchbare MVC-Umsetzung, wie speichere ich eigentlich Daten und lese sie wieder zurück, und dann mache das bitte alles so daß du später noch eine Copy-Paste-Funktion einbauen kannst, und zwischendurch fällt mir lauter weiterer Schnickschnack ein, den ich gerne noch drin hätte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Arraylist mit Komplexen Datentyp Java Basics - Anfänger-Themen 3
M 2 Arrays mit komplexen Datentyp vergleichen Java Basics - Anfänger-Themen 8
F Rechnen mit komplexen Zahlen Java Basics - Anfänger-Themen 23
G Berechnung zwei Komplexen Zahlen Java Basics - Anfänger-Themen 34
G Wie erstellt man komplexen regulären Ausdruck Java Basics - Anfänger-Themen 5
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
P Java 2n Potenzieren Java Basics - Anfänger-Themen 1
J Java Hamster Java Basics - Anfänger-Themen 4
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
V Die Funktion des neuen Schlüsselworts in Java Java Basics - Anfänger-Themen 1
W Junit-Test (Java) Java Basics - Anfänger-Themen 4
W Testfälle bei Java ( Junit-Test) Java Basics - Anfänger-Themen 3
laxla123 If-else Java Java Basics - Anfänger-Themen 4
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben