Kann Code lesen, tut sich aber schwer, ihn zu schreiben

22

Ich hatte vor kurzem meine erste Programmierprüfung ... und nun, ich habe sie so ziemlich abgelehnt. Hat sich überhaupt nicht gut gemacht. Ich kann nur mich selbst beschuldigen, da ich außerhalb der College-Zeit so ziemlich nichts getan habe.

Jetzt, nahe der Sommerzeit, habe ich eine weitere und ich lasse nicht zu, dass dies wieder vorkommt. Seit ein paar Wochen lese, lese und lese ich noch mehr. Ich gehe immer wieder die älteren Dinge durch, die ich verpasst habe, und die neueren Dinge, die wir tun. Ich kann also offensichtlich einen großen Unterschied in meinem Sprachverständnis feststellen. Aber das war es auch schon. Ich kann den Code lesen und habe jetzt eine Vorstellung davon, was im Code vor sich geht ... aber wenn ich den Code selbst schreibe, bin ich einfach ahnungslos. Es ist, als wüsste ich nie, wie ich vorgehen soll, und kann die Fragen nie wirklich vollständig nachvollziehen.

Ich habe jeden Tag eine ganze Menge gelesen (in den letzten Monaten ungefähr 5-6 Stunden) ... Aber wenn ich meine IDE öffne, fühle ich mich immer zum Scheitern verurteilt, es ist wirklich demotivierend. Vor allem, weil ich Kenntnisse über Knoten, Listen, Arraylisten, Schnittstellen usw. habe, sie aber nicht nur auf einer Seite lesen kann, auf der es darum geht. Ich kann genau auf alles hinweisen, was in einem Programm vor sich geht, also finde ich es gut, einen Presample-Code zu kommentieren ... aber meinen eigenen Code zu schreiben, ist eine andere Geschichte.

user3339333
quelle
8
Es hilft, ein Ziel zu haben. Wenn Sie beispielsweise ein Spiel erstellen möchten, können Sie ein Framework oder eine Bibliothek herunterladen und einführende Tutorials befolgen. Wenn etwas weniger komplex ist, können Sie zunächst nach Beispielen für diese Programme suchen, sie dekonstruieren und sie an Ihre Bedürfnisse oder Interessen anpassen.
Kai Qing
10
Weniger lesen und mehr programmieren. Finde einfache Projekte und mache sie. Mach dir keine Sorgen, dass du es perfekt machst, lass sie einfach tun, was sie tun sollen. Dann überlegen Sie, wie Sie es besser machen können.
Philipp
1
Seit ein paar Wochen lese, lese und lese ich noch mehr. - Lesen ist ein Anfang, eigentlich ist das Codieren viel besser. Versuchen Sie, ein Programm in Pseudocode auf Papier zu schreiben, und übersetzen Sie es dann in Java. Es ist ein bisschen einfacher, wenn Sie bereits wissen, was Sie tun müssen.
Andreas
1
Ich fand diesen Artikel sehr interessant, als ich versuchte herauszufinden, wie man programmiert und anderen die Grundlagen des Programmierens beibringt: The Camel has Two Humps . Manche Leute bekommen es einfach sofort, andere werden es nie - aber die meisten von uns können es lernen. Wenn Sie Code lesen und verstehen können, haben Sie einen guten Start :)
brichins

Antworten:

45

Sie lernen, wie man Programme schreibt, indem Sie Programme schreiben.

Aber du musst klein anfangen, Mann.

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}  

Von dort aus beginnen zu bauen ...

public class HelloWorld {
    static String test = "This is a test";

    public static void main(String[] args) {
        System.out.println(test);
    }
}

und dann...

public class HelloClass {
    String test;

    public void setTest(String str)
    {
        test = str;
    }  

    public String getTest()
    {
        return test;
    }
}

public class HelloWorld {
    HelloClass myHelloInstance;

    public static void main(String[] args) {
        myHelloInstance = new HelloClass();
        myHelloInstance.SetTest("Hello World.")
        String myResult = myHelloInstance.getTest();
        System.out.println(myResult);
    }
}  

... und so weiter. Sobald Sie die Grundlagen der Funktionsweise von Objekten verstanden haben, ist es viel einfacher, größere Programme zu schreiben.

