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!
Antworten:
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.
quelle
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.
quelle
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.
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.
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.
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.)
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.
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.
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.
quelle
"Dad, deine Herangehensweise daran macht es absolut keinen Spaß , Programmieren zu lernen . Hör auf."
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
Es scheint, dass noch niemand dies vorgeschlagen hat:
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.
quelle
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.
quelle
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:
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
quelle
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.
quelle
In meinen Augen haben Sie zwei Probleme:
MEINER BESCHEIDENEN MEINUNG NACH:
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?
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.
quelle
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.
quelle
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.)
quelle
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))
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):
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.
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):
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.
quelle
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.
quelle
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.
quelle
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!
quelle
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.
quelle
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 ...
quelle
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!
quelle
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.
quelle
Eine Sache, die in den anderen Antworten nicht erwähnt wird:
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).
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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!
quelle