• Es sind wieder ein paar schöne Fotobeiträge eingetrudelt. Schau sie dir doch einmal hier an und stimme für deinen Favoriten.

Programmieren lernen

thraca
Benutzer182699  (32) Öfter im Forum
  • #1
Ich glaube, auf PL sind ein paar Programmierer unterwegs. Daher stelle ich hier mal meine Frage:

Wie/wo lernt man auf eigene Faust am besten Programmieren? Gibt es da gute Apps, Internetseiten mit Kursen etc.?
Ich bin absoluter Anfänger. :zwinker:

Es wäre schön, wenn es eine klare Struktur/einen roten Faden gäbe, also man der Reihe nach
vorgegebene Kapitel abarbeitet und sich nicht selbst alles zusammenstellen muss. Ich kann ja gar nicht beurteilen, was
wann sinnvoll wäre oder ob ich das Vorwissen dazu schon habe.

Ein Bonus wäre, wenn nebenher auch noch etwas allgemein Informatikwissen vermittelt wird.
 
Kuschelbär55
Benutzer187176  (58) Meistens hier zu finden
  • #2
Die generelle Frage dazu lautet wohl, wozu und mit welchem Hintergrund willst du das lernen? Davon hängt zumindest die Art der Programmiersprache ab und ev. die Art und Tiefe des Kurses bzw. der Inhalte. Eine Webapplikation zu programmieren ist was anderes als ein Steuerprogramm für nen Roboter o.a.
 
thraca
Benutzer182699  (32) Öfter im Forum
  • Themenstarter
  • #3
Kuschelbär55 Kuschelbär55 Um evtl. beruflich in diese Richtung zu gehen. In meinem aktuellen Umfeld spielen z.B. C, C++, JavaScript, SQL, HTML, Python eine Rolle.
 
axis mundi
Benutzer172636  Planet-Liebe-Team
Moderator
  • #4
Codecademy ist recht nice 😁
ansonsten wurde mir geraten, dass ich mir am besten ein Projekt suche und mich daran entlanghangele.
 
efeu
Benutzer122533  (35) Sehr bekannt hier
  • #5
Wenn du das wirklich ernsthaft mal nutzen möchtest, guck auf jeden Fall, dass du irgendwann irgendwo ein bisschen Wissen zu Softwarearchitektur mitnimmst (vielleicht weiß einer der anderen hier, wo?), es gibt genug grundsätzlich funktionierenden, aber ganz schlimmen Code da draußen.
 
sanspoil
Benutzer146280  (53) Verbringt hier viel Zeit
  • #6
Wenn du englisch kannst, es gibt über coursera und udemy gute Kurse. Habe mal einen zu machine learning gemacht der an die Stanford angegliedert war. Ziemlich gut. Mir hilft das immer, wenn ich ein Ziel habe, was ich gern Programmieren möchte.
Bin allerdings beruflich kein Programmierer.
 
Zuletzt bearbeitet:
thraca
Benutzer182699  (32) Öfter im Forum
  • Themenstarter
  • #8
Dami Dami Ich weiß nicht, wie lange ich dieses Englisch aushalte. :grin: Aber ich hab's mir mal gemerkt.
 
Mirella
Benutzer136760  Beiträge füllen Bücher
  • #9
C, C++, JavaScript, SQL, HTML, Python eine Rolle.
Ich würde es an deiner Stelle etwas eingrenzen, so ist das ein viel zu weites Feld, zumal HTML und SQL keine Programmiersprachen sind.
 
K
Benutzer11466  Beiträge füllen Bücher
  • #10
Off-Topic:
Dami Dami Ich weiß nicht, wie lange ich dieses Englisch aushalte. :grin: Aber ich hab's mir mal gemerkt.
Man mag es bedauern: Aber ohne Englisch geht im Programmierbereich praktisch nichts... :whistle:
 
efeu
Benutzer122533  (35) Sehr bekannt hier
  • #11
Off-Topic:

Man mag es bedauern: Aber ohne Englisch geht im Programmierbereich praktisch nichts... :whistle:
Ich glaube, es ging eher um das Inder-Englisch, das ist ECHT hart auszuhalten. :ninja:
 
thraca
Benutzer182699  (32) Öfter im Forum
  • Themenstarter
  • #12
Ich würde es an deiner Stelle etwas eingrenzen
Ja, klar. Ich wusste eben nicht, was als Einstieg sinnvoll wäre.
Inzwischen sind die Themen mal eingegrenzt auf: C/C++, SQL und HTML (auch wenn Letztere keine Programmiersprachen sind).
Falls also jemand speziell dazu noch gute Einstiegspunkte kennt, gerne mitteilen. :smile:

