Les bons programmeurs doivent-ils avoir la syntaxe à la pointe de leur langue lors de l'écriture de code? Que pensez-vous d'eux s'ils recherchent des trucs simples en ligne sur Google? Sont-ils bons ou mauvais (peut-être savent-ils où chercher)? Les programmeurs doivent-ils avoir une bonne mémoire? Est-ce un trait pour un bon programmeur?
self-improvement
maz3tt
la source
la source
Réponses:
Ma philosophie sur la programmation est que c'est un "état d'esprit" et le reste est "juste de la syntaxe". (c'est-à-dire pas (comme) important)
Cela dit, il ne faudrait pas avoir à chercher les choses simples. Du moins, pas pour la ou les langues avec lesquelles vous travaillez régulièrement. Il n'y a rien de mal à avoir besoin de rafraîchissements et savoir comment trouver des informations est certainement une bonne compétence. Cependant, la syntaxe de base doit certainement être bien connue. Sinon, vous passez trop de temps à chercher et trop peu de temps à programmer.
la source
Cela dépend de ce que vous voulez dire, mais la réponse courte est oui.
Les programmeurs vont-ils oublier un point-virgule ou une accolade ici et là? Sûr. Vont-ils rechercher la syntaxe d'une instruction switch parce qu'ils l'utilisent probablement rarement? Eh bien, je fais. Vais-je travailler avec ActionScript mais l'écrire comme Java à la place? Absolument. Cela peut prendre un certain temps pour s'habituer à taper dans une nouvelle langue, surtout si vous avez travaillé avec une autre pendant des années.
La vraie préoccupation devrait être si un programmeur ne peut pas faire des têtes ou des queues de la syntaxe même avec un IDE les aidant. Si la personne ne sait pas à quoi sert un point-virgule, ni à quoi servent ces accolades frisées, alors elle a plus à faire.
la source
switch
suivi de quelque chose entre parenthèses, puis d'une parenthèse ouvrante, puiscase
d'un libellé qui n'est pas entre parenthèses, puis de deux points, puis des instructions généralement terminées par des points-virgules. Et, n'oublions pas, lesbreak
déclarations. C'est par l'effort et la force de volonté pure que je l'ai finalement mémorisé et je dois encore revérifier de temps en temps; Juste pour en être certain.Je serais certainement surpris si un autre bon programmeur devait régulièrement rechercher la syntaxe d'un langage dans lequel il parlait couramment. pour qu'un bon programmeur ne les connaisse pas, mais, en règle générale, un programmeur qui parle couramment n'a pas à rechercher la syntaxe. Il doit rechercher des fonctions et des classes dans les bibliothèques :)
la source
std::string
, par exemple.Si vous êtes dans une position où vous changez régulièrement de langue ou travaillez en 3 ou 4 langues en même temps, vous ne pouvez pas faire grand-chose. Pendant un certain temps, j'ai fini par travailler sur des projets qui nécessitaient une commutation constante et j'ai commencé à me considérer comme un "programmeur de référence", devant chercher beaucoup plus que je n'aurais préféré.
la source
J'écris du C ++ depuis> 15 ans, mais je ne connais toujours pas par cœur certains de ses coins syntaxiques obscurs.
Comment instanciez-vous explicitement à nouveau un modèle de fonction? Et quelle est la syntaxe pour spécialiser partiellement un modèle qui a un argument modèle-modèle? Et ne me lancez pas sur la déclaration d'une fonction qui renvoie un pointeur vers un tableau de pointeurs vers des fonctions qui prennent des tableaux de pointeurs vers ...
Je soupçonne qu'il y a au plus une ou deux douzaines de personnes dans ce monde (s'il y en a) qui connaissent vraiment toute la syntaxe C ++ par cœur. Et ceux-ci gagnent probablement tous leur argent en écrivant les frontends du compilateur C ++.
la source
Je suis curieux de connaître la "syntaxe" de Google ici.
Mon soupçon (et ma crainte) est que nous ne parlons pas des paramètres pris par un appel (car la plupart des IDE vous y inviteront pour que vous ne les recherchiez pas sur Google), mais de véritables choses de type "comment faire X".
Les IDE ont rendu inutile de mémoriser des noms précis et des listes de paramètres de la manière qui était requise auparavant, ce qui a rendu beaucoup de gens un peu paresseux à ce sujet, mais ça va.
Mais quelque chose dont vous avez besoin pour Google? Pour moi, ce n'est généralement pas la syntaxe, c'est juste quelque chose que vous ne connaissez pas vraiment ou que vous ne connaissez que passablement.
Bien sûr, cela ne veut pas dire qu'il est mal de devoir utiliser Google - les langues peuvent être assez larges de nos jours et peu de gens savent tout, mais je dirais que si vous prétendez être compétent avec une langue, alors Google devrait être l'exception plutôt que la règle. .
Pour moi, sauf si vous faites quelque chose de relativement inhabituel, ou peut-être que vous êtes rouillé avec la langue après une période de faire quelque chose de différent, si vous prétendez "connaître" une langue, vous ne devriez pas googler plus de 10% des choses tout au plus, et cela devrait être vraiment très spécifique.
En référence à l'idée qu'il s'agit d'avoir une bonne mémoire, ce n'est pas vraiment. Il s'agit du genre de sensation instinctive que vous ressentez pour quelque chose que vous connaissez vraiment (plutôt que superficiellement). Je ne considère pas le fait que je sais cuisiner un Melanzane Parmigiana sans recette comme un signe que j'ai une bonne mémoire, c'est un signe que je comprends comment cuisiner ce plat - ce sont des choses subtilement différentes.
D'ailleurs, demandez-vous ceci, vous attendez-vous à aller dans une cuisine de restaurant et à trouver le chef qui regarde constamment un livre de cuisine? Ou pour voir le mécanicien travaillant sur votre voiture feuilleter le manuel Hayes pour ce modèle? Si je voyais l'une ou l'autre de ces choses, je serais assez inquiet de la qualité de cette personne.
la source
syntax != api
Mon opinion est non. Ce n'est pas la syntaxe qui est importante mais votre logique vers la résolution d'un problème ou la réalisation d'un objectif. Si vous supposez travailler sur plusieurs langues, c'est naturel que parfois vous ne vous souvenez pas de la syntaxe exacte.
la source
La syntaxe n'est que la vue au-dessus de la sémantique sous-jacente du langage, car la programmation consiste à utiliser les briques sémantiques sous-jacentes pour construire quelque chose. Si vous ne comprenez pas les concepts fondamentaux utilisés par le langage, peu importe votre capacité à mémoriser la syntaxe, votre code sera un horrible gâchis. Comme quelqu'un l'a dit un jour, "Les bons programmeurs ont un interprète et un compilateur en tête." Remarquez qu'il n'y a aucune mention de syntaxe car ce n'est pas là que le vrai travail se produit.
la source