Programmieren lernen, bzw. reinschnuppern

@snickii
Vielen Dank für die Infos und Einblick zu den Aufgaben. Ich glaube ich muss mich da auch mal registrieren und wenn es paar Monate kostenlos gibt - hat man ja nichts zu verlieren :)

Die Aufgaben haben schon einen gewissen Anspruch, als nicht so 08/15 Zeugs oder was man in so manchen Anfänger-Bücher liest. Finde ich echt cool und man wird motiviert selbst zu recherchieren und mit Google zu arbeiten da man nicht alles vorgekaut bekommt. Würde mich freuen wenn du uns an deiner Erfahrung und deinem Weg weiter teilhaben lässt :)
 
  • Gefällt mir
Reaktionen: snickii
sh. schrieb:
Finde ich echt cool und man wird motiviert selbst zu recherchieren und mit Google zu arbeiten da man nicht alles vorgekaut bekommt.
1612948216588.png

quelle: https://hackaday.io/
 
  • Gefällt mir
Reaktionen: 416c und Ranayna
Interessant bei diesen beiden Fragen ist fuer mich jedenfalls, das ich definitiv wuesste wie man sie loesen kann.
Aber ich denke was ich da jeweils im Kopf habe duerfte weit ab von einer jeweils idealen Loesung sein.

Und es zeigt das es wichtig ist die Frage auch wirklich durchzulesen :D Ohne das erste Beispiel bei der ersten Frage haette ich es direkt falsch gemacht ;)
 
  • Gefällt mir
Reaktionen: Janush
snickii schrieb:
Manche Dinge fallen mir sehr schwer und sind für mich auf anhieb kaum verständlich, aber ich denke das kommt irgendwann automatisch wenn man das erste eigene Programm dann mal schreibt.
Falls du sich das nicht ändert und du nirgends ne Antwort findest kannst du ja immer noch hier fragen.

snickii schrieb:
Die IDE's sind ja sowieso kostenlos? Aber vermutlich meinst du das ganze aus Firmensicht, deswegen:
Nein die IDEs von Jetbrain sind nicht generell kostenlos. Ja man muss sich immer die Lizensen angucken unter welchen Bedingungen sie Lizenzfrei sind.
Ich glaube angefangen hat alles mit IntelliJ die IDE für Java. Die ist erst einmal Open Source und nennt sich dann Community Version https://en.wikipedia.org/wiki/IntelliJ_IDEA. Der Unterschied sind viele Module.... die Ultimate Version kann mit dem offiziellen Plugin zb. auch PHP.
Eine weiter CE gibt es dann noch von Pycharm und noch AndroidStudio.

Es gibt auch noch Aufgaben für direkt in der IDE, ka ob die mittlerweile was mit hyperskill zu tun haben... hyperskill ist mir neu und hab gerade erst gecheckt, dass das von Jetbrains kommt.
 
Ranayna schrieb:
Interessant bei diesen beiden Fragen ist fuer mich jedenfalls, das ich definitiv wuesste wie man sie loesen kann.
Aber ich denke was ich da jeweils im Kopf habe duerfte weit ab von einer jeweils idealen Loesung sein.
Am Anfang hat man mit solchen Aufgaben schon gut zu tun. Die erste lässt sich sehr elegant mit Streams lösen. Die Sprache hat eine wirklich gute Entwicklung genommen.
 
@Rossie: Mein Java Wissen ist inzwischen sehr alt. Das letzte mal das ich was damit gemacht habe ist bestimmt ueber 15 Jahre her. Ich wuesste nichtmal was du mit Streams meinst, und haette, wie es die Aufgabe ja auch wohl bezweckt, das mit einer for-Schleife gemacht.