Off-Topic:

Man mag es bedauern: Aber ohne Englisch geht im Programmierbereich praktisch nichts... :whistle:
Das ist mir klar. Es ging um das indische Englisch, das ich mir beim Lernen von neuen Themen möglichst ersparen will.
 
Kuschelbär55
Benutzer187176  (58) Meistens hier zu finden
  • #13
Für HTML gips ein gutes Glossar im Netz selfhtml.org, damit habe ich gute Erfahrungen gemacht, ist gut erklärt und dokumentiert.
 
thraca
Benutzer182699  (32) Öfter im Forum
  • Themenstarter
  • #14
Mirella
Benutzer136760  Beiträge füllen Bücher
  • #15
Mit HTML kann man auch super anfangen und schnell viel machen, ohne viel mehr zu brauchen als einen Editor.
 
Manche Beiträge sind ausgeblendet. Bitte logge Dich ein, um alle Beiträge in diesem Thema anzuzeigen.
M
Benutzer186417  (47) dauerhaft gesperrt
  • #19
Ich finde, das "Programmieren lernen" laeuft in Zyklen ab. Zuerst "learning by doing", dann lernen, wie man es "richtig" bzw "professionell" macht, dann kommt etwas Neues, das man sich wieder mit learning by doing erschliesst, und dann spaeter wieder systematisiert.

Ich habe mit 11 Jahren zu programmieren begonnen, und seither gibt es sehr wenige Tage in meinem Leben, die nichts mit Software Engineering zu hatten, aber jedes Mal, wenn ich etwas Neues lerne (das letzte grosse neue Ding war (und ist) Machine Learning fuer mich), ist es immer noch dieser Zyklus: erst experimentieren/hacken, und es dann professionalisieren.

Und ich empfehle diesen Ansatz ganz unvoreingenommen einfach weiter. :smile:

Konkret heisst das: Buecher, die jedes Detail einer Sprache erklaeren, sind langweilig und dafuer wertlos. Das sind eher Referenzen, aber keine Einsteigerwerke. (Fuer die, die sich etwas auskennen: ich finde, if/else, for, und Funktionen deklarieren/aufrufen bringen einen schon sehr weit, noch mit einem Array/Vektor und einer Map, und dann noch Pointer in C/C++. Dass man beispielsweise irgendwo besser switch statt if/else braucht, oder do {} while () statt einen "Hack" mit "for", das kann man spaeter noch lernen.)

Und ich finde es wichtig, beobachtbare Effekte zu erzeugen, dass man etwas programmiert, das einem Spass macht.
Ein paar Beispiele:
  • (Sehr einfache) Computergrafik - das geht schon mit wenig Kenntnissen recht bald mal gut. Man ruft viele vordefinierte Sachen auf und kann schnell etwas "zeichnen" oder bewegen. Hier waere C++ nuetzlich.
  • Apps: Wenn Du ein iPhone hast und einen Mac, kannst gut damit anfangen. Da gibt's Tutorials, wo Du mit sehr wenig Code schon etwas machen kannst, das gut ausschaut (aber natuerlich noch kaum Logik dahinter hat.) Ich habe mal ein Buch durchgearbeitet, da hiess es eher zu Beginn "we're now going to write an entire app that has no code" :-D. Und dann fuegst Du stueckweise die Logik dazu, bis die App nicht nur "ausschaut", sondern auch noch Funktionalitaet hat.
  • Robotik: Das ist wieder C bzw C++, oder auch Python oder andere Sprachen. Ich finde da Lego Mindstorms recht cool.
  • Interaktive Webseiten: JavaScript. Da kann man auch gut anfangen, ohne sehr viel programmieren zu muessen. Zum Beispiel einfach eine Seite, wo jemand seine Adresse eingeben kann, und dann kann man z.B. eine Funktion schreiben, die prueft, ob die eingegebene Postleitzahl wirklich nur aus Ziffern besteht, oder die Kreditkartennummer die richtigen Zifferngruppen hat, etc.
  • Machine Learning: Python. Man kann recht gut anfangen zu programmieren damit, denke ich, wobei die vordefinierten Sachen recht schwierig zu verstehen sind, aber teils verstanden werden muessen. (Fuer die, die sich etwas auskennen: Die beschleunigten/vektorisierten Operationen in numpy, zum Beispiel) Aber man staunt sehr, dass man mit ~10 Zeilen eigenem Python handgeschriebene Ziffern recht zuverlaessig erkennen kann.