Robert Harvey
quelle
8
Ihr zweites Beispiel kann möglicherweise nicht kompiliert werden, da Sie in einem statischen Kontext auf eine nicht statische Variable zugreifen.
Brandon
34
@Brandon: dann ist es eine schöne und frühe Debugging-Übung.
Bryan Boettcher
So lernt wohl jeder, zu programmieren, oder sollte es lernen, zu programmieren.
Mrudult
1
Umarme deine innere Nike und "mach es einfach".
NotMe
15

Gute Frage! Es ist wichtig zu wissen, dass Sie mehrere Lernkurven zum Klettern haben. Nur damit Sie nicht glauben, dass Sie nur eine Programmiersprache lernen. Du machst ziemlich viel mehr als das.

Sie lernen über ...

  1. Die Tools , die Sie zum Schreiben von Code verwenden. Ihre Entwicklungsumgebung, der Editor, der Debugger, Ihr Compiler. Für all diese Tools gibt es Handbücher und Hilfedateien. Schauen Sie sich diese an. Je besser Sie die Tools kennen, desto einfacher ist es, Code zu erstellen.
  2. Die Syntax der zu untersuchenden Programmiersprache. Nach Ihrem Beitrag scheint es, als würden Sie hier einen großen Schwerpunkt setzen, und das müssen Sie auf jeden Fall.
  3. Lösungsdesign-Fähigkeiten . So stellen Sie einen nützlichen, wartbaren Code zusammen. Dies ist der Muskel, den Sie aufbauen müssen. Wie andere Plakate gezeigt haben, lernen Sie, indem Sie tun.

Ich vermute, dass es Punkt drei ist, an dem Sie Probleme haben. Sie lernen, wie man Dinge in Code sagt (Syntax), aber Sie fragen uns wirklich, was ich in Code sagen soll. Gibt es einen richtigen und einen falschen Weg, um Dinge zu tun?

Ich würde vorschlagen, dass Sie sich einer Herausforderung stellen. Schauen Sie sich das Folgende als Übung an.

http://en.wikipedia.org/wiki/Eight_queens_puzzle

Das ist eine schwierige Herausforderung. Sie müssen acht Damen auf ein Schachbrett legen, damit jede der Damen voreinander sicher ist.

Als Anfänger kann dies eine Übererfüllung sein. Sie können sich dieses Problem jedoch ansehen und lernen, wie man Code schreibt.

Hier ist eine Strategie zum Ausprobieren ...

  1. Wiederholen Sie das Problem, um viel einfacher zu sein als das angegebene Problem, das gelöst werden soll . Vergiss die acht Königinnen. Konzentriere dich nur auf einen. Erfahren Sie, wie Sie den Code schreiben, um ein Schachbrett im Speicher darzustellen, eine einzelne Dame auf dieses Brett setzen und ihn dann dem Benutzer auf dem Bildschirm nur in Textform anzeigen.

  2. Sobald Sie einen Stich in Schritt 1 gemacht haben, platzieren Sie zwei Königinnen so, dass beide sicher sind.

  3. Versuchen Sie schließlich, mehr als zwei Damen auf dem Brett zu platzieren, damit sie alle sicher sind.

Die obigen Schritte sind eine Weiterentwicklung einer Entwurfsstrategie, die als schrittweise Verfeinerung bezeichnet wird. Es ist ein bisschen altmodisch in Bezug auf Design, aber es bringt Sie in kürzester Zeit von einem leeren Bildschirm zu einem interessanten Code.

Es gibt andere Design- und Implementierungsstrategien: Testgetriebenes Design, objektorientiertes Design und Designmuster, um nur einige zu nennen.

Mit der Zeit werden Sie diese Strategien zum Arsenal hinzufügen und sie nach Bedarf anwenden. Je mehr Designstrategien Sie lernen und üben, desto einfacher wird es.

Möge die Quelle mit dir sein.

rauben
quelle
Inwiefern unterscheidet sich OO Design von Design Patterns? Oder setzt du die beiden zusammen?
Pierre Arlaud
1
Stepwise Refinement und OO schließen sich ebenfalls nicht aus, aber das wissen Sie wahrscheinlich. Möge die Quelle mit dir sein. +1
Gusdor
15

