Mein Vater ist ungeduldig mit meinem Lerntempo. Was mache ich? [geschlossen]

200

Also kaufte mein Vater mir vor ungefähr einem Monat 5 Bücher über Programmierung (C ++, Java, PHP, Javascript, Android). Er ist Architekt und er weiß NICHTS über Programmierung. Er hat sie mir gekauft, weil ich ihm gesagt habe, dass Programmieren Spaß macht und ich es lernen möchte.

Wie Sie vielleicht wissen, ist es nicht einfach, ein Kind (ich bin 14) zu sein und Programmieren aus langweiligen Büchern zu lernen. Ich werde immer abgelenkt. Ich habe ihm vorher gesagt, dass ich keine Bücher kaufen muss und ich mir nur Online-Tutorials ansehen kann. Aber nein, er ist so altmodisch. Er lässt mich nur die Bücher benutzen.

Vor kurzem hat er mich gefragt, was ich damit gemacht habe, und ich habe ihm ein C ++ - Programm gezeigt, das Ihre Eingaben verarbeitet und dann jedem Buchstaben Werte zuweist (A ist der erste Buchstabe im Alphabet, damit er den Wert erhält von 1) .. und so weiter. Es addiert dann alle Werte und sagt es Ihnen. Das Wort "add" hätte also einen Wert von 9.

^^ Das war für ihn nicht sehr beeindruckend. Er hat mich angeschrien und mir gesagt, dass ich nur herumgeschraubt habe. Das ist nicht wahr. Er ist extrem traditionell und eigensinnig und hört nichts, was ich zu sagen hatte. Was soll ich ihm sagen?

PS: Wenn Sie Tipps zum Einordnen in ein Buch haben, lassen Sie es mich wissen

EDIT: Vielen Dank an alle, Sie haben keine Ahnung, wie viel es bedeutet zu wissen, dass es einige Leute gibt, die meine Situation verstehen. Ich habe jeden gelesen und werde die Meinung aller berücksichtigen. ¡Gracias!

David
quelle
15
Kommentatoren : Kommentare dienen der Klarstellung und nicht der ausführlichen Diskussion. Wenn Sie eine Lösung haben, hinterlassen Sie eine Antwort. Wenn Ihre Lösung bereits veröffentlicht wurde, stimmen Sie sie bitte ab. Wenn Sie diese Frage mit anderen diskutieren möchten, verwenden Sie bitte den Chat . Weitere Informationen finden Sie in den FAQ .
7
Übrigens solltest du ihm diesen Thread zeigen. Es kann mit ihm weiter gehen, wenn er die Meinung eines professionellen Programmierers über Ihren Fortschritt sieht.
Collecter
15
@ David Das ist nicht traditionell, das ist ein schrecklicher Elternteil und eine egoistische Person. Zu diesem Zeitpunkt möchte er nicht, dass Sie tatsächlich Erfolg haben, oder er würde mit Ihnen in der Box sein. Er möchte wirklich nur der Vater eines erfolgreichen Kindes sein. Leider können Sie wenig dagegen tun, da es Ihr Vater ist und Sie nicht respektlos sein können. Was ich sagen würde, ist Grimasse und ertrage sie. Wenn es Zeit für das Undergrading ist, wähle eine weit entfernte Efeuliga aus.
Lee Louviere
15
Ich bin nicht überrascht, dass dies geschlossen wurde (es ist nicht zum Thema gehörend), aber es ist eine dieser Fragen, bei denen ich mir wünschte, wir hätten ein Tag / eine Flagge für "nicht zum Thema gehörend, aber trotzdem behalten". :)
Cyclops
12
Fragen Sie Ihren Vater, was er
vorhatte

Antworten:

197

Ich habe ihm ein von mir erstelltes C ++ - Programm gezeigt, das Ihre Eingaben aufnimmt und dann jedem Buchstaben Werte zuweist (A ist der erste Buchstabe im Alphabet, sodass er den Wert 1 erhält). Es addiert dann alle Werte und sagt es Ihnen. Das Wort "add" hätte also einen Wert von 9.

Ich weiß nicht, was du mit deinem Vater machen sollst. Aber:

Wenn Sie das in einem Monat von Grund auf selbst gemacht und aus Büchern gelernt haben , ist das verdammt beeindruckend. Und Sie haben es in C ++ gemacht, einer der gruseligsten Programmiersprachen, die es gibt.

Es gibt nicht wenige Leute, die Interviews führen und ernsthaft versuchen, Programmierjobs zu bekommen, die damit zu kämpfen hätten. Sehen Sie diese Geschichte.

Ich kann nur vorschlagen: Mach weiter, was dir Spaß macht. Ignoriere deinen Vater in diesem Zusammenhang. er weiß nicht wovon er spricht. Sie haben Programmiertalent und Lernbereitschaft - die Hauptzutaten, um ein großartiger Programmierer zu werden.

Joonas Pulakka
quelle
8
Ja, ich habe ehrgeizig gelernt (dieses spezielle Programm bereitete mir ungefähr 60 Kopfschmerzen).
David
8
@ David: Da er ein Architekt ist, ist es verständlich, dass es ihm wichtig ist, wie die Dinge aussehen . Aber wenn er nichts über Programmierung weiß, sollte er es nicht kritisieren. Die Grafik, das Erscheinungsbild und das Verhalten von Software sind nur die Spitze des Eisbergs .
Joonas Pulakka
12
Ernsthaft? "Fatbooth" verfügt über einige Algorithmen zur Bearbeitung von Grafiken, deren Erlernen und Beherrschen Jahre in Anspruch nimmt. Wenn Ihr Vater möchte, dass Sie die Gesichtserkennung beherrschen, hätte er ein Buch darüber kaufen sollen. Es mag einfach aussehen (weil es einfach zu bedienen ist), aber es ist schwieriger zu erreichen, als Sie denken, und Sie bekommen mehrere Sechzigerjahre Kopfschmerzen zusammen. Die Annahme, dass Anwendungen wie "Fatbooth" einfach zu erstellen sind, ist für Programmierer eine schwerwiegende (aber geheime) Beleidigung.
Spoike
121
+1 für verdammt beeindruckend . Es ist vor allem in Anbetracht, wo Sie herkommen. Ich schätze, Sie könnten Ihren Vater fragen, an wie vielen Gebäuden er überhaupt beteiligt war, geschweige denn, einen Monat nachdem er sein Handwerk von Grund auf gelernt hatte. Stellen Sie Dinge auf, mit denen er sich identifizieren kann.
ein Lebenslauf
13
@Joonas: Ganz zu schweigen davon, dass Grafikdesign, Benutzerfreundlichkeit und Oberflächendesign eigentlich alles Disziplinen sind, die im Allgemeinen sehr wenig mit Programmierung zu tun haben .
Toby
88

Zeige ihm diesen Beitrag von Peter Norvig. Norvig ist F & E-Leiter bei Google und unterrichtet in Stanford, insbesondere Künstliche Intelligenz. Er hat das Standard-Einführungsbuch über KI geschrieben. Wie lange arbeitest du schon daran? Ich würde nicht mehr erwarten als das nach einem Monat Arbeit von einem Anfänger ohne zusätzliche Anweisung, insbesondere mit etwas so Dornigem wie C ++. Alles, was es wert ist, gelernt zu werden, ist es wert, gut gelernt zu werden.

