Sind diese Java-Projekte zu schwer für mich?
Seid gegrüßt liebe GuteFrage.net-Community,
der Titel ist etwas irreführend, denn ich habe Ideen, die ich umsetzen könnte, aber bin mir nicht sicher, ob die mir nicht zu komplex sind.
Ich beherrsche Java ziemlich ok und programmiere gelegentlich Minecraft-Server-Plugins und habe somit (als Nebeneffekt) meine Erfahrung "ausgebessert", aber nun haben sich über die Zeit Ideen für Projekte in Form von eigenständigen Desktopanwendungen angesammelt. Der Ursprung ist meistens, dass ich im Internet kein geeignetes oder kostenloses Programm finde, um einen gewissen Zweck zu erfüllen.
Ich habe drei Programme, die ich (mit Java und ohne externe API) gerne umsetzen würde.
Nummer 1: Ein Programm, welches mich To-Do-Listen erstellen lässt, welche jeweils eine tabellenartige Form hat, wobei ein- und ausklappbare Unterelemente, welche ebenso Unterelemente enthalten können. Man soll Unterkategorien oder einzelne Elemente per Drag and Drop in andere Spalten verschieben können.
Nummer 2: Ein Programm, welches eine YouTube-Playlist nimmt, von jedem Video den Link nimmt oder, falls das Video in Kapitel untergliedert ist oder in den ersten paar Kommentaren eine Liste von Zeitstempeln ist mit den Namen der Songs, die in diesem Video gespielt werden, ist, diese auf YouTube gesucht werden und von diesem Video, der Link kopiert wird und in eine Text-Datei geschrieben wird (vorerst).
Nummer 3: Ein Programm, welches einem beim Lernen eines Instrumentes bzw. von Musiktheorie helfen soll. Es sollte spielerisch gestaltet sein. Ich hatte mir 7 Modi überlegt:
- Notenlesen
- Intervallhören
- Harmonik üben
- Rhythmus lernen
- Parallelspielen / Song lernen
- Song erraten (Künstler und Songname)
- Lernen (einfach ein paar Tutorials oder so über Musiktheorie von mir)
Nun ist meine Frage, ob diese Programme zu komplex für mich sind? Ich habe Erfahrung (auch außerhalb von Addons) mit Java, aber ich möchte nicht meine Zeit mit etwas verschwenden, wenn ich am Ende vielleicht alles in die Tonne kloppen kann.
Wie bekomme ich neue Ideen für Projekte bzw. habt ihr Ideen für simple Ideen für mich? (Nur beantworten, wenn obige Frage bejaht wurde)
Ich habe mir auch andere Sprachen angeeignet, aber habe keine Erfahrung mit denen gesammelt und finde somit, dass diese Projekte für den Anfang zu groß wären. Sollte ich mich mit einer anderen Sprache besser vertraut machen und in dieser eines der oben genannten Projekte umsetzen? Zum Beispiel JavaScript für Nummer 1?
Ich danke im Voraus!
Das Ergebnis basiert auf 3 Abstimmungen
3 Antworten
Ich beherrsche Java ziemlich ok und programmiere gelegentlich Minecraft-Server-Plugins (...)
Demzufolge würde ich erwarten, dass dir die Grundlagen (OOP, u.ä.) bereits vertraut sind.
Nummer 1: Ein Programm, welches mich To-Do-Listen erstellen lässt, (...)
Dieses Projekt ist nicht schwer. Die größten Hürden liegen in der Implementation der grafischen Oberfläche (Accordion-Modul und Drag & Drop). Teile die Programmteile von Anfang an konsequent auf (sei es mit MVC oder MVVM), das senkt das Risiko für Chaos / eine schlechte Architektur.
Deine Entscheidung, keine externen Bibliotheken verwenden zu wollen, würde ich dennoch überdenken. Das JavaFX-Toolkit hat immerhin schon ein Accordion-Modul implementiert.
Nummer 2: Ein Programm, welches eine YouTube-Playlist nimmt, (...)
An sich ist auch dieses Projekt einfach. Zumindest dann, wenn man nicht auf externe Hilfe verzichtet. Die YouTube API stellt die relevanten Informationen bereit. Du müsstest sie mit Java nur anfragen und in deine Datei schreiben.
Wenn du versuchen wolltest, die Daten auf eigene Faust einzusammeln, müsstest du dir so etwas wie Selenium entwickeln, was man dann als zu schwer einstufen kann. Die Daten auf YouTube werden dynamisch geladen.
Nummer 3: Ein Programm, welches einem beim Lernen eines Instrumentes bzw. von Musiktheorie helfen soll.
Also im Grunde wohl ein Quiz mit Audiowiedergabe. Vermutlich ist das das komplexeste Projekt in deiner Auswahl, vor allem da es noch nicht eindeutig definiert ist.
Erneut würde ich hierbei auf ein MVC/MVVM-Modell verweisen.
Nun ist meine Frage, ob diese Programme zu komplex für mich sind?
Wenn du dir Zeit nimmst, sie im Voraus bezüglich des Aufbaus gemäß der gestellten Anforderungen zu planen und, wie schon erwähnt, nicht völlig auf externe Abhängigkeiten verzichtest, wohl nicht.
Ich habe mir auch andere Sprachen angeeignet, aber habe keine Erfahrung mit denen gesammelt (...)
Ich habe den Eindruck, dass es besser wäre, wenn du erst einmal in Java weiter arbeiten würdest, um mit dieser Technologie sicherer zu werden. Immerhin zögerst du bei dieser Kombination schon.
Ich danke vielmals! Ich werde wahrscheinlich mit Projekt Nummer 1 anfangen und mich etwas über JavaFX und andere Bibliotheken informieren.
Learning by doing, du wirst das viel besser lernen, wenn du das anwendest, als wenn du einfach nur z. B. Tutorials anschauen würdest. Fang einfach mal an - wenn du etwas nicht sofort hinkriegst und ewig lange selber einen Lösungsweg entwickelst, wirst du das am Ende viel besser verstehen als wenn jemand dir den Lösungsweg in 2 Minuten erklärt.
Wenn du eine neue Sprache lernst, lern nur die Basics von den Basics (also die Syntax, dann so Strukturen wie Funktionen, Schleifen, Klassen etc aber nicht ausführlich!). Dieses "Ausführliche" kommt mit der Zeit, wenn du das oft genug anwendest.
return "Probier es einfach mal aus, das wird schon!";
Kommt auf deine Ziele an. Wenn das einfach nur dein Hobby ist, dann mach doch einfach das, was dir Spaß macht. Wenn du vor hast, irgendwann als Software Developer zu arbeiten, solltest du doch schon zumindest eine ungefäre Ahnung haben, wie das geht (auch wenn du dich dann natürlich auf andere Bereiche spezialisieren könntest).
Danke für deine Ratschläge! Falls ich es nicht vergesse, markiere ich dich als "Hilfreichste Antwort"... 😅
Ich befürchte, ich muss meine "hilfreichste Antwort" an eine andere Person vergeben :-/ Tut mir leid
Was Du nicht kannst, wirst Du schon lernen. Das Schwierige an den Projekten wird gar nicht mal das Programmieren selbst sein, sondern eher die Organisation.
Das habe ich auch schon realisiert 😅 Deshalb hatte ich ursprünglich auch die To-Do-Liste (aka. Nummer 1) geplant, um mir bei der Organisation zu helfen 😂
Ich habe tatsächlich schon vor einer "Ewigkeit" schon mit Nummer 3 angefangen und es hatte auch echt Spaß gemacht. Nur irgendwie macht mir (obwohl ich es verstehe) das Programmieren der graphischen Oberfläche (also quasi alles lol) relativ wenig Spaß und gibt mir auch nicht wirklich ein richtiges Glücksgefühl, wenn es funktioniert. Sollte ich versuchen mich überwinden oder eher erstmal Nummer 2 anfangen?