Ein kurzes Vorwort

Learn By Doing: Wissen versus Know-how

Es gibt einen großen Unterschied zwischen Wissen und Know-how. Es ist ein häufiger Fehler für neue Lernende, zu denken, dass sie die Gründe für das Schreiben des Programms so verstehen, wie es ist, weil sie ein Programm "verstehen" können, während sie es lesen.

Und der einzige Weg, um zu diesem zweiten Teil zu gelangen, ist das Üben. Setzen Sie sich, öffnen Sie einen Texteditor, eine Befehlszeile und rufen Sie diese auf.

Programmieren im Kleinen

Es ist wahrscheinlich (und zu erwarten), dass Sie zu diesem Zeitpunkt nur begrenzt verstehen können, wie mehrere komplexe Softwarekomponenten miteinander interagieren. Und es ist eigentlich eine gute Sache, denn es zwingt Sie, von den Grundlagen auszugehen. Springen Sie nicht mit der Waffe und bewegen Sie sich im richtigen Tempo: Beginnen Sie mit kleinen Übungen für kleine Aufgaben.

Um ehrlich zu sein, war ich noch nie davon überzeugt, dass der Einstieg in das Programmieren mit Java der richtige Weg ist. Es ist an sich zu komplex, um Ihnen den Einstieg zu erleichtern, und die meisten Java-Bücher werden ziemlich entmutigend erscheinen. Trotzdem ist es mit Sicherheit möglich (zumindest für einige Bereiche des globalen Wissens, das wir von Programmierern erwarten), solange Sie sich darauf beschränken, Schritt für Schritt zu lernen.

Bücher

Da Sie auf Java eingestellt sind und ein anständiges Java-Buch benötigen, würde ich Folgendes empfehlen:

  • In Java denken . Es ist in Ordnung, obwohl jetzt etwas veraltet.
  • Das Java-Tutorial . Es ist nicht gerade der beste Begleiter für Lernende, aber eine großartige Referenz, die Sie zur Hand haben sollten, da sie alle Grundlagen abdeckt und Beispiele liefert. Das Erlernen der Programmiersprache Java Trail sollte wahrscheinlich auf Ihrer Leseliste sein, obwohl ich glaube , es wäre für Anfänger entmutigend sein , wie es Konzepte der zunächst zu erfassen hart sein kann.
  • Effektives Java . Es ist kein großartiges Lernbuch, aber auch eine großartige Referenz, die Sie für später zur Hand haben sollten. Nicht in einer Sitzung zu lesen, sondern in mundgerechten Stücken.

Ich erwähne das nur, weil ich nicht weiß, was du im Unterricht verwendest. Es gibt eine Menge anderer Bücher. Einige sind gut. Einige werden die Schüler für Jahre lähmen.


Ihr Lernprozess

Der grundlegende Workflow

Ab sofort rate ich Ihnen, diesen zweistufigen Prozess für alle Übungen und Codebeispiele zu befolgen, die Sie im Unterricht gesehen haben:

  1. Lese und lerne
    1. Lies die Übungen
    2. Stellen Sie sicher, dass Sie sie verstanden haben
  2. Code
    1. schliesse das Buch
    2. Setzen Sie sich mit diesem Code-Editor und der Befehlszeile vor einen Computer
    3. Versuchen Sie, das Programm selbst neu zu schreiben

Im Falle eines Ausfalls

Wenn Sie versagen und das Gefühl haben, einen Blick in das Buch werfen zu müssen, ist es wahrscheinlich, dass Sie eines der folgenden Probleme haben:

  • (höchstwahrscheinlich), dass Sie die Lösung nicht verstanden haben,
  • (weniger wahrscheinlich), dass Sie vergessen haben, wie ein bestimmtes Teil der Lösung aussieht: Syntax, API-Verwendung, ...

Die erste Ursache ist wahrscheinlich, was Sie am häufigsten konfrontiert sind. Der zweite ist anekdotisch. Beides wird durch wiederkehrende Praxis angesprochen.