World Engineer
quelle
83
  1. Denken Sie daran, dass Ihr Vater wahrscheinlich denkt, dass Sie das klügste Kind der Welt sind und er versucht, Ihnen dabei zu helfen, etwas zu lernen, von dem Sie gesagt haben, dass es Ihnen gefällt.

  2. Wisse, dass dein Vater auch ein bisschen Recht hat, obwohl er zweifelsohne falsch liegt (fünf völlig verschiedene Themen sind eine Menge, die man einem Kind auf einmal antun muss). Viele Leute versuchen, die Programmierung zu übernehmen, indem sie "Tutorials" nachahmen, die sie im Web finden. Das ist nicht immer eine schlechte Sache, aber IMO führt es normalerweise nicht zu einem soliden Verständnis. Das richtige Buch wird Ihnen zuerst die Grundlagen beibringen. Das macht vielleicht nicht so viel Spaß wie das Befolgen von Tutorials, mit denen etwas Auffälliges erledigt wird, aber Ihre Chance auf langfristigen Erfolg steigt und die Anzahl der Fragen, die Sie auf stackoverflow.com stellen müssen, sinkt.

  3. Vergessen Sie zumindest vorerst alle Bücher bis auf eines. Es hört sich so an, als hättest du bereits mit C ++ angefangen, also mach mit, wenn es dir gefällt.

  4. Sie werden sich von Zeit zu Zeit entmutigt fühlen. Manchmal fühlt es sich so an, als würde die Hälfte des Programmierens hängen bleiben und die andere Hälfte bleibt hängen. Nicht weiterkommen ist eine wertvolle Fähigkeit, und je mehr Sie üben, desto besser wird es Ihnen gehen. (Es ist auch eine wertvolle Fähigkeit, zu vermeiden, überhaupt nicht hängen zu bleiben. Üben Sie das auch.)

  5. Das Erlernen Ihrer ersten Computersprache dient der Softwareentwicklung, das Zeichnenlernen dem Entwerfen eines Gebäudes. Es ist vielleicht nicht der interessanteste Teil, aber es ist eine erforderliche Fähigkeit.

  6. Wenn Sie ihn zum Zuhören bringen können, versuchen Sie, alle Dinge aufzuschlüsseln, die Sie lernen mussten, um Ihr kleines Programm zu schreiben. Es dauert einige Zeit, nur um zu lernen, wie man mit den Werkzeugen umgeht, und er versteht sicherlich nicht, wie das alles funktioniert.

  7. Nachdem Sie ein einfaches lauffähiges Programm haben und anscheinend ein bisschen C ++ gelernt haben, welche interessanten kleinen Programme können Sie jetzt schreiben? Wie wäre es mit einem Kreditrechner, der einen Zinssatz, einen Kreditbetrag und eine Kreditlaufzeit akzeptiert und einen Zahlungsplan druckt? Oder ein Taschenrechner, der eine Summenformel wie "H2SO4" oder "C6H12O6" liest und das Gewicht des Moleküls ausgibt? Das ist nicht viel komplizierter als das Programm, das Sie bereits geschrieben haben.

Caleb
quelle
47
+1 "Vergiss alles außer einem der Bücher"
PA.
9
+1 für tolle, praktische Ideen. Das Schwierigste beim Lernen ist oft, eine Idee für ein Projekt zu entwickeln, während Sie gleichzeitig mit neuen Informationen überhäuft werden.
Morgan Herlocker
5
+1 "Denken Sie daran, dass Ihr Vater ..." Schön, dass der Standpunkt seines Vaters dabei ist, auch wenn er Davids Enthusiasmus mit seiner eigenen Aufregung erstickt, um zu helfen.
John MacIntyre
7
Bilden Sie ein kleines Architekturproblemlösungs- / Kalkulationswerkzeug, indem Sie Ihren Vati mit einbeziehen!
Vaibhav Garg
3
+1 für den ersten Punkt. Ich finde es sehr wichtig, dass Eltern ihre Kinder als die klügsten der Welt ansehen. Ohne eine solche Einstellung hätte OP in einem Monat nicht so viel getan, da bin ich mir sicher. Es kann jedoch zu einem Overhead kommen, wenn OP so viele Kopfschmerzen verursacht.
Anton Strogonoff
53

Er hat sie mir gekauft, weil ich ihm gesagt habe, dass Programmieren Spaß macht und ich es lernen möchte. ... Was soll ich ihm sagen?

"Dad, deine Herangehensweise daran macht es absolut keinen Spaß , Programmieren zu lernen . Hör auf."

Blrfl
quelle
4
nicht der beste Rat. Dad möchte nicht auf diese Weise beantwortet werden
CyprUS
1
ja, aber wenn OP nur da sitzt und es nimmt, dann fühlt sich Papa so, als hätte er recht. sein Kind arbeitete schließlich nicht sehr hart. Das Kind muss irgendwann etwas sagen, damit sein Vater merkt, wie hart er arbeitet.
Kevin
1
@CyprUS Stimmt, aber ich schrecke jetzt bei dem Wort Robotik zusammen. Es war die Liebe meines Lebens vor einem Jahr. Ich hatte das Lego Mindstorms Kit, auf dem RobotC installiert war und so weiter. Liebte es, bis mein Vater einige "echte" Getriebe und Motoren bekam und mir sagte, ich solle etwas "Echtes" wie einen Roboterarm machen. Hassen Sie Robotik jetzt mit Leidenschaft.
Chandsie
48

Als Architekt muss er sicher an Ihrem Bein ziehen oder einfach unhöflich sein.

Fragen Sie ihn, wann er angefangen hat: Fragen Sie ihn, ob er Wolkenkratzer mit detaillierten Installationsplänen gezeichnet, die Kräfte und die Beanspruchung von Materialien berechnet und nach einem Monat, in dem er von einem Flugzeug mit Schlangen getroffen wurde, eine Katastrophenrisikobewertung durchgeführt hat Bücher, als er so jung war wie du. Vielleicht beruhigt ihn das.

Okay, vielleicht ist es nicht der beste Rat, den ich dir geben kann, um über deine Eltern zu sprechen. Ich kann verstehen, dass es ein bisschen anstrengend ist, einen Vater zu haben, der den Fortschritt bestraft, anstatt ihn zu ermutigen, als Kind, aber es als Ermutigung, es besser zu machen. Er mag ein Einstellungsproblem haben, aber das bedeutet nicht, dass er böse Absichten hat.

Spoike
quelle
44
Auch ein Ratschlag für Ihren Vater (der sich jedoch dem Rahmen der Frage entzieht ): Lassen Sie die Haltung von Gordon Ramsay fallen . Es funktioniert nur bei Hell's Kitchen, da die Teilnehmer erfahrene Erwachsene sind, die wissen müssen, wie man in seinem Restaurant kocht und Perfektion leistet, und Gordon gibt bei Fälligkeit Anerkennung. Wenn Sie dies Anfängern oder Kindern antun, werden sie nur davon abgehalten, das Üben zu lernen. Erwähnenswert ist, dass Ramsay in seiner anderen Fernsehserie schöner ist, da es nicht um seine eigene Sache geht.
Spoike
30

Ich wäre gespannt, welche Bücher Sie verwenden. Nicht alle von ihnen sind wirklich gut. Auch ist nicht jedes Buch für jeden geeignet.

Du hast dein Alter nicht angegeben, also gehe ich davon aus, dass du unter 18 bist. Ich habe angefangen zu lernen, als ich ungefähr 8 war.

Als Kind nutzte ich viele Ressourcen, um Programmieren zu lernen. Ich hatte die mit meinem TI 99 / 4A gelieferten Handbücher, die viele unterhaltsame Programme zum Zeichnen von Bildern und Animieren von Figuren enthielten. Das Internet war für mich nicht verfügbar, aber es gab sogar Computerzeitschriften für Kinder, mit Programmen, die ich eintippen und sofortiges Feedback erhalten konnte, und Artikeln darüber, wie man andere Arten von Herausforderungen lösen kann. Ich mochte sehr gern eine Spionageromanreihe, in der ich Programme eintippen und debuggen konnte, die Teil der Geschichte waren. Leider glaube ich nicht, dass es diese Art von Ressource noch gibt, aber es gibt einige Programmierbücher, die sich an jüngere Leute richten, wie das Hello World-Buch über Python und Land of Lisp (obwohl das auch Erwachsenen Spaß macht).

Ich weiß nicht, wie es Ihnen geht, aber es gab eine Zeit, in der ich einen ziemlichen Spaß daran hatte, Programme zu schreiben, die den von Ihnen beschriebenen Dingen sehr ähnlich waren. Schließlich ging ich zu fortgeschritteneren Dingen über. Ich habe ein paar mittelmäßige Spiele geschrieben, einige Demos, in denen verschiedene Sounds und Animationen als Reaktion auf Tastenanschläge abgespielt wurden, und einige Lernhilfen. Als ich ungefähr 10 oder 11 Jahre alt war, schrieb ich ein Programm, mit dem ich mir das Periodensystem der Elemente merken konnte, indem ich mich wiederholt fragte. (Zu der Zeit waren meine Memorationsfähigkeiten besser als jetzt, so dass ich beim ersten Mal fast so viel Zeit mit dem Eingeben der Daten verbracht habe wie beim Spielen des Quiz, aber es ging darum, Fortschritte zu erzielen.)

