Ich kenne Java, C #, C ++. Ich habe Perl verwendet und nehme Python und Actionscript 3 auf.
Dies ist sicherlich ein Weg, den andere beschritten haben, also frage ich mich, wie Sie all diese Sprachen im Kopf behalten können.
language-agnostic
syntax
programming-languages
John Robertson
quelle
quelle
Antworten:
Ihr Gehirn erinnert sich nur an das, was es für wichtig hält, mit starker Neigung zur jüngsten Zeit. Also, drehen Sie einfach Haustierprojekte in diesen Sprachen und Sie werden in Ordnung sein. Genau wie bei gesprochenen Sprachen tun Sie es besser, wenn Sie: früh beginnen und Ihre Verwendung aktiv halten.
quelle
Früher habe ich ein 1-Blatt-Syntaxdiagramm im Eisenbahnstil sowie eine Kurzreferenz für jede Sprache an der Wand veröffentlicht, bis mein Gedächtnis ausreichend angekommen ist.
Ich muss das immer noch für alle Programmiersprachen tun, die ich seit vielen Monaten nicht mehr benutzt habe.
quelle
Haben Sie sich Spickzettel für die Sprachen und Bibliotheken angesehen, die Sie regelmäßig verwenden? Ich habe hier ein paar an meiner Wand, eines für VIM und eines für PL / SQL. Diese Website: http://devcheatsheet.com/ scheint viele Cheatsheets zu haben.
Ich schlage Spickzettel vor, weil es nur so viel gibt, an das sich das Gehirn leicht erinnern kann. Eine Sprache, die Sie täglich verwenden, wird sehr leicht zu merken sein. Syntax und später bestimmte Bibliotheken sowie Funktionen und Frameworks, wenn Sie sie häufig genug verwenden und in keinem Referenzmaterial nachschlagen müssen. Je weniger Sie etwas verwenden, desto schwieriger ist es, sich daran zu erinnern, obwohl Sie normalerweise in der Lage sind, Ihre früheren Fähigkeiten mit ein wenig Übung wiederzugewinnen. Deshalb habe ich ein paar Spickzettel an der Wand: Für die Funktionen / Features benutze ich nicht oft genug, um mich schnell zu erinnern.
quelle
Das menschliche Gehirn ist eine erstaunliche Sache. Wenn Sie jedes gut genug lernen, sollten Sie in der Lage sein, Code zu betrachten, die Sprache zu erkennen und ziemlich schnell wieder auf Hochtouren zu kommen. Es war noch nie ein Problem für mich ... aber es braucht Zeit, um wieder auf Touren zu kommen.
quelle
Ich habe kaum Probleme, Sprachen in meinem Kopf zu trennen, abgesehen von einigen Tippautomaten (z. B. das Unterdrücken des Zeilenende-Semikolons in Python oder VB).
Ich denke, das, was mir am meisten hilft, ist, dass ich jedes Mal, wenn ich eine Sprache lerne (Programmieren oder Mensch), versuche, die Kultur und das Ökosystem, in die sie eingebettet ist, aufzunehmen und anzunehmen. Ich wechsle nicht nur die Sprache, sondern auch die Denkweise (etwas in Anlehnung an die beliebte Metapher „Tragen des X-Hutes“).
quelle
Es hilft, dass alle Sprachen, die Sie erwähnen, relativ ähnlich sind (dh zwingend erforderlich sind).
Wenn Sie gerade lernen, diese Sprachen zu verwenden, sind sie sich alle sehr ähnlich. Sie haben im Grunde alle die gleichen Funktionen und alles, was Sie lernen, ist eine etwas andere Syntax.
Wenn Sie nun die Verwendung (nicht nur die Syntax) lernen, wird es viel schwieriger. Das Erlernen der Verwendung von Java wie einem Java-Programmierer ist für einen C ++ - Programmierer nicht so einfach (die Syntax ist einfach, die Verwendungssprachen sind schwierig).
Wenn Sie nun verschiedene Sprachstile aufgelistet hätten (deklarativ / funktional / logisch), wäre ich sympathischer. Da sich der Paradigmenwechsel zwischen den Sprachen vollständig ändert, wird es viel schwieriger.
Die Verwendung einer Sprache ist jedoch der Schlüssel. Wenn Sie jeden Tag eine Sprache verwenden, haben Sie kein Problem. Stoppen Sie die Verwendung einer Sprache und sie wird verblassen (zunächst nicht schnell). Aber je weiter die Sprache von der Sprache entfernt ist, die Sie täglich verwenden, desto schneller wird sie verblassen. Das Geheimnis besteht darin, weiterhin die Sprachen zu üben, die Sie mögen (hören Sie auf, diejenigen zu verwenden, die Sie nicht mögen. Ihr Gehirn schafft Platz für andere Dinge).
quelle
Dort kamen die IDEs zur Rettung ;-) In all diesen Sprachen ändert sich nur, dass es entweder ein "Wenn-Dann-Sonst" oder ein "Wenn-Sonst" gibt. Einige werden '(' haben und andere nicht. Es ist so einfach :)
Wir kümmern uns nur um die Logik und die am einfachsten lesbare Implementierung.
quelle
Ich nicht. Ich verwirre sie die ganze Zeit, deshalb habe ich eine Reihe von kompensierenden Verhaltensweisen und Werkzeugen ausgearbeitet.
quelle
Eine Möglichkeit wäre, für jede Sprache, in der Sie schreiben, einen eigenen Stil zu verwenden. In loser Analogie könnte man beim Sprechen von Spanisch oder Französisch versuchen, die Beugung eines Muttersprachlers nachzuahmen.
Ich habe Leute gesehen, die für jede Sprache eine eigene Klammer, Einrückung usw. beibehalten, damit ihr Gehirn beim Umschalten zwischen ihnen richtig "schalten" kann
quelle
Betrachten Sie es als Musik. Die Sprachen, die Sie lernen, sind nur verschiedene Instrumente in einem Orchester, die letztendlich die gleichen Noten produzieren. Sich daran zu erinnern, wie man die Instrumente spielt, erfordert Übung, aber irgendwann können Sie eines aufnehmen, das Sie seit einiger Zeit nicht mehr gespielt haben, und wie durch Zauberei fallen die Noten einfach zusammen. Wenn Sie Ihr Wissen über Musik (Programmierung) weiter erweitern, wird es jedes Mal einfacher, ein neues Instrument aufzunehmen und das Spielen zu lernen.
Käsige Analogie, aber am Ende des Tages macht Übung den Meister. Verbringen Sie ab und zu etwas Zeit mit jedem Instrument in diesem Orchester, damit Ihre Fähigkeit, die Noten zu spielen, nicht nachlässt.
quelle
Ich bin hauptsächlich ein PHP-Entwickler. Also vergib mir meine voreingenommene Meinung.
Ich habe kürzlich herausgefunden, wie ähnlich C-Code PHP ist (oder umgekehrt, je nachdem, wie Sie sich fühlen;))
Mein Vorschlag wäre, vielleicht bei einer Familie von Sprachen zu bleiben (wenn sie für Ihre Arbeit oder Projekte gelten) und wenn Sie Ihre Fähigkeiten weiterentwickeln, dann verzweigen Sie sich und lernen neue Dinge.
quelle
Ich benutze Javascript und HTML / CSS, hauptsächlich liebe ich C ++, wenn ich ein kleines Hilfstool für die Verwendung von QT brauche und ich VB und F # benutze. Manchmal weiß ich, dass es ein bisschen verrückt ist, aber wenn ich das Gefühl habe, dass ich eine Sprache von verliere Diese, besonders wenn sie eine andere Syntax haben (VB und F # und c ++ / Javascript), also bekomme ich meinen Bruder und sagte ihm, dass ich ihn unterrichten werde, dann fange ich einfach an, Beispiele von Grund auf neu zu machen, und wenn ich finde, dass ich mich nicht daran erinnere, wie ich genau vorgehen soll etwas (sobald ich vergessen habe, wie man es sonst in VB macht), google ich es einfach;
quelle
In letzter Zeit habe ich viel mit Google Codesearch gearbeitet . Ich gehe dorthin und tippe einen regulären Ausdruck ein, der lose beschreibt, was ich versuche, und finde Dutzende Beispiele für Produktionscode. Wenn ich die Syntax einer Sprache vergesse, ist dies der schnellste Weg für mich, Antworten zu erhalten.
Dieser Ansatz wird noch leistungsfähiger, wenn Sie mit regulären Ausdrücken gut umgehen können. Hinweis: Dies ist eine großartige Ressource, um Regex-Fähigkeiten aufzufrischen .
quelle
Eigentlich: Ich mache mir keine großen Sorgen darüber, explizit zu versuchen, irgendeine Struktur in meinem Kopf aufzubauen.
Dies unterscheidet sich nicht wesentlich von anderen Szenarien im täglichen Leben. Ich muss mich daran erinnern, wie man ein Auto fährt, wie man ein Buch liest, wie man Tennis spielt und so weiter. Vertraue einfach deinem Gehirn und denke nicht viel auf der Metalebene nach.
quelle