Wenn Sie eines dieser frühen Beispiele nicht umsetzen können, lesen Sie das Buch erneut und schließen Sie es dann erneut. Code nicht beim Betrachten des Buches. Ich würde sogar raten, dass Sie Ihre gesamte Lösung löschen und von vorne beginnen. Die Wiederholung ist ein lästiger, aber wichtiger Teil des Lernprozesses.

Nimm das nicht leicht. Jedes Mal, wenn Sie den Drang verspüren, sich zu sagen "Ja, ok, ich weiß das" oder "Ich bin zu 90% da, es ist fast so gut wie erledigt" und möchten zu einem anderen Abschnitt springen, diesen Drang bekämpfen und von vorne beginnen. Es ist sehr schwierig, die Ehrlichkeit zu haben, sich eingestehen zu müssen, dass Sie ein Konzept nicht vollständig verstanden haben.

Randbemerkung: Ich halte es für einen großen Nachteil, dass die meisten Schulprogramme jetzt versuchen, die Kurse zu "kicken", indem sie die Dinge zu sehr beschwichtigen und den Schülern zu fortschrittliche Werkzeuge zur Verfügung stellen Auswendig Dinge, die später in Ihrer Karriere durch Ihre Tools automatisiert werden und an die Sie sich manchmal sogar kaum erinnern werden. Es soll dir alle Teile beibringen, die herumschweben.

Im Erfolgsfall: Gehen Sie weiter!

Wenn Sie Ihre Übung erfolgreich durchführen können, müssen Sie nicht direkt zur nächsten springen. Versuchen Sie zu sehen, was Sie tun können, um das zu verbessern. Können Sie die angeforderte Ausgabe ändern? Ein kleines Feature hinzufügen? Eine Option? Versuchen Sie es, da Sie sich jetzt in der Spaßzone befinden, in der Sie die Hauptschwierigkeiten überwunden haben, und diese selbst auferlegten kleinen Anforderungen Ihre Stimmung mit größerer Wahrscheinlichkeit ein wenig aufrechterhalten.

Gehen Sie jedoch nicht zu weit: Sie müssen das Alphabet nicht drucken und umkehren, um es plötzlich auf einer Diagonale mit einem Farbverlauf auf dem Bildschirm erscheinen zu lassen. Mach kleine Schritte. Lernen ist ein langer und sich wiederholender Prozess, und Sie müssen Probleme mit zunehmendem Schwierigkeitsgrad angehen (siehe zum Beispiel, wie ich normalerweise daran denke , Rekursionen zu erklären ).


Es ist nur Lernen - Ein Vergleich

Ihr Problem hängt eigentlich überhaupt nicht mit der Programmierung zusammen. Es ist dasselbe Problem, auf das Tausende von Menschen stoßen, wenn sie versuchen, Mathematik zu lernen.

Wenn Sie ihnen ein Problem geben, sehen sie nicht, wie sie sich zur Lösung durcharbeiten sollen. Wenn Sie jedoch die Lösung für sie aufschreiben, werden die meisten das verstehen und denken: "Verdammt, das war so einfach!". Sie werden ihnen jedoch ein ähnliches Problem mit unterschiedlichen Maßen und Hypothesen geben und sie werden es nicht lösen können: Sie haben die Logik dahinter nicht verstanden und sie brauchen Übung, um es selbst tun zu können.

Beachten Sie, dass dies ein häufiges Problem in der Mathematik ist, aber meiner Meinung nach ist es in vielen anderen Bereichen zu beobachten, in denen Logik erforderlich ist: Erlernen von Solfege, Sprachgrammatik, Physik usw. Und es liegt nicht an einer "natürlichen" Fähigkeit Um diese Dinge zu verstehen: Es kommt nur auf die Praxis an (sei es in diesem Bereich oder in anderen Bereichen, die den Einzelnen dazu bringen, Konzepte auf diesem Gebiet leichter zu verstehen).

Es gibt keinen Grund, warum Sie nicht lernen können, Code zu schreiben. Sie müssen es einfach weiter versuchen, bis Sie dieses "ah ah!" / Eureka-Moment. Fahren Sie dann mit dem nächsten, schwierigeren Problem fort.


Diese können auch (später) helfen:

Haylem
quelle
6

Ich weiß, das ist nicht die Antwort, die Sie hören wollen, aber: Schreiben Sie mehr Code!