Ihr Vater kann es nicht erkennen, aber Bücher sind nur ein Teil des Prozesses, wenn Sie lernen, zu programmieren. Ein kleines Problem zu finden und herauszufinden, wie man es löst, ist die andere Hälfte der Gleichung. Die andere Hälfte besteht darin, ein Buch zu finden, das Sie ein wenig unterrichtet und Ihnen ermöglicht, dass etwas Spaß an der Maschine passiert. In meinem Fall haben mich Bücher mit Schwerpunkt Grafik und Animation überzeugt.

Als Kind waren meine Augen glasig, als ich Bücher über Sortieralgorithmen und komplexe Datenstrukturen las, bis ich genug gelernt hatte, um zu sehen, wie sie auf Probleme angewendet wurden, die mir wirklich am Herzen lagen. Nicht jedes Wort in den Büchern, die Sie lesen, wird Sie begeistern. Das ist okay. Sie werden das Zeug bekommen, wenn Sie es brauchen; Ein Problem, das Sie lösen möchten, wird Sie an die Technik erinnern, die Sie vor drei Wochen, drei Monaten oder drei Jahren für nicht interessant hielten, und Sie werden zurückgehen und es überprüfen und herausfinden.

Ein Monat ist keine sehr lange Zeit, um Programmieren zu lernen. Ich habe ungefähr 30 Jahre lang Code in der einen oder anderen Form geschrieben, auch in der Kindheit, und ich lerne jeden Tag etwas Neues. Ich bin mir ziemlich sicher, dass ich im ersten Monat, als ich meinen ersten Computer hatte, viel Zeit damit verbracht habe, Munch Man zu spielen und viel weniger Stunden damit verbracht habe, die Beispielprogramme in meinem Nachschlagewerk zu verstehen. Lerne in dem Tempo, das für dich funktioniert. Im Moment gibt es keinen Druck und das ist großartig.

"Herumschrauben" ist das, was Sie tun sollen, wenn Sie das Programmieren zum ersten Mal lernen. Hacker (die Art von Paul Graham) stöbern herum und versuchen zu verstehen, wie ihr System funktioniert, wie ihre Programmiersprache funktioniert, wie ihre Tools funktionieren. Sie versuchen etwas, Sie scheitern, Sie überdenken das Problem, mit dem Sie konfrontiert sind, und Sie versuchen etwas anderes, bis Sie etwas zum Laufen bringen. Mach dir nicht so viele Sorgen.

Wenn Ihr Vater nicht dieselben Bücher durchgearbeitet hat, versteht er wahrscheinlich nicht, wie viel Sie bisher gelernt haben. Ich würde nicht erwarten können, ein Haus oder einen Wolkenkratzer zu entwerfen, nachdem ich einen Monat lang ein Buch über Architektur gelesen habe, besonders als Teenager.

In den letzten vier Wochen habe ich an einigen esoterischen Ecken der Engine-Funktion des Ruby on Rails-Frameworks gearbeitet. Ab heute habe ich aus Anwendersicht endlich etwas zu zeigen. Ich habe in dieser Zeit eine Menge gelernt und eine Menge wichtigen Grundlagen-Code entwickelt, der ziemlich gut funktioniert, aber mein professionelles Äquivalent ist, den Benutzern zu erlauben, einige Dinge einzugeben und etwas anderes wieder herauszubekommen: Nicht so beeindruckend auf den ersten Blick für einen Gelegenheitsbenutzer , aber eine ganze Menge Arbeit steckt dahinter. Wenn mir jemand sagen würde, dass ich vier Wochen lang rumgeschraubt habe, wäre ich ziemlich enttäuscht, aber ich würde auch wissen, dass er nur das geringste Verständnis dafür hat, was dazu beigetragen hat, die Dinge so "einfach" zu machen.

JasonTrue
quelle
2
+1 für das Schneiden Ihrer Zähne auf dem TI 99 / 4A. Die gleiche Geschichte hat mir Spaß gemacht und die ersten Schritte waren viel zugänglicher (oder vielleicht schien es einfach so). Meine Tochter (10) zeigt ein Interesse daran, Programmieren zu lernen, und es fällt mir am schwersten, über einen spaßigen und doch iterativen Weg nachzudenken, wie sie anfangen kann. Vom Null-Wissen zum 1-Monats-OP und das, was Sie gesagt haben, zu tun, klingt direkt auf PAR.
Ominus
Ominus (und David), werfen Sie einen Blick auf Processing und dieses Buch von Manning: manning.com/pearson
JasonTrue
4
+1 für nicht alle Bücher sind gut. Meiner Erfahrung nach richten sich die meisten Bücher an Personen, die die Programmierung bereits verstehen. Es gibt nicht viele, die sich an Neuankömmlinge richten, aber ich würde dieses und / oder dieses empfehlen .
David
@ David danke für den Link. Habe heute Morgen das Buch für die Tochter bestellt.
Ominus
@ Jason: Er erwähnte, dass er ein Kind im Alter von 14 Jahren war.
CyprUS
19

Klingt so, als ob dein Vater in dieser Situation kein Mensch ist, der dir positive Verstärkung und Unterstützung bei dem gibt, was du tust. Einfache Lösung: Verwenden Sie ihn nicht dafür.

Mach deine eigenen Projekte und mach sie, weil sie Spaß machen, nicht weil er (oder jemand anderes) will, dass du sie machst. Suchen Sie sich etwas aus, das Ihnen Spaß macht. Sie müssen nicht die gesamte Sprache / Technologie aus einem Buch lernen. Beginnen Sie stattdessen einfach mit den Dingen zu basteln. Mit der Zeit werden Sie nach neuen Konzepten / Herausforderungen suchen. Und Sie werden Lust haben, die Bücher zu lesen, die Sie heute langweilig finden (oder zumindest bestimmte Abschnitte).

Wenn Sie einmal stecken bleiben und Hilfe beim Codieren benötigen, ist stackexchange eine großartige Ressource, wie Sie bereits herausgefunden haben.

DXM
quelle
16

Es klingt für mich, als hätte dein Vater eine Vorliebe für unrealistische Erwartungen, oder vielleicht hast du eine Vorgeschichte, Dinge anzufangen und nicht durchzuhalten, oder beides. Wichtig zu erkennen ist, dass nichts davon wirklich wichtig ist. Alles, was zählt, ist, dass Sie Spaß an dem haben, was Sie tun, und dass Sie es besser können.

Ich habe eine sehr schwierige Zeit mit Büchern, die mich nicht unterhalten, das habe ich immer. Ich lerne am besten, indem ich sehe, wie andere Dinge tun, Fragen stelle, wenn ich den Zweck von etwas nicht verstehe, und mich dann abmühe, bis ich es herausfinde. Das Kämpfen macht uns stärker und gibt uns das Eigentum an unseren möglichen Errungenschaften. Vielleicht ist es deshalb so verdammt schwierig, aus einer Gebärmutter herauszuklettern.

Das heißt, eines der schärfsten Werkzeuge in Ihrer Toolbox wird die Fähigkeit sein, offen zu bleiben, inmitten von Kritik produktiv zu arbeiten und Ratschläge basierend auf der Quelle nicht auszuschließen. Gute Programmbücher neigen dazu, Sie zu packen, zu inspirieren und zu erwarten, dass Sie zu ihnen zurückkehren, wenn Sie an eine Wand stoßen. Ohne sie werden Sie viele erstaunliche Dinge tun, ohne zunächst genau zu verstehen, was Sie tun. Das Programmieren ist eine sehr bewusste Kunst, daher empfehle ich Ihnen, Bücher zu suchen, die so geschrieben sind, dass sie leicht zu verdauen sind.

Ich programmiere seit einiger Zeit professionell und kann Ihnen sagen, dass meine Zufriedenheit wirklich meine eigene ist. Mein Chef versteht nicht ganz, warum die Dinge, die ich geschrieben habe, so toll sind. Meine Frau schläft ein, wenn ich ihr von meinem Tag erzähle und meine Freunde sich alle Mühe geben, mich nicht nach meinem Job zu fragen. Ich genieße meine Siege und die Gelegenheit, sie mit meinen Kollegen zu teilen. Dein Vater ist in diesem Fall keiner deiner Kollegen.