Fuer den allerersten Start finde ich JavaKara wirklich gut. Ich wuerde nicht Monate damit verbringen, aber ein paar Tage.
Denn wenn man selbst zu programmieren beginnt, muss man nicht nur den Code schreiben, sondern auch noch sich um die sog. "Umgebung" kuemmern, und manchmal generiert das mehr Muehe als das eigentliche erste Programm. Mit einer solchen Umgebung ist die Installation sehr integriert und keine Hexerei.
(Fuer allererste Schritte mit Python gibt es auch die Moeglichkeit, Python online im Browser zu schreiben, das ist auch sehr eine niedrige Einstiegsschwelle, zum Beispiel here: Online Python - IDE, Editor, Compiler, Interpreter, ich kenne es aber nicht im Detail.)

Ein Wort zu Architektur, da dies erwaehnt wurde:
Mein klipp und klarer Ratschlag: kuemmer Dich erst mal gar nicht drum. Meines Erachtens ist es sehr schwierig, genuegend gut zu verstehen, welche Probleme Architektur ueberhaupt loest, dass man einen Wert von diesem Verstaendnis erzielen kann.
Das geht dann um Themen wie Latenzen (wie kann man ein System schnell machen, in welchem mehrere Computer miteinander kommunizieren), wie kann man das System ausfallsicher machen bzw. welche Ausfaelle will man tolerieren koennen (fuer die, die sich gut auskennen: geht in Richtung CAP Theorem), etc., fuer Mobile Apps sind es dann Fragen, wie man z.B. die App stromsparend macht, fuer ML Systeme (wieder fuer die, die sich besser auskennen) geht es dann drum, wie man Feedback Loops vermeidet, wie man die Features richtig designed, fuer Recommendation Engines geht's um Fragen, was man mit User Engagement loest und was mit Content Exploration etc. - das kannst Du viel schneller lernen, wenn Du schon Programmiererfahrung hast. Zuvor ist das alles sehr abstrakt.

Zusammengefasst: Ein paar Stunden/Tage JavaKara oder online Python, um uebehaupt mal etwas zu machen, und dann etwas wie die obigen Themen aussuchen und versuchen, etwas Kleines(!) zu realisieren, fuer das man sich interessiert. Immer zu erst learning by doing. :smile: Und zu allen diesen Themen gibt es Buecher fuer Einsteiger.

Edit: Fuer Informatikwissen brauchst Du Buecher zu Algorithmen und Datenstrukturen, zu verteilten Systemen, zu ML, Sicherheit/Krypto, etc.. Das baust Du ueber Jahre bzw Jahrzehnte auf. Aber lern erst mal praktisches Programmieren, das ist das Handwerk. Dann geht der Rest viel leichter.
 
Zuletzt bearbeitet:
Sky-Michl
Benutzer192102  Sorgt für Gesprächsstoff
  • #20
Und noch ein zwei Ratschläge.
Halte es bereits zu beginn so, dann wird es dir auch langfristig und nachhaltig helfen. 😉

Keep it simple. Bringe nur den Code hinein, der auch wirklich erforderlich ist.
Also nicht soviel wie geht, eher nur soviel, wie muss.

Behalte die Übersicht, räume auf, wenn alles funktioniert und kommentiere kurz, was dort passiert. Nicht selten nutzt man einen bestimmten Abschnitt als Vorlage, dann ist man gedanklich schnell wieder drin, wenn man nachlesen kann, was man vor Jahr und Tag mal gemacht hat.😬
 
F
Benutzer102346  (41) Meistens hier zu finden
  • #21
Wichtig ist, dass du ein Ziel hast, was du lernen und dann entwickeln willst.
Ohne Ziel ist es einfach "nur so" und ich zumindest verliere dann schnell die Motivation, weil man sich dann schon fragt, wofür mach ich das eigentlich :grin:
Die genannten Programmiersprachen sind SEHR unterschiedlich, C/C++ ist eher hardwarenah, Javascript ist Frontend im Browser, ebenso HTML, SQL sind Datenbanken... das ist ein viel zu großer Strauß an Technologien, guck lieber, dass du dir was Kleines raussuchst.
Z.B. irgendein kleines Projekt mit einem Arduino, wenn das was für dich ist.
Oder eine kleine Webseite. Oder oder oder.
Viel Spaß :smile:
 
M
Benutzer186417  (47) dauerhaft gesperrt
  • #22
