7 Nützliche Tricks zum Beherrschen einer neuen Programmiersprache
Programmierung ist schwer. Die einzigen, die etwas anderes sagen, sind diejenigen, die über jahrelange Codierungserfahrung verfügen. Es ist in Ordnung, überwältigt zu sein! Da ist ein Menge zu lernen und du wirst die Dinge wahrscheinlich so schnell vergessen, wie du sie lernst. Vertrauen Sie mir: das ist normal.
Aber nur weil es normal ist, heißt das nicht, dass es nicht frustrierend ist. Um ehrlich zu sein, lernen, wie man programmiert, wie man das Programmieren ohne all den Stress lernt. Wie man das Programmieren ohne all den Stress lernt. Vielleicht haben Sie sich entschieden, das Programmieren fortzusetzen, ob für eine Karriere oder nur als Hobby. Großartig! Aber vielleicht fangen Sie an, sich überfordert zu fühlen. Nicht so toll. Hier finden Sie Hilfe, um Ihre Reise zu erleichtern. Mehr lesen kann extrem anstrengend sein, wenn Sie es nicht mit der richtigen Einstellung und Einstellung angehen.
Sie möchten diese neue Sprache, Bibliothek oder Rahmen so schnell wie möglich lernen, oder? Das ist verständlich. Glücklicherweise gibt es eine Handvoll Tipps, mit denen Sie all die umfangreichen Programmierinformationen besser aufbewahren können, die immer auf einem Ohr und direkt auf dem anderen bleiben.
Keine weiteren Cram-Sitzungen
Niemand möchte es hören, aber Cramming ist der schlimmste Weg, um das Programmieren zu lernen. Wenn Sie etwas wie ich sind, war das Cramming Ihr Modus Operandi Alles in der Schule und Universität. Nur so wissen Sie, wie man studiert.
Aber lerne aus meinen Fehlern: Je mehr Sie versuchen, sich zu stopfen, desto weniger werden Sie sich daran erinnern. Das trifft für jedes wissensbasierte Fach zu, besonders aber beim Programmieren.
Die Grundlage für diese Behauptung ist eine Studie der Universität von Kalifornien, San Diego aus dem Jahr 2008:
“Die Schüler leisten bessere Ergebnisse, wenn sie ihre Lernsitzungen im Raum platzieren, als wenn sie versuchen, während einer Sitzung alles in ihre Noggins zu stopfen.”
Warum? Höchstwahrscheinlich aufgrund des seriellen Positionseffekts:
“Serienpositionseffekt ist die Tendenz einer Person, die ersten und letzten Elemente einer Serie am besten und die mittleren Elemente am schlechtesten abzurufen.”
Mit anderen Worten: In einer bestimmten Lernsitzung behalten Sie die Informationen, die Sie zu Beginn und am Ende der Sitzung gelernt haben, wahrscheinlicher und vergessen die Informationen in der Mitte der Sitzung.
Sie möchten die Anzahl der Anfänge und Enden maximieren. Deshalb ist es besser, mehrere kurze Sitzungen statt einiger langer Sitzungen zu haben, wenn es darum geht, neues Material zu lernen und aufzunehmen.
Wenn Sie sich das nächste Mal setzen, um Code zu lernen, nehmen Sie jeweils ein Thema und machen Sie eine kurze Pause zwischen den einzelnen Themen. (Stellen Sie nur sicher, dass Ihre Pausen nicht in Zaudern geraten!)
Überprüfung, Überprüfung, Überprüfung
Ein weiterer Grund, warum Cramming der langfristigen Aufbewahrung von Wissen widerspricht, ist, dass das Gedächtnis mit der Zeit nachlässt. Das trifft nicht immer zu - ich bin sicher, dass wir alle ein paar Kindheitserinnerungen haben, die niemals verschwinden werden -, aber es scheint der allgemeine Fall für Erinnerungen zu sein, die nicht an Emotionen gebunden sind.
Es gibt einige Debatten darüber, ob das Gedächtnis selbst aufgrund der Zeit verfällt (Zerfallstheorie) oder einfach verdrängt und im Laufe der Zeit durch neue Erinnerungen ersetzt wird (Interferenztheorie). Unabhängig davon, welche Theorie Sie abonnieren, das Ergebnis ist, dass ältere Erinnerungen eher verblassen.
Hier kommt das Review ins Spiel.
Stellen Sie sich vor, Sie gehen durch einen Wald von Erinnerungen. Jedes Mal, wenn Sie auf ein Gedächtnis zugreifen möchten, müssen Sie den neuronalen Pfad verfolgen, um ihn zu finden. Jedes Mal, wenn Sie diese Erinnerung nachverfolgen, wird der Pfad ein wenig mehr eingeätzt - so wie sich ein Schmutzpfad auf natürliche Weise bildet, wenn Menschen denselben Pfad immer und immer wieder gehen. Wenn Sie aufhören, den Pfad zu gehen, kann er verschwinden, und die Erinnerung geht irgendwo im Wald verloren.
Abgesehen von der Pop-Psychologie ist hier der Einstieg: Wenn es ums Programmieren geht, reicht es nicht aus, ein Thema nur ein- oder zweimal zu lernen. Sie müssen es Dutzende oder sogar Hunderte Male wiederholen. Bei jedem Review wird dieses Thema etwas tiefer in Ihr Gehirn eingraviert.
Ich weiß, wie schwer dies sein kann, wenn Sie ein natürlicher Krammer sind, aber Sie werden überrascht sein, wie schnell Sie anfangen, Material zu speichern, wenn Sie sich bemühen, es regelmäßig zu überprüfen.
Verwenden Sie mehrere verschiedene Ressourcen
Der schwierigste Aspekt der Programmierung - zumindest für brandneue Programmierer - ist die schiere Breite der Details und Nuancen, die verinnerlicht werden müssen. Bis diese Verinnerlichung stattfindet, werden Sie sich in einem permanenten Zustand des Kopfkratzens befinden.
Je nach Sprache müssen Sie sich Hunderte von Syntaxregeln merken (z. B. Schlüsselwörter, Semikolons, Leerzeichen). Einige Sprachen sind strenger, andere weniger, und wieder andere haben ihre eigenen Syntaxansätze, die nirgendwo sonst verwendet werden. All dies kann verwirrend sein, wenn Sie keine Erfahrung mit der Codierung haben.
Ganz zu schweigen von allen konzeptionellen Informationen, die über die einzelnen Sprachen hinausgehen. Themen wie objektorientierte Programmierung, Entitätskomponentensysteme und Beobachtungsmuster können Ihren Kopf schon beim ersten Versuch zum Laufen bringen.
Ich habe diese Illustration schon einmal geteilt, aber es ist so pünktlich, dass sie wiederholt wird:
“Angenommen, jemand hat Ihnen ein Foto einer Statue gezeigt. Es könnte genug Bild für Sie geben, um ein angemessenes Bild der Statue zu bekommen, aber Sie würden nicht das ganze Bild bekommen. Ein vergrößertes Foto würde komplizierte Details verlieren, während ein vergrößertes Foto die Perspektive verliert. Wenn Sie jedoch weitere Fotos aus anderen Blickwinkeln aufnehmen, können Sie wirklich die Fülle der Statue in der Textur sehen, in der Größe, im Detail, von vorne nach hinten, von Seite zu Seite und von oben nach unten.”
Programmieren kann überraschend willkürlich sein. Jeder kann die Ressource A als die beste Methode zum Erlernen der Sprache X preisen, aber für Sie macht es vielleicht keinen Sinn. Vielleicht hasst jeder Ressource B, aber Sie werfen einen Blick darauf und es ist absolut sinnvoll! Was andere anbelangt, so sind sie vielleicht beim Studieren der Ressourcen A und B herausgefallen, profitieren jedoch stark von Ressource C.
Deshalb ist es so wichtig, dass Sie bereit sind, alle Arten von Ressourcen da draußen zu verbrauchen. Jeder lernt anders. Wenn Sie Probleme mit einem bestimmten Thema haben, suchen Sie nach einer anderen Ressource. Vielleicht ist das für Sie besser geeignet. Vielleicht nicht.
Selbst wenn Sie glauben, bestimmte Themen zu verstehen, ist es möglich, dass Sie noch mehr darüber erfahren. Es ist auch möglich, dass jemand anderes das Konzept in Ihrem Kopf für immer festigt. Sie wissen nie, warum also nicht so viele Ressourcen wie möglich verbrauchen?
Beachten Sie, dass Spiele eine äußerst nützliche Ressource sein können! Schauen Sie sich diese unterhaltsamen und lehrreichen Codierspiele an. Die 10 besten Programmierspiele zum Testen und Entwickeln Ihrer Codierfähigkeiten Die 10 besten Programmierspiele zum Testen und Entwickeln Ihrer Codierfähigkeiten Programmierspiele helfen Ihnen, mit praktischen Übungen und Erfahrungen schneller zu lernen - und sie macht wirklich Spaß! Weiterlesen .
Lehren Sie Konzepte, wie Sie sie lernen
Es gibt ein wunderschönes Konzept in der Programmierung, das als "Rubber Duck" bezeichnet wird. Debugging Die verrücktesten Programmierprinzipien, die Sie noch nie von den verrücktesten Programmierprinzipien gehört haben, die Sie noch nie gehört haben. Einige sind seltsam und viele sind humorvoll, aber sie sind alle gleich praktisch und wichtig. Passen Sie auf! Lies mehr, in dem die Technik beschrieben wird, wie man den Code einer leblosen Gummiente Zeile für Zeile erklärt. Es wird verwendet, wenn ein bestimmtes Codesegment beschädigt ist, es gibt jedoch keinen offensichtlichen Grund.
Seltsamerweise haben die meisten Programmierer eine “Eureka!” Moment in der Mitte der Erklärung des Codes, als sie plötzlich sehen, wo der Fehler in der Codierungslogik auftritt. Die Verbalisierung löst einen anderen Bereich des Gehirns aus, so dass Sie das Problem aus einem anderen Blickwinkel betrachten müssen.
Dieses Konzept kann auch dazu verwendet werden, um neues Material zu erlernen. Sie sind vielleicht auf dieses beliebte Zitat gestoßen, das Albert Einstein oft zugeschrieben wird:
“Wenn Sie es nicht einfach erklären können, verstehen Sie es nicht gut genug.”
Mit Ausnahme einiger Bereiche, die sich mit fortgeschrittenem theoretischem Wissen beschäftigen, gilt dieses Sprichwort. Je mehr Sie ein Thema verstehen, desto besser können Sie es so erklären, dass jemand, der das Thema nicht kennt, es immer noch verstehen kann.
Das Gegenteil davon ist auch richtig. Wenn Sie versuchen, ein Thema zu vermitteln, stoßen Sie auf bestimmte Konzepte, die Sie nicht eindeutig erklären können. Dies ist nicht nur eine großartige Möglichkeit, Schwachstellen in Ihrem Wissen zu diagnostizieren, der tatsächliche Prozess der Suche nach der richtigen Erklärung kann dazu beitragen, das Konzept in Ihrem Kopf zu festigen.
Es wird Lernen durch Unterricht genannt und ist im Grunde eine Wendung beim Debuggen von Gummiente.
Nun, ich sage nicht, dass Sie das tun sollten tatsächlich andere lehren; Versuchen Sie, jedes neue Programmierthema, das Sie lernen, einer Gummiente (oder einem unsichtbaren Freund) beizubringen. Es mag sich auf den ersten Blick albern anfühlen, aber es mag unglaublich fruchtbar sein, wenn es um die Beibehaltung des Gedächtnisses geht.
Bewusstes Üben macht den Meister
Die Vorstellung von Talent ist völliger Quatsch. Niemand verlässt den Mutterleib als Geiger, Wrestler oder Programmierer von Weltklasse. Sicher, manche Leute neigen eher zu bestimmten Disziplinen, aber Talent ohne Erfahrung ist nutzlos. Lassen Sie Ihre verborgenen Talente nicht sterben: 7 Wege, sie wieder zu finden und wieder zu finden Lassen Sie Ihre versteckten Talente nicht sterben: 7 Möglichkeiten, zu gehen und zu suchen Sie wieder Die schlechte Nachricht ist, dass Sie hart arbeiten müssen, um Ihre verborgenen Talente zu verbessern. Die gute Nachricht ist, dass es mehr Möglichkeiten gibt als je zuvor, Ihre Talente zu spucken. Weiterlesen . In ähnlicher Weise ist harte Arbeit immer mehr wert als Talent.
Das wird gesagt, Nicht alle Formen harter Arbeit sind gleich. Malcolm Gladwell prägte die berüchtigte 10.000-Stunden-Regel, die besagt, dass Sie mindestens 10.000 Stunden in ein Thema investieren müssen, um ein Meister darin zu werden. Während das Gefühl wahr sein mag, missverstehen viele Leute, was er zu sagen versuchte.
Um es kurz zu machen, eine 10.000-Stunden-Verpflichtung garantiert nicht wirklich Meisterschaft. Sie kennen das Sprichwort: “Übung ist nicht perfekt. Perfekte Übung macht den Meister.” Damit es sinnvoll ist, muss die Übung absichtlich beabsichtigt sein. Möchten Sie ein Experte bei etwas werden? Versuchen Sie eine bewusste Praxis. Möchten Sie ein Experte bei etwas werden? Bewusste Praxis ausprobieren Es ist alles zu einfach, sich niedergeschlagen zu fühlen, wenn man mühsam versucht, eine bestimmte Fähigkeit zu verbessern. Nutzen Sie die Kraft der "absichtlichen Übung", um Sie über diese wütenden Plateaus zu bringen. Weiterlesen . Meisterschaft kann nur durch 10.000 Stunden absichtlicher Übung erreicht werden.
Wie Sie üben, ist weitaus wichtiger als die Zeit, die Sie mit dem Üben verbringen.
Lesen ist passiv. Das Ansehen von YouTube-Lektionen ist passiv. Podcasts zu hören ist passiv. Als Neuling-Programmierer sind Sie möglicherweise versucht, von Tutorial zu Tutorial zu flattern und sich mit jedem Thema auseinanderzusetzen, ohne dieses Wissen praktisch anzuwenden. Widerstehen Sie dieser Versuchung.
Es ist eine Sache, ein Beispiel vor Ihnen zu verstehen, aber es ist eine andere, eine Lösung von Grund auf zu synthetisieren. Wenn Sie den Lernprozess beschleunigen möchten, müssen Sie bereit sein, aktiv zu sein, anstatt passiv zu sein. Die aktive Praxis ist die einzige, die am Ende zählt.
Experimentieren Sie mit persönlichen Projekten
Hausaufgaben waren für mich der schlimmste Teil der Schule. Es schien nur ein aufwendiger Trick, um Spaß zu töten und die Schüler auf Trab zu halten - was, um ehrlich zu sein, manchmal richtig war. Aber jetzt, wo ich zurückblicke, macht die Wichtigkeit von Hausaufgaben endlich Sinn. Es zwang mich, neu erworbenes Wissen aktiv anzuwenden.
Wenn Sie an Programmierkursen und -kursen teilnehmen, die 11 besten Websites für kostenlose Online-Computerprogrammierkurse. 11 besten Websites für kostenlose Online-Computerprogrammierkurse. Wo sind all diese hervorragenden Lernressourcen, fragen Sie? Tolle Frage. Lesen Sie weiter und wir zeigen es Ihnen. Lesen Sie mehr, unterschätzen Sie nicht die Wirksamkeit von Hausaufgaben. Nehmen Sie es ernst und behandeln Sie es immer als Chance, das Gelernte im Langzeitgedächtnis zu festigen.
Aber oft reichen Hausaufgaben noch nicht aus. (Und wenn Sie lernen, ohne einen eigentlichen Lehrer selbst zu programmieren, haben Sie wahrscheinlich keine Hausaufgaben, mit denen Sie beginnen können.)
Was ist die Lösung? Erstellen Sie ein paar wegwerfende Nebenprojekte!
Denken Sie an ein paar Projektideen. 5 Projektideen, damit Sie schneller programmieren können. 5 Projektideen, die Ihnen helfen, schneller programmieren zu lernen. Es gibt einige Möglichkeiten, die Lernkurve für die Programmierung zu vereinfachen. Machen Sie sich die Hände schmutzig und lernen Sie schneller mit Nebenprojekten, die Sie jederzeit beginnen können. Mit diesen fünf herumspielen. Lesen Sie mehr, das Sie implementieren möchten. Für absolute Neulinge können Sie ein Spiel von Tic-Tac-Toe oder Hangman in Betracht ziehen. Für erfahrene Programmierer, die versuchen, ein neues Framework zu erlernen, können Sie eine einfache mobile App oder ein Webspiel programmieren. Solange es Sie auf persönlicher Ebene interessiert, versuchen Sie es!
Die Schönheit dieses Ansatzes ist zweifach.
Erstens ist es wahrscheinlicher, dass Sie Ihre Aufmerksamkeit auf sich ziehen. Studien haben gezeigt, dass Schüler besser lernen, wenn sie Themen verfolgen können, die sie interessieren. Genau das bietet ein persönliches Projekt. Sie haben ein Endziel, das Sie tatsächlich erreichen möchten. Daher behalten Sie eher die Informationen, die Sie dorthin bringen.
Zweitens gibt es keinen Erfolgsdruck für Sie. Der Erfolg wäre zwar schön, aber der Mangel an Formalität erlaubt es Ihnen, experimentell und kreativ zu sein. Sie werden unweigerlich auf Probleme stoßen, aber es ist mehr ein Spiel mit Lego als mit Hausaufgaben. Es macht mehr Spaß und ist nicht so anstrengend.
Alles entspannen & bookmarken
Die Wahrheit ist, dass sich kein Programmierer daran erinnert alles sie haben gelernt Selbst wenn Sie eine Zeitlang mit einer bestimmten Bibliothek oder einem bestimmten Framework gearbeitet haben, ist es nicht ungewöhnlich, wenn Sie sich nicht jede Funktion oder Variable aus Ihrem Kopf merken können.
In der Tat könnte der Versuch, alles auswendig zu lernen, nur eine große Verschwendung von Zeit und Mühe sein. Referenzblätter existieren aus einem bestimmten Grund. Warum sollten Sie eine ganze Enzyklopädie in den Speicher legen, wenn Sie sie einfach aufklappen können, wann immer Sie sie benötigen?
Wann also auswendig lernen und wann referenzieren?
Wenn es sich um konzeptionelles Material handelt, verinnerlichen Sie es immer nach besten Kräften. Damit meine ich die Theorie verstehen, auch wenn Sie sie nicht in tatsächlichen Code umwandeln können (und die Theorie sollte Ihnen klar genug sein, damit Sie sie klar lehren können)..
Für alles andere - wie bestimmte Funktionsnamen, Parameterlisten oder sogar Sprachfehler - Ich würde mir keine Sorgen machen, mich zu erinnern. Fühlen Sie sich frei, um zu einem Referenzblatt zu wechseln. Manchmal beziehen Sie sich so oft auf etwas, dass Sie es auswendig lernen. Wenn das passiert, gut. Wenn nicht, ist das auch gut.
Persönlich habe ich hunderte Internet-Lesezeichen für verschiedene APIs, Anleitungen und Tutorials. Wenn ich einen Pfadfindungsalgorithmus implementieren muss, verweise ich möglicherweise auf einen Leitfaden, der mir hilft, ihn zu codieren, bevor ich ihn wieder vergesse. Es hilft, die zugrundeliegenden Konzepte zu verstehen, aber ich versuche mich nicht mit Implementierungsdetails zu beschäftigen.
Abschließende Gedanken
Ich werde es eine Million Mal wiederholen, wenn ich: Programmierung ist schwer und es ist in Ordnung, wenn Sie sich damit abmühen. Ich programmiere seit über einem Jahrzehnt als Hobby und bin immer noch eingeschüchtert, wenn ich neue Konzepte zu lernen habe.
Verprügeln Sie sich nicht, wenn Sie sich nicht sofort an alles erinnern können. Die oben genannten Tipps sind hoffentlich hilfreich für Sie, und selbst wenn dies nicht der Fall ist, können Sie sich auf Lesezeichen mit Referenzen als letzten Ausweg verlassen.
Findest du die Programmierung schwierig? Welche Tricks und Tipps wissen Sie, die für Einsteiger hilfreich sein könnten? Teilen Sie uns Ihre Weisheit in den Kommentaren unten mit!
Bildnachweise: Binärer Programmierer über Shutterstock, Speicher-Radiergummi über Shutterstock, verschleierter Code über Shutterstock, Rubber Ducky über Shutterstock, Keyboard Typist über Shutterstock, PHP-Quellcode über Shutterstock, Dateiordner über Shutterstock
Erfahren Sie mehr über: Programmierung.