Mach weiter und verbessere dich weiter. Gewöhnen Sie sich daran, dass Nicht-Programmierer etwas visuell Eindrucksvolles sehen müssen, bevor sie beeindruckt werden. Warum versuchen Sie nicht Ihr Glück, so etwas wie einen Mandelbrot / Julia-Stromaggregat zu schreiben ? Das könnte ihm zeigen, nach welchen Fortschritten er sucht und ihn für eine Weile von Ihrem Fall abbringen. In zehn Jahren werden Sie etwas sehr Ähnliches tun, um einen nicht-technischen Manager von Ihrem Rücken zu bekommen, damit Sie echte Arbeit erledigen können.

Denken Sie daran, Sie tun es, weil Sie es genießen.

Tim Post
quelle
1
Hören Sie auf diesen Mann, er weiß, wovon er spricht;)
drxzcl
2
hehe, ich mag die Tatsache nicht, dass Nicht-Programmierer etwas visuell Beeindruckendes sehen müssen, bevor sie beeindruckt werden '. Das Schreiben eines Fraktalgenerators war eines meiner ersten Projekte in der Informatikschule. Und ich war selbst beeindruckt :)
Guillaume
Wahrscheinlich die beste Antwort in all diesem Thread ...
Venki
15

Es ist schwer zu sagen, ob diese Frage für das Elternforum oder das Programmierforum am besten geeignet ist. Ich befürchte, dass mein Rat nicht auf dem richtigen Weg ist, denn ich spüre, dass diese Frage möglicherweise viele "Probleme" mit der Vater-Sohn-Beziehung mit sich bringt.

Abgesehen davon möchte ich mich auf die großartige Gelegenheit konzentrieren, die sich für Sie und Ihren Vater bietet, um sich mit einem Thema zu befassen, für das Sie beide vielleicht eine gewisse Leidenschaft haben. Da ich selbst Vater bin und meinen eigenen Vater kenne, weiß ich, wie dringend wir möchten, dass unsere Kinder uns zuhören, unseren Anweisungen folgen und von uns lernen. Unsere Kinder werden oft dazu getrieben, das Gegenteil zu tun. Die Tatsache, dass Sie beide dieses gemeinsame Interesse teilen, ist wunderbar.

Väter können mit Sicherheit hartnäckig sein, aber ich denke immer noch, dass Sie die Möglichkeit haben, durch diese Übung Ihre eigene Individualität und Wahlfreiheit zu entfalten. Nicht aus Trotz, sondern aus eigenem Antrieb und Ehrgeiz, das Thema Programmieren gut zu kennen. Persönlich klingt es so, als hätte dich dein Vater in die Tiefe getrieben, wenn es um Programmierung geht. Zugegeben, es ist möglicherweise nicht MIPS Assembly Language oder LISP, aber dennoch C ++? Java? Huch. Ich liebe das Programmieren, aber das frühe Lesen könnte mich alle zusammen ausgeschaltet haben. Scherz. :)

Ich würde also fragen: Was inspiriert dich ? Was für Dinge möchtest du bauen? Beantworten Sie diese Frage und suchen Sie dann nach Ihren eigenen Büchern und Tutorials zu diesem Thema. Komm her und stelle Fragen. Baue etwas. Dann zeig deinem Vater, was du gebaut hast. Sagen Sie ihm, was Sie gelernt haben. Danke ihm, dass er so mit dir verlobt ist und sag ihm, dass du ihn schätzt. Ich sage das, weil es letztendlich darum geht. Er möchte etwas mit dir teilen, weil er dich liebt. Manchmal fällt es Vätern schwer, dies auf traditionelle Weise auszudrücken. Deshalb suchen wir diese indirekten Wege, um dasselbe zu sagen. Manchmal saugen wir daran, selbst das zu tun. Aber vergessen Sie nicht, dass bei alledem der Wunsch besteht, näher bei Ihnen zu sein.

Byrne Reese
quelle
15

Es scheint, dass noch niemand dies vorgeschlagen hat:

Vor kurzem hat er mich gefragt, was ich damit gemacht habe, und ich habe ihm ein C ++ - Programm gezeigt, das Ihre Eingaben verarbeitet und dann jedem Buchstaben Werte zuweist (A ist der erste Buchstabe im Alphabet, damit er den Wert erhält von 1) .. und so weiter. Es addiert dann alle Werte und sagt es Ihnen. Das Wort "add" hätte also einen Wert von 9.

^^ Das war für ihn nicht sehr beeindruckend. Er hat mich angeschrien und mir gesagt, dass ich nur herumgeschraubt habe. Das ist nicht wahr. Er ist extrem traditionell und eigensinnig und hört nichts, was ich zu sagen hatte. Was soll ich ihm sagen?

Wenn Sie darüber nachdenken, ist dieses Programm für jemanden, der Computer benutzt und nichts über Programmierung weiß, nicht sehr beeindruckend.

Zeigen Sie Ihrem Vater, wie Sie es geschafft haben. Führen Sie ihn durch den Quellcode. Er wird es wahrscheinlich (definitiv) nicht verstehen, aber es wird zeigen, wie viel Arbeit Sie in es gesteckt haben und wie viel Sie verstehen, und vielleicht wird er einen positiveren Eindruck davon bekommen, wie viel Sie tatsächlich erreicht haben.

benzado
quelle
3
Das hat mehr Anerkennung verdient als es bekommen hat. Eine gute, nicht konfrontative Lösung, die seinen Vater dazu bringen könnte, das Hobby seines Sohnes ein bisschen besser zu verstehen.
Fergus In London
@FergusMorrow Zustimmen. Diese Antwort bekam viel zu wenig Gegenstimmen.
Stommestack
12

Mach was du willst

Es ist dein Leben. Du kannst tun was immer du willst. Lass niemanden (auch deinen Vater) dein Leben kontrollieren.

Ich gehe davon aus, dass Sie mehr oder weniger Spaß am Programmieren haben und ein erfolgreicher Spezialist werden wollen (und Ihr Vater will, jeder will). Aber die Sache ist, Sie werden nie erfolgreich sein, wenn Sie nicht wissen, was Sie tun und es Ihnen nicht gefällt .

Es ist schwer, ein Feld zu meistern. Sie können dies nicht nur unter dem Einfluss von jemandem tun. Und niemand weiß, was Sie besser machen sollten als Sie . Sie möchten sich heute ausruhen und den ganzen Tag spielen? Das ist deine Entscheidung und du bist dafür verantwortlich. Sie sollten lernen, für Ihre Entscheidungen und Ihr Leben verantwortlich zu sein. Die Verantwortung für Ihre Entscheidungen ist für jeden erfolgreichen Spezialisten unerlässlich.

Also, was machst du in dieser Situation? Bleib stehen, hör niemandem zu und tu, was dir lohnenswert erscheint.

Anton Barkovsky
quelle
3
Das OP ist minderjährig (offenbar 14). Von seinen Eltern wird erwartet, dass sie sein Leben kontrollieren, und ein blindes Zurückschlagen für die nächsten vier Jahre wird höchstwahrscheinlich alle unglücklich machen.
Jwodder
1
@jwodder: Wenn diese Eltern das Gefühl haben, dass sie kontrollieren müssen, was ihr Junge in seiner Freizeit lernt , dann ist es vielleicht das Beste, was er anfängt, sich so schnell wie möglich zu wehren. Ich habe auch Kinder, eines genauso alt wie David. Wenn mein Kind mir nicht sagen könnte, dass ich mich geirrt habe, als sie dachte, dass ich es bin, würde ich um ihre Zukunft fürchten. Ein 14-Jähriger ist kein 7-Jähriger, er weiß ein oder zwei Dinge über die Welt und weiß ein paar Dinge, die seine Eltern nicht wissen. Und wenn er sich als nicht das herausstellte, was sie wollten, haben sie die ganzen Jahre zuvor versagt und haben keine Chance mehr, aufzuholen, am allerwenigsten, indem sie das, was sie taten, 14 Jahre lang weiter taten.
sbi
10

Sie haben Bücher angefordert. Ehrlich gesagt, Sie können Probleme besser lösen als Bücher lesen. Finden Sie ein Rätsel oder ein Problem, an dem Sie interessiert sind. Project Euler ist eine großartige Quelle, und CodeGolf kann gelegentlich interessante Fragen stellen. Mein erstes Programmierprojekt war eine C ++ - App, die Primzahlen fand. Das Lehrbuch, das ich damals verwendete, bot eine einfache Implementierung wie diese:

