Müssen gute Programmierer beim Schreiben von Code Syntax an der Spitze ihrer Sprache haben? Was halten Sie von ihnen, wenn sie online nach einfachen Dingen suchen? Sind sie gut oder schlecht (vielleicht wissen sie, wo sie suchen müssen)? Sollten Programmierer ein gutes Gedächtnis haben? Ist das ein Merkmal für einen guten Programmierer?
self-improvement
maz3tt
quelle
quelle
Antworten:
Meine Philosophie beim Programmieren ist, dass es ein "Geisteszustand" ist und der Rest "nur Syntax". (dh nicht (als) wichtig)
Das heißt, man sollte die einfachen Dinge nicht nachschlagen müssen. Zumindest nicht für die Sprache (n), mit der Sie regelmäßig arbeiten. Es gibt nichts auszusetzen, wenn man eine Erfrischung braucht und zu wissen, wie man Informationen findet, ist mit Sicherheit eine gute Fähigkeit. Die Kernsyntax sollte jedoch unbedingt bekannt sein. Ansonsten verbringen Sie zu viel Zeit mit Suchen und zu wenig Zeit mit Programmieren.
quelle
Es kommt darauf an, was Sie meinen, aber die kurze Antwort lautet ja.
Werden Programmierer hier und da ein Semikolon oder eine geschweifte Klammer vergessen? Sicher. Werden sie die Syntax einer switch-Anweisung nachschlagen, weil sie sie wahrscheinlich selten verwenden? Nun, das tue ich. Werde ich mit ActionScript arbeiten und es stattdessen wie Java schreiben? Bestimmt. Es kann einige Zeit dauern, bis Sie sich an die Eingabe einer neuen Sprache gewöhnt haben, insbesondere, wenn Sie jahrelang mit einer anderen gearbeitet haben.
Das eigentliche Problem sollte sein, wenn ein Programmierer die Syntax nicht ändern kann, selbst wenn ihm eine IDE hilft. Wenn die Person nicht weiß, wofür ein Semikolon ist oder was diese ausgefallenen geschweiften Klammern sind, müssen sie mehr lernen.
quelle
switch
, gefolgt von etwas in Klammern, dann einer öffnenden Klammer, danncase
mit einer Beschriftung, die nicht in Klammern steht, dann einem Doppelpunkt, dann werden die Anweisungen normalerweise mit Semikolons dargestellt. Und vergessen wir nicht diebreak
Aussagen. Durch Anstrengung und Willenskraft habe ich es mir schließlich gemerkt und ich muss es immer noch gelegentlich überprüfen. nur um sicher zugehen.Es würde mich auf jeden Fall überraschen, wenn ein sonst guter Programmierer routinemäßig nach einer Sprache suchen müsste, die er fließend beherrscht. Natürlich kann es Eckfälle geben, die in der Praxis nicht oft verwendet werden, so dass dies durchaus akzeptabel wäre Damit ein guter Programmierer sie nicht kennt, muss er in der Regel jedoch nicht nach der Syntax suchen. Er muss nach Funktionen und Klassen aus Bibliotheken suchen :)
quelle
std::string
Beispiel nie jedes Mitglied von auswendig lernen .Wenn Sie die Sprache regelmäßig wechseln oder in drei oder vier Sprachen gleichzeitig arbeiten, können Sie nicht viel dagegen tun. Eine Zeitlang arbeitete ich an Projekten, die einen ständigen Wechsel erforderten, und begann, mich selbst als "Referenzprogrammierer" zu bezeichnen.
quelle
Ich schreibe C ++ seit mehr als 15 Jahren, kenne aber einige seiner arkanen syntaktischen Ecken noch nicht auswendig.
Wie kann eine Funktionsvorlage erneut explizit instanziiert werden? Und wie sieht die Syntax aus, um eine Vorlage mit einem template-template-Argument teilweise zu spezialisieren? Und lassen Sie mich nicht damit anfangen, eine Funktion zu deklarieren, die einen Zeiger auf ein Array von Zeigern auf Funktionen zurückgibt, die Arrays von Zeigern auf ...
Ich vermute, dass es höchstens ein oder zwei Dutzend Menschen auf dieser Welt gibt (wenn überhaupt), die die gesamte C ++ - Syntax auswendig können. Und diese verdienen wahrscheinlich alle ihr Geld, indem sie C ++ - Compiler-Frontends schreiben.
quelle
Ich bin neugierig auf Googeln "Syntax" hier.
Mein Verdacht (und meine Befürchtung) ist, dass wir nicht darüber sprechen, welche Parameter ein Aufruf benötigt (da die meisten IDEs Sie dort auffordern, damit Sie sie nicht googeln), sondern dass Sie tatsächlich Dinge vom Typ "Wie geht man X?"
IDEs haben es unnötig gemacht, sich genaue Namen und Parameterlisten in der Art und Weise zu merken, wie es früher erforderlich war, und das hat viele Leute ein bisschen faul gemacht, aber das ist in Ordnung.
Aber was brauchst du zu Google? Für mich ist das normalerweise keine Syntax, das ist nur etwas, was Sie entweder nicht wirklich wissen oder nur vorübergehend kennen.
Das soll natürlich nicht heißen, dass es falsch ist, Google-Inhalte zu haben - Sprachen können heutzutage ziemlich umfangreich sein und nur wenige Menschen wissen alles, aber ich würde sagen, wenn Sie behaupten, mit einer Sprache kompetent zu sein, sollte Google eher die Ausnahme als die Regel sein .
Für mich, es sei denn, Sie tun etwas relativ Ungewöhnliches, oder Sie haben nach einer gewissen Zeit etwas Rostiges an der Sprache. Wenn Sie behaupten, eine Sprache zu "beherrschen", sollten Sie nicht mehr als 10% der Dinge googeln höchstens, und das sollte wirklich ziemlich spezifisches Zeug sein.
In Bezug auf die Idee, dass es um ein gutes Gedächtnis geht, ist es nicht wirklich. Es geht um das instinktive Gefühl, das Sie für etwas bekommen, das Sie wirklich (und nicht oberflächlich) kennen. Ich denke nicht, dass ich weiß, wie man eine Melanzane Parmigiana ohne Rezept zubereitet, ein Zeichen, dass ich ein gutes Gedächtnis habe, es ist ein Zeichen, das ich verstehe zubereitet, wie man dieses Gericht zubereitet - es sind subtil unterschiedliche Dinge.
Stellen Sie sich außerdem folgende Frage: Würden Sie erwarten, dass Sie in eine Restaurantküche gehen und feststellen, dass der Küchenchef ständig in einem Kochbuch nachschaut? Oder um zu sehen, wie der Mechaniker an Ihrem Auto arbeitet und das Hayes-Handbuch für dieses Modell durchblättert? Wenn ich eines dieser Dinge sehen würde, wäre mir ziemlich unangenehm, wie gut diese Person war.
quelle
syntax != api
Meine Meinung ist Nein. Es ist nicht die Syntax, die wichtig ist, sondern Ihre Logik, um ein Problem zu lösen oder ein Ziel zu erreichen. Wenn Sie an mehreren Sprachen arbeiten, ist es selbstverständlich, dass Sie sich manchmal nicht an die genaue Syntax erinnern.
quelle
Syntax ist nur die Sicht auf die zugrunde liegende Semantik der Sprache, da es bei der Programmierung nur darum geht, die zugrunde liegenden semantischen Bausteine zu verwenden, um etwas zu erstellen. Wenn Sie die grundlegenden Konzepte der Sprache nicht verstehen, spielt es keine Rolle, wie gut Sie sich die Syntax einprägen können, Ihr Code wird ein schreckliches Durcheinander sein. Wie jemand sagte: "Gute Programmierer haben einen Interpreter und einen Compiler im Kopf." Beachten Sie, dass die Syntax nicht erwähnt wird, da hier nicht die eigentliche Arbeit stattfindet.
quelle