„Programmieren ist nicht schwierig – es ist schwierig, dabei nicht enttäuscht zu werden“ / Sudo Null IT News

Als Kind hatte ich ein Mattel Auto Race, eine Handheld-Spielekonsole mit einem eingebauten roten LED-Bildschirm, Bedienelementen, einem Spiel und Lautsprechern. Aus irgendeinem Grund erinnerte ich mich eines Tages daran und beschloss am Samstagabend, eine Version des Spiels mit p5.js zu erstellen. Am Anfang lief alles gut: Ich arbeitete an den entgegenkommenden Autos und der Logik zum Erstellen und Löschen von Autos. Dann entschied ich mich, das Spiel ein wenig schwieriger zu machen, indem ich dem Auto-Spawning-Prozess ein wenig Zufälligkeit hinzufügte.

Da stieß ich auf Probleme. Irgendetwas stimmte mit der Art und Weise nicht, wie ich das Timing verwaltete – ich konnte die Autos auf keinen Fall in der gewünschten Reihenfolge erscheinen lassen. Nachdem ich mit verschiedenen Optionen herumgespielt hatte, verstand ich immer noch nicht, was falsch war, und war enttäuscht. 2 Tage sind vergangen und ich kann immer noch nicht zum Projekt zurückkehren, um keinen Ärger und kein Gefühl der Enttäuschung zu erleben.

Aber es stellte sich heraus, dass es so sein sollte.

Hinweis und Haftungsausschluss. Ich bin kein Übersetzer, daher ist die Übersetzung kostenlos, ich entschuldige mich im Voraus.

Wie habe ich das Spiel nicht beendet?

Als Kind hatte ich ein Mattel Auto Race, eine Handheld-Spielekonsole mit eingebautem rotem LED-Bildschirm, Steuerung, Spiel und Lautsprechern. Spielkonsole für ein Spiel.

Im Spiel fährst du ein Auto – ein helles LED-Licht – über den Bildschirm und versuchst, anderen Autos auszuweichen. In den späten 70er Jahren war es der Höhepunkt der digitalen Unterhaltung.

http://www.warpedfactor.com/2015/09/video-game-firsts-mattel-auto-race.htmlhttp://www.warpedfactor.com/2015/09/video-game-firsts-mattel-auto-race.html

Aus irgendeinem Grund dachte ich eines Wochenendes darüber nach, und an einem Samstagabend beschloss ich, eine Version davon mit zu erstellen p5.js – Javascript-Bibliothek zum Erstellen interaktiver Schmuckstücke.

Am Anfang lief alles gut: Ich verbrachte eine Stunde damit, die Spielleinwand, die Klasse zum Darstellen entgegenkommender Autos und die Logik zum Erstellen und Löschen von Autos zu erstellen. Ich entschied mich dann, das Spiel etwas schwieriger zu machen, indem ich mehrere Autos zu unterschiedlichen, leicht zufälligen Zeiten spawnen ließ.

Da stieß ich auf Probleme. Irgendetwas stimmte mit der Art und Weise nicht, wie ich das Timing verwaltete – ich konnte die Autos auf keinen Fall in der gewünschten Reihenfolge erscheinen lassen. Nachdem ich mit verschiedenen Optionen herumgespielt hatte, verstand ich immer noch nicht, was falsch war, und war enttäuscht.

Es sind 2 Tage vergangen und ich bin immer noch nicht zu dem Projekt zurückgekehrt, weil ich Zweifel habe. Ich bin kein professioneller Entwickler, sondern nur ein Amateur, daher stoße ich oft an die Grenze meiner Fähigkeiten. Immer wenn ich an einem Projekt wie diesem arbeite, habe ich das vage Gefühl: “Verdammt, ich stehe wieder vor einem Problem, das ich nie herausfinden werde.”

Daher meide ich dieses Projekt, um keinen Ärger und keine Enttäuschung zu erleben.

Von Zeit zu Zeit, wenn jemand herausfindet, dass ich Schriftsteller und gleichzeitig Programmierer bin, fragen sie mich:

Ist Programmieren schwierig?

Und ich antworte meistens gleich.

„Schwierig“ ist das falsche Wort. Es ist nicht so, dass Programmieren schwer ist. Die Sache ist, dieser Prozess ist frustrierend.

Programmieren ist eine tägliche Frustration

Das wurde mir klar, als ich den Aufsatz las “Was sagt die Aussage „Programmieren ist schwer“ wirklich aus und über wen?“, was die Aussage „Programmieren ist schwierig“ in Frage stellt.

Wie der Autor Brett Becker betont, hören Sie oft von Pädagogen, Fachartikeln und Entwicklern selbst, dass Programmieren unglaublich schwierig ist. Aber wie Becker betont, gibt es keinen schlüssigen Beweis dafür, dass Programmieren schwieriger ist als Sonstiges komplexe Aktionen. Wir haben keine harten Daten, um zu zeigen, dass es schwieriger ist, ein guter Programmierer zu sein, als eine gute Krankenschwester, ein Anwalt oder ein guter Koch. Zum Teil, weil das Wort “schwer” ein mehrdeutiges Wort ist.

Becker vermutet, dass der Ruf des Programmierens eher im Bereich des Narzissmus und der kulturellen Konventionen liegt.

Ist Programmieren schwierig? Die verfügbaren Beweise sind nicht schlüssig und nicht vielfältig genug, um die Frage explizit zu beantworten. Warum wird so oft gesagt, dass es schwierig ist? Denn diese Behauptung ist schwer zu beweisen. Vielleicht ist es zu bequem, die Arbeit zu motivieren und zu rechtfertigen? Wollen viele Menschen das Programmieren bewusst oder unbewusst schwierig erscheinen lassen? Sind Tech-Unternehmen und Personalchefs auf das Image des Programmierens als hart und elitär angewiesen?