Untersuchen Sie genauer den Code, den Sie verstehen. Es hilft mir oft, es ins normale Englisch zu "übersetzen" (da ich ein relativer Anfänger bin).

Haben Sie keine Angst davor, Ihre Idee, zuerst einen Code zu schreiben (z. B. "Ich möchte hier eine Variable deklarieren, dieses Segment durchlaufen usw."), zu überdenken und dann Stück für Stück nachzuschlagen, wie diese verschiedenen Segmente zu tun sind.

Denken Sie daran, dass das Codieren weniger wie eine Übung zum Auswendiglernen ist, als dass Sie einen Weg finden, etwas aus Bausteinen zu konstruieren. Ähnlich wie beim Erlernen einer Fremdsprache steht das Verständnis an erster Stelle. Dies ist ein gutes Zeichen dafür, dass Sie auf einem guten Weg sind.

Glauben Sie nur, je mehr Sie Code schreiben und lesen, desto sinnvoller wird es.

Xelad1
quelle
5

Wie andere gesagt haben, ist dies ein Fall, in dem Sie üben, üben, üben müssen.

Schreiben Sie eine Reihe kleiner Programme, die nur ein Problem lösen

Manchmal ist es das Schwierigste, etwas zu finden, das es wert ist, programmiert zu werden. Wenn Sie können, versuchen Sie, in einem Thema zu arbeiten, mit dem Sie Ihrer Meinung nach zu kämpfen haben - wie Klassen, Vererbung usw.

  • Generieren Sie 1000 Zufallszahlen und fügen Sie sie in eine Sammlung (Warteschlange, Liste usw.) ein. Sortieren Sie die Sammlung, ohne die bereitgestellten Methoden zu verwenden, die die Sammlung für Sie sortieren.
  • Zählen Sie 10 Personen auf, die Sie kennen. Sortieren Sie zuerst ihre Namen nach Vornamen und zeigen Sie sie an. Sortieren Sie dann ihre Namen anhand ihrer Nachnamen und zeigen Sie sie an. Sortieren Sie sie dann nach dem Muster "last, first" (dh Smith, Andrew wäre vor Smith, Jessica).
  • Finde alle Primzahlen zwischen 1 und 100.
  • (Vererbung) Erstellen Sie eine Polygon-Klasse und geben Sie ihr die Funktion GetArea. Lassen Sie nun die Klassen Triangle und Rectangle von Polygon erben und stellen Sie sicher, dass sie GetArea implementieren. Führen Sie dies für Polygone höherer Ordnung (Fünfeck, Sechseck usw.) aus.
  • Versuchen Sie, Dinge von der Code-Golf-Stack-Börse zu holen *

* Der Zweck von Code Golf besteht darin, die bereitgestellte Aufgabe mit der geringsten Anzahl von Zeichen, Bytes oder einer anderen in der Frage angegebenen Metrik auszuführen. Wenn Sie einige der Antworten lesen, werden Sie schnell die clevere Art und Weise zu schätzen wissen, wie Menschen diese Probleme lösen. Konzentrieren Sie sich nicht darauf, das Problem in den wenigsten Bytes zu lösen! Die Leute, die Code Golf posten, sind sehr erfahrene Programmierer. Einige der Fragen bieten jedoch einfache Aufgaben für sich.

Einige lustige Code Golf Beispiele:

  • Potenzen von 4 . Mach dir keine Sorgen über das Lösen mit einem Regex (es ist ziemlich schwierig, wie Sie an den Antworten sehen können). Lösen Sie stattdessen die Frage "Ist die Länge einer gegebenen Zeichenfolge durch eine Potenz von 4 teilbar?". Sie können auch Ableger machen: Ist die Länge einer Saite durch 4 teilbar? Ist es durch 6 teilbar? Ist es Prime?
  • Teilstrings . Mit einem String s werden alle möglichen Teilstrings ausgegeben.
  • Wortzählung . Dies kann schwierig sein, je nachdem, wie weit Sie in Ihrem Programmierstudium sind. Es gibt einige Dinge, die es sehr einfach machen (wie assoziative Sammlungen), aber wenn Sie diese Dinge nicht kennen, kann es schwierig sein.
  • Wenn der Titel für Sie kryptisch klingt, ignorieren Sie einfach die Frage. Wie gesagt, Code Golf ist für erfahrene Programmierer. Konzentrieren Sie sich einfach auf die einfachen Probleme und versuchen Sie, eine einfache Antwort zu finden.