bool isPrime(int x){
    int c = 1;
    while(c < x){
        if(x%c == 0){
            return False;
        }
        c=c+1
        /*c+=1 if compiler is set to '98 or more recent*/
    }
    return True;
}

das ist massiv ineffizient. Ich fand ungefähr die ersten 500 Primzahlen mit dieser Funktion, bevor ich vor Abscheu über ihre Langsamkeit aufgab. Dad und ich hatten eine großartige Zeit, um oben zu optimieren, und obwohl es eine einfache App war, die nicht einmal ihre Ausgabe in eine Datei schrieb, hatte ich Spaß und das resultierende Produkt war cool.

Wirst du lernen, indem du Bücher liest? Ja, aber ich kann nicht betonen, wie wichtig es ist, nur mit einer Programmiersprache herumzuspielen und durch Ausprobieren zu lernen.

Wenn Sie Programmieren für Ihren Vater lernen , hören Sie auf und finden Sie Ihren eigenen Grund, es zu tun. Meins verfolgt mich immer noch, um ihm ein hochvolumiges automatisiertes Handelssystem aufzubauen. Ich meine es todernst, wenn ich sage, dass Sie etwas finden müssen, an dem Sie arbeiten möchten, weil Sie sonst wahrscheinlich das Programmieren ganz aufgeben werden, weil Sie es als lästige Pflicht betrachten werden, nicht als Hobby oder Sport.

Lesen Sie einmal Linus Torvalds 'Buch "Just For Fun", in dem er die Ursprünge des Linux-Betriebssystems beschreibt. Der Titel sagt schon alles.

Ernsthaft. Gehen Sie einfach auf ein Problem Hack. Wenn Sie nicht weiterkommen, bringen Sie den alten Mann dazu.

Wenn dein Vater deine Arbeit nicht schätzt, dann nicht, weil er enttäuscht ist. Er ist Architekt, er weiß nicht, wie komplex manche Dinge sind. Versuchen Sie, ihn durch Ihren Code zu führen, wenn auch nur durch die Logik, und lassen Sie ihn zu schätzen wissen, was es mit dieser Logik auf sich hat, die Sie gelernt haben, als Sie sie geschrieben haben.


TL; DR


  1. Leg dich einfach mit etwas an. Ein Problem lösen. Wenn Sie es nicht lösen können, suchen Sie die Lösung eines anderen und versuchen Sie, sie zu verstehen.
  2. Viel Spaß mit # 1
  3. Wann immer Sie etwas lernen oder Fortschritte machen, denken Sie daran, es Ihrem alten Mann zu sagen.
  4. Halte Dich zurück. Jeder lernt auf seine eigene Weise und mit seiner eigenen Geschwindigkeit. Bleiben Sie einfach dran und irgendwann werden Sie die Fähigkeiten haben, alles zu tun, was Sie wollen.
rmckenzie
quelle
1
Tatsächlich gibt er ausdrücklich an, dass er keine Bücher angefordert hat ... Der Rest davon stimme ich zu
Paul
6

Versuchen Sie, ein Buch zu finden, das speziell eine Einführung in die Programmierung für Anfänger bietet. Vielleicht so etwas wie Hallo Welt! Computerprogrammierung für Kinder und andere Anfänger von Warren Sande.

Sie sollten auch sehen, was Ihre Bibliothek hat. Die meisten Bibliotheken sollten ein paar Anfängerbücher haben.

Alger
quelle
5

In meinen Augen haben Sie zwei Probleme:

  1. Sie wollen programmieren lernen und dabei Spaß haben (der Spaß ist entscheidend, es macht alles einfacher)
  2. Sie haben einen Kunden, der wirklich nichts von Programmieren versteht, aber eine Idee hat, was er will. (Dein Vater in deinem Fall)

MEINER BESCHEIDENEN MEINUNG NACH:

  1. Bei Ihrem ersten Problem besuchen Sie einfach Websites wie diese und stellen Fragen, wie Sie es getan haben. Finden Sie Ressourcen wie diese https://softwareengineering.stackexchange.com/questions/62224/how-to-become-a-professional-programmer/62263#62263 . Überlegen Sie sich etwas, das Sie erstellen möchten (ein Spiel, eine Aufgabenliste, ein Verwaltungssystem für Filmsammlungen, die nächstbeste soziale Plattform), und beginnen Sie einfach mit dem Codieren. Oder beginnen Sie mit dem Lösen von Rätseln. Wo finde ich Programmier-Rätsel und Herausforderungen?

  2. Ihr zweites Problem ist schwieriger, Sie müssen Ihren Vater erziehen (obwohl er nicht sehr bereit zu sein scheint). Während Sie lernen, werden Sie ihm besser erklären, was an der Programmierung schwierig ist. Sie könnten versuchen, Metaphern zu verwenden, wie sie erklärt haben. Was ist eine gute Programmiermetaphor? . Ein weiterer Tipp ist, dass Nicht-Programmierer im Allgemeinen nicht die Komplexität eines großartigen Algorithmus kennen, sondern sich leicht durch gut aussehende Benutzeroberflächen beeindrucken lassen. Je nachdem, für welche Plattform Sie sich entscheiden, können Sie ganz einfach hübsch aussehende Benutzeroberflächen erstellen, um Ihren Vater zu beeindrucken. Verwenden Sie zum Beispiel:

Hoffe das hilft.

KeesDijk
quelle
+1 Ihr Beitrag gefällt mir, aber ich glaube nicht, dass jemand hier vorgeschlagen hat, dass dieses Kind herausfindet, was die Erwartungen seines Vaters sind. Es scheint etwas verfrüht, die Erwartungen des Vaters auszuschließen, ohne zu wissen, was sie sind.
user179700
5

Ich möchte nur hinzufügen, dass ich zu einem Zeitpunkt in meinem Leben in einer sehr ähnlichen Position war, mein Vater verstand nicht wirklich, was positive Verstärkung bedeutete. Aber da ich hartnäckig und widerstandsfähig gegen seine manchmal harte Missbilligung war, gelang es mir, mich daran zu halten. Etwa zwanzig Jahre später hatte sich die Beziehung zu meinem Vater sehr verändert, sie hat sich verbessert, aber die subtilen Nuancen von damals sind immer noch da.

Dies ist nur eine schwierige Zeit in Ihrem Leben und das Wichtigste hier ist, dass Sie mehr als alles andere Spaß daran haben.

John Leidegren
quelle
5

In Bezug auf die Programmiersprache stimme ich zu, dass Sie sich auf nur eine konzentrieren sollten.

Eigentlich empfehle ich eine, die Sie noch nicht haben: Python. Python ist eine Sprache, die sehr einfach zu lernen ist, aber auch sehr mächtig. C ++, Java, PHP und Javascript sind alle viel komplexer.

Es gibt mehrere Bücher von Manning, die das Programmieren mit Python lehren. Ich würde "Hallo Welt!" Mit Nachdruck in Betracht ziehen, auch wenn es sich um eine etwas jüngere Zielgruppe handelt.

Wenn Sie mit C ++ fortfahren möchten, empfehle ich dieses Buch:

Obwohl es eher eine "Referenz" und weniger ein "Tutorial" ist. Mir ist kein gutes C ++ - Tutorial bekannt - es gibt eine Menge Bücher, in denen man sich C ++ schnell beibringen kann, aber ich denke nicht, dass sie sehr nützlich sind. (C ++ ist eine ziemlich schwierig zu erlernende Sprache . Die meisten C ++ - Programmierer haben mit einer einfacheren Sprache begonnen.)

Stephen Cleary
quelle
Stimmen Sie zu, Python ist eine bessere Wahl als Muttersprache. C ++ ist großartig, aber es ist sehr leistungsfähig und schwierig zu bedienen - es ist wie das Lernen, ein Flugzeug zu fliegen, bevor man laufen lernt. Mit Python können Sie Bibliotheken von Anfang an verwenden und lustige Dinge tun. Ihre Funktion string_add besteht aus 5 Zeilen lesbarem Code. ZB def string_add(a_string): \n\t sum = 0 \n\t for letter in a_string:\n\t\t sum += ord(letter) - ord('a')+1 \n\t return sum(die \ n - neue Zeile \ t -tab) oder die Verwendung erweiterter funktionaler Programmierung ist ein Einzeiler. string_add = lambda a_string: sum(map(lambda ch: ord(ch)-ord('a')+1, a_string))
Dr. jimbob
+1 Ich habe ungefähr ein Jahr gebraucht, um C ++ zu lernen, während ich nur zehn Minuten gebraucht habe, um Python zu lernen.
Rightfold
+1 Ich würde auch die Head First-Programmierung empfehlen, die Python verwendet.
David
4