Mein aktuelles Wissen in C# wuerde ich aber auch als eher rudimentaer einordnen. Ich bekomm vieles hin, aber habe garantiert nicht die optimalen Loesungen. Ich habe auch keine grossen Projekte, ich bin Systemadministrator und scripte eigendlich mehr, nur gelegendlich ist mal was mit eine GUI dabei, und das mache ich dann halt in C#.
Gutes Beispiel ist zB ein kleines Programm, nicht wirklich OOP, in dem ich die Methode mit der meisten Arbeit static gemacht habe. Danach wars aufeinmal nur noch etwa halb so schnell :D Ich weiss nicht wirklich warum, und die Geschwindigkeit ist auch nicht wirklich relevant. Da das Ding laeuft und tut was es soll kann ich auch keine weitere Zeit auf Arbeit reinstecken.
 
  • Gefällt mir
Reaktionen: sh.
Ranayna schrieb:
@Rossie: Mein Java Wissen ist inzwischen sehr alt. Das letzte mal das ich was damit gemacht habe ist bestimmt ueber 15 Jahre her. Ich wuesste nichtmal was du mit Streams meinst, und haette, wie es die Aufgabe ja auch wohl bezweckt, das mit einer for-Schleife gemacht.

Mein aktuelles Wissen in C# wuerde ich aber auch als eher rudimentaer einordnen. Ich bekomm vieles hin, aber habe garantiert nicht die optimalen Loesungen. Ich habe auch keine grossen Projekte, ich bin Systemadministrator und scripte eigendlich mehr, nur gelegendlich ist mal was mit eine GUI dabei, und das mache ich dann halt in C#.
Gutes Beispiel ist zB ein kleines Programm, nicht wirklich OOP, in dem ich die Methode mit der meisten Arbeit static gemacht habe. Danach wars aufeinmal nur noch etwa halb so schnell :D Ich weiss nicht wirklich warum, und die Geschwindigkeit ist auch nicht wirklich relevant. Da das Ding laeuft und tut was es soll kann ich auch keine weitere Zeit auf Arbeit reinstecken.
kommt mir alles so bekannt vor :) bin auch beruflich Systemadministrator und da muss man ab und an sich paar Helferlein basteln ;) möchte mich auch demnächst mehr mit PowerShell beschäftigen weil bei uns kommt jetzt immer bzw. viel oder komplett alles mit Azure/Office365 usw. da ist PowerShell schon eine coole Sache.
 
Ranayna schrieb:
Ich wuesste nichtmal was du mit Streams meinst, und haette, wie es die Aufgabe ja auch wohl bezweckt, das mit einer for-Schleife gemacht.
Streams ist sowas wie das Gegenstück zu LINQ in C#.

Die zweite Aufgabe könnte man z.B. so lösen:

Java:
boolean result = IntStream
    .of(readNumber("first"), readNumber("second"), readNumber("third"))
    .filter(number -> number > 0)
    .count() == 1;
 
  • Gefällt mir
Reaktionen: Ranayna
Ich habe nun den Simple Chatbot durch, also das erste Projekt.
Hat bock gemacht, war aber manchmal knifflig die richtige herangehensweise im Kopf zu wählen... (für die Aufgaben)

Irgendwann hat man so viel im Kopf das man erstmal überlegen muss.

Im Prinzip sollte man die Aufgabe lesen, verstehen und dann wählen welches Werkzeug man nutzt.
Wie im Handwerk zb. :D Da kann ich auch mit dem kleinen Hammer die Wand einreißen.
Beim Programmieren kann ich auch den langen und unnötigen Weg nehmen. :p
 
Wie bist du denn nun an die Sache rangegangen?
Womit haste angefangen, welches Buch, Programm, etc.?
 
@Bard

1. Java Buch ~ 200 Seiten bis zur Objektorientierung in Verbindung mit Eclipse (Java alles in einem Band für Dummies)
2. Udemy Kurs mit 4.7/5 (Java für Anfänger)
3. Hyperskill (Jetbrains) https://hyperskill.org/onboarding/

Bei 1+2 haben die Praxisaufgaben gefehlt, Udemy war zu schnell und das Buch war recht "langweilig".
Zumal auch der Link nicht funktionierte für die Lösungen vom Buch.