Grundstruktur zur Lösung eines Problems:

Viele davon geben Ihnen eine gute Vorstellung davon, wie eine Funktion aussehen sollte. Wenn Sie X und Y angeben, sollte das Ergebnis Z sein:

void foo()
{
    // Set up X here

    // Do Y here

    // Display Z here
}

Um die Grundlagen zu erlernen und sich mit einer Sprache vertraut zu machen, ist die oben stehende Vorlage ausreichend. Eine objektorientiertere Vorlage wäre:

Z foo(input X)
{
    Z result;
    // Do Y to X
    return result;
}

Wenn es hilft, schreiben Sie es auch auf Papier. Sprechen Sie selbst darüber , wie Sie als Mensch dieses Problem lösen würden. Beispiel: Zeigen Sie die Zahlen i, j und k in absteigender Reihenfolge an. Als Person ist es einfach zu lösen. Der schwierige Teil besteht darin, Ihre Ideen in zeilenweise Anweisungen umzusetzen, damit ein Computer sie lösen kann.

Versuchen Sie auch, Ihre eigenen Ideen zu entwickeln. Es kann schwierig sein, aber selbst das einfachste Programm kann Ihnen etwas beibringen, was Sie nicht wissen. Der springende Punkt ist, sich mit den Grundlagen vertraut zu machen, bis sie zur zweiten Natur werden.

Shaz
quelle
4

Sie kommen nicht weiter, wenn Sie nur Code lesen. Sie müssen Code schreiben. Einfach Code schreiben. Mach dir keine Sorgen, wenn der Code, den du schreibst, Mist ist. Jeder hat Mistcode geschrieben. Manche Menschen leben davon. Niemand fängt an, guten Code zu schreiben, und ich bin der Meinung, dass es beim Lernen fast notwendig ist , schlechten Code zu schreiben, weil erst dann der Unterschied zwischen gutem und schlechtem Code wirklich offensichtlich wird.

Es ist schwer, den Unterschied zwischen gutem und schlechtem Code zu erkennen, wenn Sie zwei Codeblöcke lesen, die dasselbe tun. Wenn Sie jedoch ein Skript geschrieben haben und jemanden mit Kenntnissen darin beauftragen, es zu überprüfen und Feedback zu geben, wird der Unterschied häufig deutlicher, weil Sie können es direkt auf das anwenden, was Sie wissen.

Programmieren kann man nicht durch Auswendiglernen lernen. Es ist nicht wie Ihre Zeitpläne oder Daten in der Geschichte. Das Programmieren ist eine praktische Fähigkeit, die ständige Übung erfordert, um scharf zu bleiben. Programmieren lernen, ohne Code zu schreiben, ist wie Schwimmen lernen, indem man ein Buch liest.

Roy
quelle
1

Diese Frage hat bereits einige wirklich gute Antworten, aber es gibt ein paar Gedanken, die ich noch nicht gesehen habe.

Das Erlernen einer Programmiersprache ähnelt dem Erlernen einer „echten“ Sprache: Es ist immer viel einfacher zu lesen als zu schreiben, sei es ein einzelner Satz, eine wissenschaftliche Arbeit oder ein Buch. Beim Lesen kann man viel aus dem Kontext herausfinden, indem man den Text oder Code beim Lesen versteht. Wenn Sie ein Wort sehen, das Sie nicht kennen, kennen Sie vielleicht ein anderes Wort mit demselben Stamm. Wenn Sie eine Methode sehen, gibt Ihnen der Name der Methode eine gute Vorstellung davon, was sie tut. Beim Schreiben müssen Sie sich nicht nur die Syntax, sondern auch die tatsächlich zu verwendenden Wörter merken. Und das Gleiche gilt für die Programmierung.

Wie andere gesagt haben, können Sie nicht lernen , Programme nur durch Lesen von Programmen zu schreiben .