Informationen zu C ++, Java, PHP, JavaScript und Android (so dass Sie möglicherweise zwischen ihnen wählen können, da der Versuch, alles auf einmal zu meistern, wahrscheinlich fehlschlägt):

  • C ++: Es ist eine äußerst mächtige Sprache. Aber zu mächtig, zu nachtragend, zu kryptisch, um damit zu beginnen. Man muss zu viele Dinge verstehen, um in Gang zu kommen. Ich denke, dies in einer schlechten Sprachauswahl, um zu programmieren.
  • Java: Eine beliebte Wahl für Anfänger. In gewisser Hinsicht ist es das Gegenteil von C ++: C ++ bietet Ihnen eine vorstellbare Möglichkeit, sich selbst in den Fuß zu schießen, während Java versucht, alles zuzulassen, was sich Ihrer Kontrolle entziehen könnte, was tatsächlich ziemlich lähmt. Es ist ein bisschen zu simpel, zu trivial, zu restriktiv, um Ihnen viel von Programmierung zu zeigen. In Java kann man nicht viel erreichen, ohne die Standard-API und einige Frameworks zu kennen. Java als Technologie hat viel zu bieten, hat aber seine Mängel als Sprache.
  • PHP: Eine sehr beliebte Sprache, vor allem wegen der geringen Eintrittsbarriere. PHP als Sprache ist ausgereift und bietet nun viele Funktionen, die man von einer modernen Sprache erwartet. PHP führt jedoch aus historischen Gründen eine Menge Gepäck mit sich. Während es tatsächlich das Schreiben guter Programme ermöglicht, tun dies nur wenige, und Sie werden nicht so viele Informationen darüber finden, wie es gemacht werden soll. Und die Standardbibliothek ist ein Durcheinander. Wenn Sie sich entscheiden, PHP zu schreiben, empfehle ich, von Anfang an mit einem Framework zu arbeiten, da es normalerweise robuste Lösungen für häufig auftretende Probleme fördert. Persönlich empfehle ich symfony , flow3 und CakePHP . Mein Rat ist jedoch: Beginnen Sie nicht damit.
  • JavaScript: Eine überraschend mächtige Sprache, sobald Sie sie kennengelernt haben. Es hat ein paar "Macken" , aber in der Tat sollte man damit leben können. Obwohl ursprünglich zum Hinzufügen von Interaktivität zu HTML-Seiten verwendet, kann JavaScript jetzt in einer Reihe von Feldern verwendet werden. Abgesehen von der klassischen Verwendung kann es für die Desktop- und Mobile-App-Entwicklung mit Plattformen wie Appcelerator , PhoneGap und AIR sowie zum Erstellen von Servern mit node.js verwendet werden .
    Es gibt viele JavaScript-Bibliotheken und Frameworks. Ich schlage vor, dass Sie Knockout und jQuery sowie qooxdoo und ext.js ausprobierenwenn Sie nach etwas Ausgereiftem suchen. Für die serverseitige Entwicklung sollten Sie auch express.js auschecken .
    Außerdem möchte ich auf CoffeeScript hinweisen , eine Sprache, die sich für JavaScript eignet, aber einige nützliche Extras enthält.
  • Android: Im Gegensatz zu den anderen vier ist dies eine Plattform. Die Plattformen sollten je nach dem, was Sie tun möchten, ausgewählt werden. Wenn es sich um die Entwicklung mobiler Apps für Android-Geräte handelt, sollten Sie sich dafür entscheiden. Ich bin mir nicht sicher, ob es das Beste ist, aber letztendlich musst du Dinge erschaffen, die du für cool hältst.

Was auf jeden Fall wirklich wichtig ist, ist, dass es Ihnen Spaß macht. Dass du Dinge erschaffst, findest du cool. Das löst einige Ihrer Bedürfnisse oder macht Spaß, damit zu spielen. Programmieren ist für diejenigen, die es genießen. Sie benötigen ein Toolset, mit dem Sie Apps mit wenigen Codezeilen erstellen können. JavaScript / CoffeeScript könnte ein guter Ausgangspunkt sein.
Persönlich möchte ich Sie auf Ruby hinweisen. Es hat mir viel über das Programmieren beigebracht, und ich finde es bedauerlich, dass ich nichts davon wusste, als ich mit dem Programmieren anfing. Grundsätzlich gibt es zwei beeindruckende Bücher (beide kostenlos erhältlich):

  • Why's Poignant Guide - Persönlich war es ein bisschen zu viel Ablenkung (Witze, Cartoons usw.) in diesem Buch für mich, aber Sie könnten genau das genießen.
  • Pragmatic Ruby - hat bei mir perfekt funktioniert. Es ist ein bisschen trocken, aber es geht einfach um das Wesentliche.

Zusammen mit dem schlage ich vor, dass Sie Schuhe heraus überprüfen . Es ist ein großartiges Tool mit einer fantastischen integrierten Hilfe, einschließlich Referenz, Tutorials und Demos. Sie haben Ihre ersten Dinge innerhalb weniger Tage am Laufen.

Und wahrscheinlich für später möchte ich Sie auf haXe hinweisen . Ich denke, es ist eine großartige Sprache (meine bevorzugte Sprache), und es gibt einen brandneuen Anfängerleitfaden, der erst kürzlich herausgegeben wurde. In haXe stehen jedoch keine Tools zur Verfügung, mit denen sich Anwendungen genauso einfach erstellen lassen wie mit JavaScript und Ruby. Daher kann es sein, dass Sie es am Anfang mühsam oder sogar frustrierend finden, was den ganzen Zweck zunichte macht.

back2dos
quelle
Ich würde ihm definitiv empfehlen, seine Zähne auf C / C ++ zu schneiden. Ich tat dasselbe und fand es überraschend einfach, eine Sprache zu lernen, da fast alle modernen Sprachen etwas von C / C ++ ableiten.
CyprUS
@CyprUS: Auch wenn ich zustimme, sind beide lernenswert, ich halte sie auch nicht für eine gute Wahl, um das Programmieren zu lernen. Ich verstehe auch nicht, wie die LISP- oder die Smalltalk-Familie etwas Wesentliches aus einem von beiden ableiten würde.
back2dos
Ich denke, wir müssen den Jungen entscheiden lassen, was er tun möchte. Das heißt, LISP / SmallTalk sind zu esoterisch, um von allgemeinem Nutzen zu sein (meine Meinung)
CyprUS
@Zypern: Ich habe nur Ratschläge gegeben. Am Ende muss er wählen. Ich meinte nicht LISP oder SmallTalk, sondern die (teilweise) überlappende Klasse moderner Sprachen, die sie erstellt haben, insbesondere Ruby, Squeak, Objective-C, Lua, Scala, Erlang, Clojure, JavaScript, F #, Nemerle, Schema. Alle werden tatsächlich verwendet, einige gehören sogar zu den beliebtesten Sprachen überhaupt .
back2dos
3

Das ist ziemlich viel zu erwarten in einem Monat. Sie sollten sich vielmehr darauf konzentrieren, jeweils eine Sprache oder ein Paradigma zu lernen, da dies sonst überwältigend werden kann. Zu viel auf einmal zu schieben, ist auch eine gute Möglichkeit, sich daran zu hindern. Sie können besser lernen, indem Sie an einem bestimmten Programm arbeiten, das Sie interessiert. Wenn Sie sich für Android-Handys interessieren, ist es wahrscheinlich besser, mit Java als mit C ++ zu arbeiten. Er hätte vielleicht erwartet, dass ein typischer Kunde eine großartige UI-Sache macht, also lassen Sie sich von seiner Enttäuschung nicht entmutigen :)

Einige der Head First-Bücher können dazu beitragen, das Lernen ein wenig weniger trocken zu machen, wenn Sie gezwungen sind, sich an Bücher zu halten.

Schlüsselfertig
quelle
3

Ich denke, Sie sollten das formalere Zeug erst einmal weglegen und sich Scratch ansehen - http://scratch.mit.edu/ - damit können Sie mit den meisten Programmierkonstrukten auf einfachere Weise umgehen, während Sie das Zeug noch erlernen du brauchst wie schleifen etc.