Hyperskill ist 1A, englische Erklärung anhand von Beispielen und danach Praxisaufgaben zu jedem Thema.
Und alles begleitet von einem kleinen Projekt das man sich am Anfang aussucht und nach und nach vervollständigt.
Allerdings habe ich Java dann erstmal ganz verworfen und bin zu Python weil es mir einfacher fällt.
Ist ja an sich nur ein Zwischenschritt und das ganze kann ruhig Zeit in Anspruch nehmen.


Habe dann Python nur bei Hyperskill angefangen und das erste Projekt beendet. Funktioniert gut.
Hyperskill reicht mir zum lernen.


Übrigens finde ich IntelliJ besser als Eclipse und aktuell nutze ich für Python Pycharm.


Edit: Im zweiten Projekt das ich gestartet habe kommt nun auch OOP.
Geht um das anlegen eines neuen Kreditkartenkontos im Projekt.
Nun wird es schwieriger und ich muss auf Youtube zurückgreifen. ;) das kapiere ich nämlich nicht in englisch.
Schaue mir morgen dazu mal ein paar Videos an.
 
Zuletzt bearbeitet:
Hallo liebe CBler

Ich klink mich hier mal ein, vll. hat jemand auch für mich ein paar Tipps.

Ich habe mich hobbymäßig immer wieder mal mit Programmierung beschäftigt und habe rein aus Lust an der Programmierung das eine oder andere kleine "Progrämmchen" geschrieben.
In letzter Zeit schiele ich immer wieder in Richtung Android-Programmierung und würde gerne kleinere Apps (kleiner Umfang, geringe Komplexität,...) für den Eigengebrauch schreiben. Habe mich deshalb auch mit Java beschäftigt und überflog auch das eine oder andere Buch dazu (Java ist auch nur eine Insel,...).
Bin natürlich bei weitem kein Experte, was auch nicht mein Anspruch ist, soll ja doch nur ein Hobby bleiben, dennoch dachte ich mir, dass ich den Versuch wagen könnte, mich an AndroidStudio bzw. an die Programmierung einer kleinen App zu machen.

Ehrlich gesagt tue ich mich aber sehr schwer mit dem Einstieg in die Android-Programmierung. Die Syntax einer Andoid-App ist für mich irgendwie schwer zu verstehen. Weder durch Bücher noch durch Youtube-Kurse/Videos konnte ich bis jetzt einen vernünftigen Einstieg finden. Und so versuche ich es in unregelmäßigen Abständen immer wieder mal, bis der Frust ob der Unverständlichkeit bzw. aus meiner Sicht auch der Umständlichkeit der Android-Programmierung zu groß wird. Vielleicht schön, wenn man Java kennt bzw. die entsprechenden Strukturen, die ja in allen Sprachen ähnlich sind, aber ich finde davon nur rudimentär etwas in Android-Apps. Das meiste sind elends lange Syntaxen schwer verständlicher Befehle, unterbrochen von Java/javaähnlichen Befehlen, die man dann doch kennt.

Gibts hier jemanden, der auch für Android programmiert? Wie habt ihr den Einstieg geschafft?

PS: Ich bin mir natürlich bewußt, dass vielleicht Beharrlichkeit der Weg zum Erfolg ist. Dranbleiben und sich von einem kleinen Erfolg zum nächsten hanteln. Vielleicht ist es zu naiv von mir zu glauben, dass ich auch heute noch, so wie früher, mit etwas Mühe und Fleiß eine kleine App programmieren kann.
 
m.ichi schrieb:
Die Syntax einer Andoid-App ist für mich irgendwie schwer zu verstehen.
Die Syntax oder Java ist an der Stelle auch gar nicht das Problem, glaub ich.
Das Problem liegt eher darin zu verstehen, wie man Android-Apps schreibt. Die ein oder andere Vorgehensweise unterscheidet sich von dem, was Du vielleicht bisher gemacht hast.
Also vor allem das Verstehen, was und warum genauso umgesetzt ist und wie man darauf aufsetzen kann.