wenn man nachlesen kann, was man vor Jahr und Tag mal gemacht hat
Ich habe schon mehrfach Code zu lesen versucht und nicht verstanden, und dachte, welcher Idiot hat das geschrieben.
Und dann zeigt die change history , dass ich diesen Quatsch geschrieben habe (und irgendein Reviewer das sogar noch gut fand...)
 
Schweinebacke
Benutzer78484  Planet-Liebe-Team
Moderator
  • #23
M Mamas Liebling Ich finde deine Tipps soweit super, wobei man da glaube ich schon sehr "low levelig" ansetzen muss, wenn man gar keine Erfahrung und auch nicht wirklich einen technischen/naturwissenschaftlichen/mathematischen Hintergrund hat. Sonst sind da schnell viele Dinge böhmische Dörfer und der Frust hoch.
 
F
Benutzer102346  (41) Meistens hier zu finden
  • #24
Ich habe schon mehrfach Code zu lesen versucht und nicht verstanden, und dachte, welcher Idiot hat das geschrieben.
Und dann zeigt die change history , dass ich diesen Quatsch geschrieben habe (und irgendein Reviewer das sogar noch gut fand...)
Off-Topic:
DAS kennt wohl jeder Entwickler :zwinker:
Und je größer die Aufregung, welcher Schwachmat das bitte von sich gegeben hat, umso höher die Wahrscheinlichkeit, dass man das selbst war :grin: :grin:
 
Schweinebacke
Benutzer78484  Planet-Liebe-Team
Moderator
  • #25
Wichtig ist, dass du ein Ziel hast, was du lernen und dann entwickeln willst.
Ohne Ziel ist es einfach "nur so" und ich zumindest verliere dann schnell die Motivation, weil man sich dann schon fragt, wofür mach ich das eigentlich :grin:
Die genannten Programmiersprachen sind SEHR unterschiedlich, C/C++ ist eher hardwarenah, Javascript ist Frontend im Browser, ebenso HTML, SQL sind Datenbanken... das ist ein viel zu großer Strauß an Technologien, guck lieber, dass du dir was Kleines raussuchst.
Z.B. irgendein kleines Projekt mit einem Arduino, wenn das was für dich ist.
Oder eine kleine Webseite. Oder oder oder.
Viel Spaß :smile:
Also ich würde ja grundsätzlich Sachen wie HTML oder SQL erstmal raus lassen (die sind im nachhinein auch nicht schwierig) und mich darauf konzentrieren, erstmal grundlegend halbwegs vernünftig, sprachenunabhängig, Programmieren zu "verstehen". Also Sachen wie Kontrollstrukturen, Objektorientierung, Funktionen, Tests usw., die sich in allen Sprachen mehr oder weniger wiederholen. Bzw, erstmal so ein richtig einfaches Tutorial irgendeiner Art für absolute Anfänger durchspielen und dann aber schauen, dass man eine solide Grundlage schafft. Gibt einfach genug "Programmierer", die eben nicht wirklich wissen, was sie tun und deswegen bescheidenen Code schreiben.

Wenn man nicht so gut in Mathe ist, würde ich trotzdem grundsätzlich mal schauen, dass ich mir zumindest die Grundlagen der Boolschen Algebra und einfache Algorithmen beibringe/verstehe.
Sonst ist man bei vielen Fragestellungen, die immer wieder aufkommen werden, einfach sehr "blind".
 
F
Benutzer102346  (41) Meistens hier zu finden
  • #26
Definitiv, sowas ist grundlegendes Handlungswerk, die grundlegenden Funktionen sind ähnlich, in der Programmiersprache ist das nur ein Dialekt.
 
thraca
Benutzer182699  (32) Öfter im Forum
  • Themenstarter
  • #27
Also ich würde ja grundsätzlich Sachen wie HTML oder SQL erstmal raus lassen (die sind im nachhinein auch nicht schwierig) und mich darauf konzentrieren, erstmal grundlegend halbwegs vernünftig, sprachenunabhängig, Programmieren zu "verstehen". Also Sachen wie Kontrollstrukturen, Objektorientierung, Funktionen, Tests usw., die sich in allen Sprachen mehr oder weniger wiederholen. Bzw, erstmal so ein richtig einfaches Tutorial irgendeiner Art für absolute Anfänger durchspielen und dann aber schauen, dass man eine solide Grundlage schafft. Gibt einfach genug "Programmierer", die eben nicht wirklich wissen, was sie tun und deswegen bescheidenen Code schreiben.