Fangen Sie klein an. Suchen Sie nach einem Java-Tutorial und führen Sie alle Einheiten nacheinander aus. Und wenn Sie sicher genug sind, wählen Sie ein kleines Projekt, um Ihre Fähigkeiten zu testen, vielleicht ein einfaches Spiel, das Sie gut kennen und das nicht zu viel GUI-Interaktion erfordert. Wenn Sie sich entschieden haben, öffnen Sie nicht einfach Ihre Sonnenfinsternis und starren Sie auf die "leere Seite". Erstellen Sie ein Storyboard. Sie müssen keine aufwändigen UML-Diagramme zeichnen, sondern nur darüber nachdenken, wie bestimmte Aspekte des Programms gelöst werden könnten - wie sich die Geschichte oder Ihre Argumentation sozusagen entwickelt. Und wenn Sie den Code schreiben, beginnen Sie mit einem groben Entwurf. Normalerweise schreibe ich viele Kommentare, in denen ich beschreibe, was das Programm in welcher Reihenfolge tun soll, und beginne dann, den eigentlichen Programmcode einzugeben.

tobias_k
quelle
1

Wie andere sagen, müssen Sie nur das Schreiben von Code üben. Damit dies funktioniert, müssen Sie sich mit der Lösung eines Problems herausfordern, sei es das Drucken vordefinierter Nachrichten, das Erstellen eines einfachen interaktiven Rechners oder das Lösen einer bestimmten Aufgabe.

Wenn Ihnen die Inspiration fehlt, bietet Project Euler eine Fülle von Mathe- / Programmierübungen mit zunehmendem Schwierigkeitsgrad. Sie geben Ihnen klare und herausfordernde Ziele, die Sie erreichen müssen, und sollen Ihnen dabei helfen, Programme komfortabler zu gestalten.

Emil Lundberg
quelle
1

Ich dachte nur, ich mische mich in dieses Thema ein, weil es wirklich in der Nähe von zu Hause ankommt.

Sie haben soeben müssen beginnen Codierung. Verstehen Sie mich nicht falsch, das Lesen ist großartig, aber was Ihnen wirklich vermittelt, dass das Arbeiten mit Programmierkenntnissen tatsächlich etwas aufbaut. Ich habe mehr aus einem einzelnen Sommerpraktikum gelernt als im Vorjahr, als ich darüber gelesen habe.

Ich sollte auch hinzufügen, dass Sie nicht einfach blind mit dem Codieren beginnen sollten . Mach ein Projekt für dich. Sie brauchen eine Richtung, in die Sie sich hineinversetzen, damit Sie wissen, was Sie machen wollen. Sie werden überrascht sein, wie viel Sie schnell lernen werden. Wenn Sie nur eine IDE öffnen und anfangen, einfache Beispiele für die Hallo-Welt zu erstellen, wird dieses demotivierende Gefühl schnell auf Sie zukommen. Finde etwas mit ein wenig Tiefe und bevor du es merkst, wirst du es erweitern.

SeanWM
quelle
Dies scheint alles wesentliche über hinzufügen , was bereits in früheren Antworten gepostet
gnat
@gnat Ich gehe davon aus, dass du "nicht" gemeint hast und das ist deine Meinung. Ich habe genau die Situation durchgemacht, in der er sich gerade befindet, und ich teile mit, was mir geholfen hat. Wenn Sie das Intro zu seiner Frage hier vergessen haben, ist es: "Könnten Sie Jungs irgendwelche Tipps geben ..."
SeanWM
@ SeanWM - Programmierer ist ein bisschen anders als das, was Sie mit SO gewohnt sind. Wenn etwas bereits gut beantwortet wurde, ist es nicht so konstruktiv, die gleichen Punkte in Ihrer eigenen Antwort zu wiederholen. Und das unabhängig davon, ob das OP nach Tipps oder Meinungen fragt. Es ist einfach nicht gut für Fragen und Antworten. Es ist besser, die vorhandene (n) Antwort (en) zu bewerten und möglicherweise einen konstruktiven Kommentar zu hinterlassen, der auf eine Facette hinweist, die übersehen wurde.
+1, diese Antwort fügt der Mischung etwas Wichtiges hinzu. Es ist wichtig, ein echtes Projekt zu haben, an dem man arbeiten kann, nicht nur Beispiele und kleine Testprogramme.
GroßmeisterB