Ein Ansatzpunkt wäre mit einer ganz einfachen App zu beginnen (wie sie ja auch in Tutorials durchgenommen wird) und dann zu gucken, welcher Teil wofür zuständig ist und warum das so gemacht wird. Und gerne auch mal mit herumspielen. Was passiert, wenn ich diese und jene Zeile ändere.
Um so überhaupt erst mal ein Gefühl dafür zu bekommen wie "der Hase läuft".
 
  • Gefällt mir
Reaktionen: m.ichi
Das ist denke ich zu einfach gesagt.

Ich hab ne Ausbildung als Fachinformatiker wobei die ziemlich schlecht war und ich nicht bis garnicht danach programmieren konnte. Hab dann aber ne Stelle als PHP Entwickler gefunden und dann bin ich da reingekommen...

PHP ist nicht schlecht man kann damit auch alles machen aber ist mittlerweile etwas angestaubt und man bekommt in großen Projekten mit mehreren Leuten schneller Probleme.

Mit komplexeren Sprachen wie Java lässt sich das dann besser handhaben. Kenne es aber selbst das es am Anfang schon relative schwer ist da von alleine rein zu kommen... als absoluter Neuling wird man da förmlich davon erschlagen.

Ich bin zwar nicht total auf Android aus... aber auf Kotlin. Ich persönlich würde dir wenn dann definitiv Kotlin empfehlen, allerdings auch nur wenn deine Anleitungen auch in Kotlin sind ansonsten wird es schwieriger weil man immer den Draht zu Java suchen muss... ist zumindestens im Kotlin Backend so...

Ganz wichtig um das alles verstehen zu können sind Grundlagen. Deswegen würde ich dir raten die Grundlagen bis hin zu Medium von OOP zu lernen mit den Sprachen Python oder Javascript. (PHP ginge auch, aber nicht ganz so hipp ^^).

Wenn du dann mal soweit bist musst du verstehen wie das Android Framework tickt. Bitte mit Vorsicht genießen: Soweit ich das glaube ich verstanden habe benutzt das sehr stark Vererbung. Also die ganze App gibt es Prinzipiell schon, blos alles ist leer und default. Jetzt musst du Funktionen und Werte überschreiben so das dieses Template dann immer mehr die Form deiner spezifischen App annimmt.

Zuletzt noch, lesen lesen lesen. Du sollte Basics von Gradle verstehen, Android Studio, kompilieren... sind schon einige Dinge. Du musst dann der Suchmaschine deiner Wahl die richtigen "Fragen stellen" um dann in deinem Kopf das Puzzle zusammenfügen zu können.

So gehts / gings jedenfalls mir^^.


==> https://developer.android.com/kotlin/androidbasics
https://developer.android.com/courses/android-basics-kotlin/unit-1

Auch wenn ich Google nicht besonders mag... aber das sind schon tolle Schritt für Schritt Tutorials. (Auch wenn Sie natürlich für Google einen wichtigen Zweck erfüllen)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: m.ichi
Danke schon mal für eure wertvollen Anregungen.
Ich kämpfe natürlich, und das ist sicher auch Teil des Problems, mit meiner eigenen Ungeduld und meinen vielleicht zu hohen Erwartungen. Es braucht eben eine gewisse Zeit, die muß man sich auch geben.

Kotlin scheint das neue, bessere "Java" zu sein. Einfacher, verständlicher. Wobei ich mich ja eher mit dem "Drumherum" schwer tue. Flutter bzw. Dart scheint auch eine Alternative zu sein.
Ich schnuppere überall mal hinein, was natürlich auch Zeit kostet und die Entscheidung, was denn nun am besten ist, erschwert.
 
Ein Überblick zu bekommen und evtl. die Unterschiede herauszufinden wenn man sie auch versteht ist nicht verkehrt. Aber du wirst so nicht voran kommen.

Meine Empfehlung entscheide dich und loslegen. Also Tutorials durchmachen und wirklich Dinge durchziehen. Solltest Probleme mit einem Tutorial haben solltest du gucken weiter unten anzusetzen und die Dinge zu lernen um das Tutorial zu verstehen.