Ich bin einverstanden. Als ich mein Buch Coders schrieb, habe ich über 200 Programmierer interviewt, und oft sagten sie mir alle dasselbe: Programmieren sei nicht besonders schwierig, erforderte aber Akribie und Liebe zum Detail. Oft starrer als in vielen anderen Disziplinen.

Vor allem stellten sie fest, dass das Programmieren eine bestimmte Geisteshaltung erfordert:

Sehr hohe Toleranz gegenüber täglicher Frustration (Frustration).

Warum entsteht Enttäuschung?

Der Grund dafür ist, dass es beim Programmieren in den meisten Fällen nicht so sehr um das Erstellen von Code geht, sondern um das Debuggen.

Zum Beispiel:

  • Sie schreiben eine Funktion, testen sie und oft funktioniert sie nicht.

  • Sie haben einen Fehler gemacht, der von einem trivialen (ein vergessenes Semikolon) bis zu einem bedeutenderen (ein Fehler pro Einheit) reicht.

  • Ihre Funktion interagiert mit einer Bibliothek eines Drittanbieters, und Sie verstehen nicht wirklich, wie diese Softwarepakete tatsächlich funktionieren.

  • Oder vielleicht versuchen Sie, den Spaghetti-Code in einer riesigen Codebasis zu verstehen, die Legionen früherer Entwickler schlecht und jahrelang schlecht geschrieben haben.

In jedem Fall verbringen Programmierer viel Zeit damit, herauszufinden, wie Code funktioniert, anstatt ihn zu schreiben. Sie sehen sich Code voller Fehler an, fassen sich an den Kopf und versuchen, eine Krücke zu finden, die Vielleichtwird helfen.

Seit es Programmieren gibt, kämpfen Programmierer gegen Frustration. Wie ich in meinem Buch Coders geschrieben habe»

Im Juni 1949 Moritz Wilk wollte gerade die Treppe hinaufgehen, als ihm plötzlich dämmerte, dass “ein Großteil des Rests meines Lebens damit verbracht werden wird, Fehler in meinen eigenen Programmen zu finden” …

Was die Frustration beim Coden besonders unerträglich macht, ist, dass man nicht weiß, wie lange sie anhalten wird.

  • Vielleicht verstehen Sie den Fehler in ein paar Minuten.

  • Es kann ein oder zwei Stunden dauern.

  • Oder vielleicht vergehen Wochen oder Monate und Sie können den Fehler immer noch nicht herausfinden, also schreiben Sie ihn einfach als Ausnahme auf und vergessen ihn.

Wenn mich also Leute fragen: „Hey, kann ich Programmieren lernen?“, sage ich: „Natürlich. Fast jeder kann.”

Solange Sie mit der anhaltenden Enttäuschung zufrieden sind.

Anmerkung des “Übersetzers”

Clive Thompson (Clive Thompson) ist Autor der Bücher „Coders“ und „Smarter Than You Think“, schreibt über Technologie, Wissenschaft, Kultur und Programmierung. Die Hauptidee seines Artikels:

Zu lernen, Frustration zu tolerieren, ist ein wichtiger Teil des Erlernens des Programmierens.

Ich habe mehrmals versucht, mich dem Programmieren anzunähern, wenn ich das so sagen darf. Zuerst war es das Layout – ich habe HTML, CSS studiert, mit JS gepufft und versucht, das Senden von Daten aus dem Formular in PHP einzurichten. Dann gab es viele Versuche, Python, Ruby, C++ zu lernen oder ins Testing zu wechseln. Sie müssen nicht über Theorie sprechen – ich lese immer noch Dutzende von Artikeln zu verschiedenen Themen, angefangen damit, wie jemand ein automatisches Tomatenbewässerungssystem auf einem Raspberry Pi eingerichtet hat, und endend mit der Funktionsweise eines Hypervisors.

Aber ich wurde nie Entwickler und drehte mich einfach irgendwo herum, wie Russells Teekanne im Orbit.

Wenn du Code schreibst (wenn ich überhaupt etwas schreiben könnte, das wie Code aussieht), ist es cool: „Oooh, ich schreibe Code, Mama, ich bin Programmierer.“ Aber dann geht bestimmt etwas schief. Ich bin bereit für Probleme: Hier ist ein Fehler, ich habe gegoogelt, welche Art von Tier, ich habe mich entschieden. Aber wenn sie nicht enden und ich nicht verstehe, wie ich sie lösen soll, sondern was ich wissen muss, um einen Fehler überhaupt zu erkennen, ist das deprimierend.

Nachdem ich diesen Artikel gelesen hatte, dessen Übersetzung ich beigefügt habe, wurde mir klar, was mit mir los war und warum ich es nicht geschafft habe und kein Entwickler werden kann – ich kann einfach nicht so stur sein, dass ich neue Unbekannte löse Aufgaben jedes Mal und nicht ausbrennen.

Also sitze ich einfach an der Seitenlinie und beobachte, wie die Leute es tun, und bewundere ihre Fähigkeiten.

Ich empfehle einen weiteren Übersetzungsartikel Forschung darüber, wie das Gehirn Hypothesen über die Welt um uns herum aufstellt, noch bevor es echte Daten erhält. Wenn Sie die Artikel miteinander kombinieren, stellt sich heraus, dass das Gehirn bei einer bestimmten Anzahl von Fehlern einfach vorhersagt, dass sie konstant sein werden, und es keinen Sinn macht, weiter zu programmieren.

Similar Posts

Leave a Reply

Your email address will not be published.