Es ermöglicht auch einwandfreies Multithreading, was in der heutigen Welt wahrscheinlich am schwierigsten von Hand zu realisieren ist und interessante Ergebnisse liefert.

Unterschätzen Sie es nicht, da es Farben und einen lego-artigen Ansatz zur Programmierung verwendet. Sie können viel damit anfangen, ohne sich in technischen Details zu verlieren.

user1249
quelle
+1 - Scratch ist eine tolle und unterhaltsame Art zu lernen. Es ist eigentlich für Altersklassen konzipiert, ist aber immer noch Turing Complete. Schauen Sie sich auch BYOB (Build Your Own Blocks) an, um eine objektorientierte Erweiterung von Scratch zu erhalten.
Morgan Herlocker
3

Fragen Sie Ihren Vater, ob er in Ihrem Alter ein Hochhaus entwerfen könnte. Das ist Programmierung. Es braucht Zeit, um zu lernen, weil es so viel zu lernen gibt. Es ist wie Fahrradfahren, nur Sie haben tausend Pedale, Zahnräder, Griffe, Knöpfe, und Sie können nicht auswählen, welche von ihnen zu einem bestimmten Zeitpunkt verwendet werden soll. Es braucht Übung.

Ich zweifle nicht an dir. Sie haben sich schon früh mit C ++ beschäftigt, um Programmierer zu werden. Das ist beeindruckend für mich .

Bleib dran und viel Glück bei deiner Karriere als Programmierer!

Jörgen Sigvardsson
quelle
3

Ich weiß, dass es bereits viele Antworten gibt. Aber ich habe diesen Rat nicht gesehen: Versuchen Sie, Ihren Vater dazu zu bringen, Ihnen zu helfen. Versuchen Sie, im C ++ - Buch etwas Behaartes auszuwählen, das Sie verstehen können, und bitten Sie ihn um Hilfe.
Gib ihm das Buch und lass ihn in C ++ kriechen. Ich bin mir ziemlich sicher, dass ihm dadurch klar wird, wie schwierig es ist, zu programmieren.

Guillaume
quelle
3

Versuchen Sie, diese Situation zu Ihrem eigenen Wohl zu wenden. Akzeptieren Sie einfach, dass das, was Sie bis jetzt erreicht haben, nicht genug ist, und versuchen Sie, es besser zu machen ... Sie werden genug schwere Zeiten wie diese haben, wenn Sie für einen Chef arbeiten, wenn Sie nicht anfangen, darüber hinwegzukommen und sich von nun an zu verbessern .

Wenn ich in deinem Alter nur doppelt so hart gearbeitet hätte ...

Johnny
quelle
3

Der Input deines Vaters ist nicht förderlich für deinen Lernprozess. Ja, es gibt eine Reihe von Möglichkeiten, wie bereits erwähnt, das Programmieren zu erlernen. Sie haben jedoch meiner Meinung nach phänomenale Fortschritte in C ++ gezeigt. Ihr Hinzufügen von Programm wäre etwas gewesen, das ich nach meinem ersten Semester in der Java-Programmierung kaum bewältigen konnte.

Es gibt zwei Dinge, die Sie angehen müssen, wenn Sie fortfahren möchten:

1) Behandle deinen Vater.

Schau, jeder Vater hat extravagante Träume für seine Kinder. Ihre Erwartungen können jedoch sehr hoch sein und irgendwann zu etwas führen, das in manchen Märchen nicht einmal möglich ist. Ich würde empfehlen, eine externe Person hinzuzuziehen, um Ihren Fortschritt besser einschätzen und Ihren Vater auf die Erde bringen zu können. Sie können versuchen, mit einer Familie / Freunden, die Sie mit Programmiererfahrung kennen, zu sprechen, oder sogar mit Leuten in dieser Community, die ihm aufgrund unserer eigenen Erfahrungen und Kenntnisse eine E-Mail senden. Dies ist der wichtigste Schritt von allen, denn wenn dein Vater nicht abkühlt, verlierst du alle zusammen das Interesse.

2) Finden Sie einen Fokus.

Es ist nicht förderlich, alles auf einmal zu lernen. Wähle eine Sprache und bleibe dabei. Wie Sie ein Buch in einer bestimmten Sprache lesen. Den Beispielen des Buches genau zu folgen, ist nicht der richtige Weg. Regurgitation ist ein Lernprozess für einige, aber nicht für alle (besonders für mich selbst). Es ist wichtig, es aus so vielen Blickwinkeln anzugreifen, wie Sie können, und es sind Blickwinkel, an denen Sie interessiert sind. Das Programmieren von Büchern von verschiedenen Autoren in derselben Sprache, aber mit unterschiedlichen Verwendungszwecken, kann Ihre Neugier steigern, wie Sie die Sprache und die Einsicht verwenden möchten Ihren eigenen Wunsch von der Programmierung (Spiele machen? Design-Anwendungen? Testen? ect, ect). Sie können sich auch auf ein persönliches Abenteuer begeben, um ein Programm zu erstellen. Überlegen Sie, was Sie tun möchten, unabhängig davon, was Sie gerade wissen, und recherchieren Sie es dann während des Programmierens. Im Laufe der Zeit Ich möchte eventuell andere verwandte oder nicht verwandte Programmiersprachen ausprobieren. Möglicherweise stellen Sie auch fest, dass Sie nicht alle zusammen programmieren möchten.

Denken Sie vor allem daran, dass es nicht auf das Endergebnis ankommt, sondern auf die Reise. Vergiss nicht, Spaß zu haben!

Jonathan
quelle
3

Sie haben einige gute Rückmeldungen und Ratschläge zu den Programmieraspekten Ihrer Situation erhalten. Aber ich möchte etwas aus einer anderen Perspektive hinzufügen ...

Ich habe den Eindruck, dass Sie einige negative Gedanken über Ihren Vater haben - er hat Druck auf Sie ausgeübt und einige Kommentare abgegeben, die Ihnen etwas Kummer und Sorge bereiteten - und die das Programmieren zum Vergnügen gemacht haben. Das ist eine Schande und ich denke, die meisten Leute hier stimmen zu, dass Programmieren Spaß macht - ich programmiere seit über dreißig Jahren und finde es immer noch lustig.

Aber ich denke, dein Vater ist wirklich auf deiner Seite. Er tat, was er für richtig hielt, er versuchte zu helfen, er kaufte dir die Bücher, um dir einen guten Start zu ermöglichen. Aber er hat sich geirrt (und ich spreche als Vater, wir machen manchmal etwas falsch!). Für ihn sind Bücher wahrscheinlich die Orte, an denen er in seiner Architekturkarriere begonnen hat (ich gehe davon aus, dass dies begonnen hat, bevor das Internet und das Internet allgemein verfügbar waren, wenn überhaupt). Bücher sind also für ihn der Ausgangspunkt.

Angenommen, Ihr Vater ist auf Ihrer Seite (und ich bin sicher, dass er es ist), dann ist das Problem, dass er einfach nicht versteht, wie schwierig es sein kann, wenn Sie zum ersten Mal mit dem Programmieren beginnen - zeigen Sie ihm also alle Antworten, die er war hier gepostet - Ich bin sicher, dein Vater ist ein guter Kerl und er wird es verstehen und er wird dich unterstützen.

Und viel Glück beim Programmieren - Sie scheinen einen guten Start zu haben.

Simon Knights
quelle
Vielleicht wird das Hinzufügen von "Wunderkind" nicht zu viel sein, wie? Ich kann Ihnen versichern, dass es für viele meiner Freunde schwierig sein wird, ein
solches
@CyprUS - Ich habe keine Kommentare zu seinen spezifischen Fähigkeiten abgegeben (obwohl ich sicher bin, dass sie in Ordnung sind). Es hatte wirklich mit seinem Vater zu tun.
Simon Knights
3

Eine Sache, die in den anderen Antworten nicht erwähnt wird:

Wie Sie vielleicht wissen, ist es nicht einfach, ein Kind (ich bin 14) zu sein und Programmieren aus langweiligen Büchern zu lernen. Ich werde immer abgelenkt. Ich habe ihm vorher gesagt, dass ich keine Bücher kaufen muss und ich mir nur Online-Tutorials ansehen kann. Aber nein, er ist so altmodisch. Er lässt mich nur die Bücher benutzen.

Sie müssen auf jeden Fall an diesem Teil arbeiten. Das Internet ist das entscheidende Werkzeug eines jeden Programmierers und man muss damit arbeiten.