Da Google ja eigentlich jetzt auch voll auf Kotlin setzt würde ich mir Kotlin Tutorials falls du welche findest bevorzugen. Ansonsten ist der Switch von Java u.ä. Sprachen aber dann auch nicht mehr groß.

Man kann das bestimmt schneller lernen... Aber ich würde es mal so sehen. Die Ausbildung dauert 3 Jahre. Also würde ich schon sagen das man etwa 3 Jahre braucht bis man da ziemlich drin ist und das Wissen hat sämtliche Apps zu mindestens in der Theorie umsetzen zu können.


m.ichi schrieb:
Einfacher, verständlicher.
Ob es wirklich einfacher ist, da wäre ich mir nicht sicher. Aber es hat tolle Features für erfahrene Entwickler. Für absolute Einsteiger macht es denke ich alles nur komplizierter.
Also ich bin zu der Überzeugung gekommen, dass für die meisten Einsteiger, einfache Sprachen mit schwächerer Typisierung Javascript, Python, Ruby, PHP die bessere Wahl ist. Man versteht ja noch nicht einmal am Anfang wieso man sich starke Typisierung antun sollte.
 
  • Gefällt mir
Reaktionen: m.ichi und G00fY
m.ichi schrieb:
Gibts hier jemanden, der auch für Android programmiert? Wie habt ihr den Einstieg geschafft?
Jupp, ich tue mir das Hauptberuflich an. :D Mir macht das ganze natürlich Spaß und ich beschäftige mich auch viel in meiner Freizeit damit. Es ist aber extrem hart bei der Vielzahl an Themen und Neuerungen, gerade bei der Android Entwicklung, am Ball zu bleiben.
Also wenn du konkret Schwierigkeiten hast kann ich sicher hier im Forum helfen.

m.ichi schrieb:
PS: Ich bin mir natürlich bewußt, dass vielleicht Beharrlichkeit der Weg zum Erfolg ist. Dranbleiben und sich von einem kleinen Erfolg zum nächsten hanteln. Vielleicht ist es zu naiv von mir zu glauben, dass ich auch heute noch, so wie früher, mit etwas Mühe und Fleiß eine kleine App programmieren kann.
Ne das ist nicht naiv und geht schon. Ich hab damals auch mit grundlegenden Java Kenntnissen und Tutorials gestartet und dann schnell eigene Funktionen eingebaut. Die Tutorials die ich damals verwendet habe werden dir nur sicher nicht mehr helfen. Würde dir daher auch zu den offiziellen von Google und JetBrains raten.

Die enorme Herausforderung bei der nativen Android Entwicklung ist, dass man als Entwickler sehr viele Freiheiten hat und Google bis vor kurzem auch keine generelle Architektur-Empfehlung o.ä. kommuniziert hat. Dadurch ist es vor allem als Einsteiger nicht leicht zu verstehen was nun "guter Code" ist bzw. wie mans richtig macht. Den Großteil an Wissen habe ich mir daher logischerweise erst nach Berufseinstieg angeeignet. Das geht wie ich finde auch nur im Team mit anderen Entwicklern. Ich weiß ja nicht welches Ziel du verfolgst. Bei kleineren Hobby Projekten muss es ja auch nicht die super professionelle Code Struktur bzw Architektur sein, um Ergebnisse zu erreichen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: m.ichi
@###Zaunpfahl### , @G00fY Vielen Dank
@G00fY : Ich machs vorwiegend weil ich Spaß am Programmieren habe und weil ich es irgendwie faszinierend finde, sich einfach eigene Programme selbst schreiben zu können. Ich habe jetzt aber nicht den Anspruch, Entwickler zu werden. Es sollte jetzt auch nicht so viel Zeit beanspruchen, dass es in "Arbeit" ausartet. Es geht mir um kleine, "einfache" Apps, überschaubare Projekte, die nicht unbedingt alle Skills des Programmierens erfordern.
 
Zurück
Oben