Wenn man nicht so gut in Mathe ist, würde ich trotzdem grundsätzlich mal schauen, dass ich mir zumindest die Grundlagen der Boolschen Algebra und einfache Algorithmen beibringe/verstehe.
Sonst ist man bei vielen Fragestellungen, die immer wieder aufkommen werden, einfach sehr "blind".
Und wo finde ich dazu was für den Anfang? Unter welchem übergreifenden Thema, das ich als Suchbegriff verwenden kann, läuft das alles? Da ich wie gesagt komplett ahnungslos bin, brauche ich schon ziemlich konkrete Anlaufstellen. Aktuell sind das einfach nur ein Haufen Begriffe ohne nachvollziehbaren Kontext für mich.

Dass es zu allen Themen Einsteigerbücher gibt, klar. Ich bin einfach mit der Auswahl überfordert. Überhaupt von dem ganzen Angebot überfordert und von dem weiten Feld. Wo anfangen und womit? Ganz, ganz runtergebrochen und simpel. :seenoevil:
 
H
Benutzer98820  Sehr bekannt hier
  • #28
Anfang wofür denn? Was hast du vor?
 
thraca
Benutzer182699  (32) Öfter im Forum
  • Themenstarter
  • #30
H Heatpipe Anfang für die von Schweinebacke Schweinebacke genannten Themen zum Beispiel. Und einen ganz generellen Anfang. Ich weiß ja nicht, was ich vorhabe. Ich suche einfach einen sinnvollen Einstieg in das Themenfeld, von dem ich wie gesagt bisher so gut wie nichts kenne. Um mal einen ersten Einblick und kleine Übungen zu erhalten, einigermaßen feststellen zu können, ob das was für mich sein könnte.

Ich wüsste auch gerade nicht, was für ein erstes kleines Projekt ich mir aussuchen könnte, weil ich das noch gar nicht einschätzen kann und auch nicht weiß, was da alles in Frage käme. Da finde ich den Tipp von M Mamas Liebling schon mal ganz gut. Danke dafür! :smile:
 
Schweinebacke
Benutzer78484  Planet-Liebe-Team
Moderator
  • #32
H Heatpipe Anfang für die von Schweinebacke Schweinebacke genannten Themen zum Beispiel. Und einen ganz generellen Anfang. Ich weiß ja nicht, was ich vorhabe. Ich suche einfach einen sinnvollen Einstieg in das Themenfeld, von dem ich wie gesagt bisher so gut wie nichts kenne. Um mal einen ersten Einblick und kleine Übungen zu erhalten, einigermaßen feststellen zu können, ob das was für mich sein könnte.

Ich wüsste auch gerade nicht, was für ein erstes kleines Projekt ich mir aussuchen könnte, weil ich das noch gar nicht einschätzen kann und auch nicht weiß, was da alles in Frage käme. Da finde ich den Tipp von M Mamas Liebling schon mal ganz gut. Danke dafür! :smile:
Vielleicht einfach mal einen dieser Kurse versuchen, kostet nichts und wird oft empfohlen:



Ich würde ehrlich gesagt einfach mal mit irgendwas anfangen. Bringt nichts, sich da ewig Gedanken zu machen, wie man es am besten angeht. Gibt da leider auch kein Patentrezept, wenn man nicht irgendeine strukturierte Ausbildung oder ein Studium in dem Bereich machen will.
Und wo finde ich dazu was für den Anfang? Unter welchem übergreifenden Thema, das ich als Suchbegriff verwenden kann, läuft das alles? Da ich wie gesagt komplett ahnungslos bin, brauche ich schon ziemlich konkrete Anlaufstellen. Aktuell sind das einfach nur ein Haufen Begriffe ohne nachvollziehbaren Kontext für mich.
Viele dieser Themen kommen einfach im Laufe der Zeit und auch in den typischen Einführungen auf. Da würde ich mir erstmal nicht so viele Gedanken machen.
Ist halt leider oder zum Glück auch ein Bereich mit wüst vielen Tutorials, Büchern, Videos etc.
 
sanspoil
Benutzer146280  (53) Verbringt hier viel Zeit
  • #33
Das letzte was ich gemacht habe war esp32 programmieren. Also nur Sensoren anschliessen, auslesen werte anzeigen und dann später Werte verschicken.
 
Es gibt 3 weitere Beiträge im Thema "Programmieren lernen", die aktuell nicht angezeigt werden. Bitte logge Dich ein, um diese ebenfalls anzuzeigen.
Oben
Heartbeat
Neue Beiträge
Anmelden
Registrieren