Erstens geht es bei der Programmierung um die Lösung von Problemen. Wenn Sie nicht wissen, wie man X in der Sprache XYZ macht, googeln Sie und suchen nach Lösungen. * Schnelles Finden von Lösungen ist für einen Programmierer genauso wichtig wie die Verwendung einer Tastatur.

Zweitens ist die Verwendung der Dokumentation eine weitere wichtige Fähigkeit . Bücher sind in der Regel wie Tutorials - sie bieten Anleitungen, bieten jedoch kein vollständiges Wissen - und hier ist die Dokumentation hilfreich. Zum Beispiel: Sie programmieren in C ++ und haben einen Monat Erfahrung. Früher oder später (ich würde sagen, bald) müssen Sie die Standardbibliothek verwenden ... oder haben Sie sie bereits verwendet? Wenn ja, das ist ein gutes Zeichen, dann ist Ihr Buch wahrscheinlich kein schlechtes. Auf jeden Fall ist es hilfreich zu wissen, was in C ++ - Standardbibliotheken bereits vorhanden ist und was nicht. Dazu ist es nützlich, während der Programmierung eine Referenz wie http://cplusplus.com/ ständig geöffnet zu halten .


Das Internet ist entscheidend für das Codieren und noch wichtiger für das Erlernen des Codierens. Wenn dein Vater es nicht versteht und erwartet, dass du das Programmieren nur mit den Büchern lernst , ist sein Ansatz kontraproduktiv und lässt dich langsamer vorankommen (und möglicherweise schlechte Gewohnheiten entwickeln).

Kos
quelle
2

Er hat keine Ahnung, wie man sich zum Programm beugt. Sie können all diese Bücher lesen und trotzdem nichts Anständiges schreiben, denn was am längsten dauert, ist das echte Verständnis dessen, was Sie tun können und wie Sie damit umgehen.

Du hast deinem Vater gesagt, dass du gerne programmierst - lass ihn es nicht für dich ruinieren. Und versuchen Sie auf keinen Fall, 5 Programmiersprachen zu lernen, zumindest nicht jetzt. Halten Sie sich an ein relativ einfaches Programm wie Java, das auf die anderen übertragen werden kann, sobald Sie es beherrschen.

In Bezug auf die Bücher ist es übrigens der richtige Weg, weil man die Sprache auf die richtige Weise lernt. Das Befolgen von Tutorials führt häufig dazu, dass schlechte Angewohnheiten usw. aufgegriffen werden.

Viel Glück; und lassen Sie ihn wissen, dass Sie es richtig machen, Fortschritte sind langsam, aber Sie lernen so viel, während Sie es tun.

Alex coady
quelle
2

Ich glaube, viele Programmierer im Alter von 25 bis 35 Jahren sind mit Nintendo und Sega aufgewachsen. Ein guter Teil von ihnen / uns hat den mentalen Übergang gemacht, warum man ein Spiel spielt, wenn man sein eigenes machen kann. Es ist eine sehr eigennützige Motivation, die Sie dazu bringen kann, ein besserer Programmierer zu sein. Es ist ein Anfang. Später im Leben könnten Sie vom Schreiben von Videospielen (virtuelle Probleme) zu Spielen mit höheren Einsätzen (reale Probleme) übergehen. Wie ist dieses Rezept für diesen Patienten nicht nachteilig mit einem anderen verschriebenen Medikament zu interagieren, können diese Lastwagen die meisten Lieferungen mit der geringsten Menge an Gas machen, um die Umweltverschmutzung zu reduzieren, oder wie kann ich sicherstellen, dass der Kauf dieser Aktie kaufen wird Zu dem Preis, den ich will, wenn es 1000 andere gibt, die es gleichzeitig kaufen.

Mark Lapasa
quelle
1

Architektur wurzelt in der physischen Welt, von der Sie seit Ihrer Geburt erfahren haben. Für einen Studenten der Architekturuniversität wäre es Zeitverschwendung, mit Legos zu spielen. Ihr Vater geht davon aus, dass Sie mit den Grundlagen vertraut sind und in der Lage sein sollten, Dinge zu produzieren, da Sie sich mit Mathematik auskennen. Na das stimmt doch nicht. Er kennt sich mit Programmieren nicht aus, weil er gar nicht merkt, dass es sich nicht um einen Zweig der Mathematik handelt .

Programmierung ist eine neue Welt. Am besten lernst du es so, wie du es in der physischen Welt erlernt hast: Tauchen Sie ein und experimentieren Sie. Mit einem Wort, spielen. Es ist Lego-Zeit.

Zum Vergleich betrachten Astronauten. Auch sie haben eine neue Welt, auf die sie völlig unvorbereitet sind. Sie müssen mit den Grundlagen beginnen, wie man sich im Raum bewegt.

Als nächsten Schritt würde ich vorschlagen, ein Spiel zu erstellen, bei dem der Computer eine Zufallszahl auswählt und Sie versuchen, diese zu erraten. Dabei erfahren Sie, ob Sie zu hoch oder zu niedrig raten.

Probieren Sie auch viele verschiedene Sprachen aus! Nicht auf einmal, aber vielleicht eine Woche lang.

Wenn Sie etwas Erfahrung gesammelt haben, ist das Entwickeln eines vollwertigen Videospiels eine der größten Herausforderungen, die Sie als geselliger Programmierer annehmen können. Videospiele berühren fast jeden Bereich unserer Disziplin, und der Aufbau eines solchen ist eine großartige Möglichkeit, Ihre Fähigkeiten auszubauen. Es ist auch ein perfekter Ort zum Experimentieren und Lernen auf immer höherem Niveau.

Kevin Conner
quelle
0

Nehmen Sie sich Zeit für das Erlernen von Programmiersprachen. Je mehr Sie üben, desto mehr werden Sie in die Programmierung einsteigen. Dieses Mal haben Sie ein sehr einfaches Programm erstellt, das für Anfänger ganz nett ist Gutes Programm, das tatsächlich von deinem Vater benutzt werden könnte. Wenn du mich fragst, ist das, wie ich meinem Vater bei seiner Arbeit geholfen habe.

Sprechen Sie einfach mit Ihrem Vater und erklären Sie ihm die Dinge. Ich bin sicher, dass er sie wirklich verstehen wird, und ich bin sicher, dass Sie eines Tages ein hervorragender Entwickler sein werden.

Radix
quelle
0

Ich studiere als Software-Ingenieur und der Fortschritt des Programmierens in meiner Ausbildung war mehr als nur das Lesen eines Buches.

Zuallererst würde ich dir empfehlen, C zu lernen, da es eine einfache Sprache ist und viele andere Sprachen (wie C ++, Objective-C) auf C aufbauen. So wie wir es gemacht haben, mussten wir einen Mikrochip kaufen ( in unserem Fall ein Atmel Mega16 mit einem STK 500-Kit, das nur eine Platine mit LEDs und Knöpfen ist), und dann haben wir einfach damit herumgespielt und Programme programmiert, um es bip und bop zu machen. Das macht mehr Spaß als nur Hallo-Welt-Programme IMO zu lesen und zu schreiben.

Wenn C für Sie zu einem Spaziergang im Park wird, wechseln Sie zu C ++ und objektorientierter Programmierung (OOP). OOP ist das Schlüsselkonzept für viele Sprachen und Denkweisen in Bezug auf die Programmierung und daher ein Muss, wenn Sie Ihre Programmierung ernst nehmen. Vergewissern Sie sich, dass Sie die Theorie hinter OOP verstanden haben, bevor Sie sich damit befassen - andernfalls könnte es schwierig werden :-)

Zu guter Letzt empfehle ich Ihnen, verschiedene Datentypen wie Stapel, Warteschlangen, Heaps usw. zu untersuchen, die Sie beim Programmieren und Lesen neuer Sprachen sehr gut verstehen.

Viel Glück mein Freund!

Kasper Munck
quelle
Ich würde etwas anderes als C ++ zum Lernen von OOP empfehlen. Python ist gut. C ++ ist eine so komplexe Sprache, dass der Versuch, OO-Konzepte damit zu erlernen, sehr schmerzhaft ist. Sobald Sie sie jedoch tatsächlich gelernt haben, wissen Sie, was Sie mit vielen ansonsten undurchsichtig aussehenden Funktionen tun müssen.
Nmichaels