Au cours de mes quelques années de programmation, j'ai tout joué, de Ruby à C ++. J'ai tout fait, du simple apprentissage de la syntaxe de base (Ruby) à la réalisation de plusieurs projets majeurs (pour moi) qui ont élargi mes capacités avec la langue. Étant donné cette diversité (et le fait que l'apprentissage d'une langue ne s'arrête jamais réellement), quand puis-je dire que je connais (ou ai appris) une langue?
programming-languages
Des chatons
la source
la source
Réponses:
À quel moment pouvez-vous dire que vous avez "appris" une langue comme l'anglais ou le français? Je pense que la plupart des gens accepteraient que vous ayez appris une langue quand vous pouvez l’utiliser pour communiquer. Vous n'avez pas besoin de connaître tous les mots ni de comprendre tous les idiomes, mais vous devez connaître la plupart des sous-ensembles (plutôt petits) de la langue que les gens utilisent dans la conversation quotidienne. Ayant "appris" une langue dans cette mesure, vous pouvez continuer à en apprendre davantage au fil de votre utilisation quotidienne et à vous exposer de plus en plus à la langue. Au moment de votre mort, vous ne saurez toujours pas tout ce qu'il y a à savoir sur la langue, mais personne ne dira que vous n'avez jamais "appris" la langue.
C'est donc, je pense, avec les langages informatiques. Vous pouvez dire que vous "connaissez" un langage comme C ++ ou Ruby lorsque vous pouvez y écrire des programmes utiles. Si vous devez quantifier votre degré de connaissance de la langue, utilisez les mêmes termes que ceux que vous utiliseriez pour une langue humaine. Dites "Je connais un peu de C ++" ou "Je connais le C ++ conversationnel " ou "Je parle couramment le C ++", ce qui signifie que vous en savez juste assez pour vous débrouiller, de quoi faire des choses utiles, ou que vous êtes un expert, respectivement.
la source
using
en C #. oub, a = a, b
et des générateurs en python. Sinon, +1.Cela dépend de qui demande
La personne qui pose la question a probablement une certaine idée du niveau de compétence attendu de quelqu'un qui dit avoir "appris une langue".
En gros, j’ai rencontré deux échelles archétypales, par lesquelles les gens jugent la réponse à la question "as-tu appris X?"
Pour la plupart des nerds, c’est une question piège pour éliminer les posers. C’est déjà démontré par les autres réponses à votre question;). Si vous dites que vous l'avez appris, vous ne voyez pas l'étendue de la tâche, ce qui est implicitement la "perfection" et, pire encore, vous échouez dans l'humilité.
Pour la plupart des patrons, vous "l'avez appris", si vous pouvez résoudre leurs problèmes , un critère souvent déjà rencontré si votre code est compilé. Répondre à sa question de manière humble l'amènera à confier cette tâche à un poseur qui pourrait également être un membre de la famille.
Alors, quel est votre public?
la source
Je pense que les gens se concentrent sur la finalité du mot "appris" étant un temps parfait, cela signifie que vous avez fini d'apprendre. Et comme chacun l’a noté, les langages de programmation sont des entités vivantes, tout comme les langues parlées. Par exemple, une personne maîtrisant parfaitement le C # 2 examinerait le C # 3 avec LINQ, Lambdas, les
var
mots - clés, les initialiseurs d’objet / de collection et les méthodes d’extension et constaterait que beaucoup de choses avaient changé par rapport à ce qu’il avait appris pour la version précédente. La même chose se passe avec C # 4 avecawait
,async
mots - clés et d' autres nouvelles constructions linguistiques.Et nous ne parlons que de syntaxe ici. Nous oublions que la plupart des langues sont associées à un framework . C # a le framework .NET, Java a son propre framework, tout comme Ruby, C ++, PHP et PERL. Pensez au cadre d'une langue comme étant le vocabulaire et le langage lui-même n'est qu'une syntaxe. Connaître la langue signifie que vous savez comment faire une phrase dans la langue. Connaître le cadre signifie que vous pouvez bien vous exprimer dans la langue. Enfin, une fois que vous connaissez la syntaxe et le vocabulaire, vous devez apprendre les expressions pour pouvoir écrire du code en tant que "locuteur natif".
Je dirais qu'il y a plusieurs niveaux d'apprentissage.
la source
await
de C # 5, la nouveauté majeure de C # 4 étaitdynamic
.Vous pouvez rarement dire que vous avez appris une langue. Cela implique que vous avez fini d'apprendre à ce sujet, ce qui est ... stupide.
Dire que vous connaissez une langue, c'est bien quand vous pouvez écrire du code qui ne rompt pas de manière flagrante les idiomes de la langue (peut-être après une semaine de résolution du problème) sans faire référence à une référence de syntaxe.
la source
C'est plus un facteur basé sur l'opinion. Dans tous les termes techniques, "appris" signifierait avoir une connaissance complète de, comme on s'attendrait à ce que vous sachiez TOUT de la langue.
Cependant, dans le monde de la programmation, je pense qu'il est plus important de pouvoir programmer couramment dans la langue pour réaliser un objectif / une tâche. Cela signifie aussi probablement que si vous êtes à l'aise avec la langue. Bien sûr, vous pourriez aller là-bas et obtenir un diplôme après des années et des années de collège, mais ce n'est que pour se faire remarquer? Vous définissez quand vous pouvez dire que vous avez appris une langue.
la source
Lorsque vous commencez à remarquer ses défauts. Une fois que vous commencez à apprendre une langue, vous êtes généralement encore occupé à apprendre à faire des choses ou vous êtes très impliqué dans sa tâche pour vous rendre compte de ses échecs (bien sûr, c'est à moins que vous ne commenciez à les apprendre d'un point de vue négatif, juste pour voir à quel point cela est pire. est comparé à votre langue préférée jusqu’à présent). Je dirais que vous ne connaissez pas vraiment une langue tant que vous n'êtes pas parfaitement conscient des domaines dans lesquels elle échoue.
la source
Ma réponse personnelle à cela est quand,
À partir de là, je n'appellerais pas cela apprendre, mais maîtriser.
la source
Au moment où votre application ou composant peut lire le courrier, c'est-à-dire la loi de Zawinski , qui stipule:
Cela a été mis à jour lorsque RSS est devenu populaire pour "... peut lire les flux RSS" et pourrait probablement être mis à jour ces jours-ci pour "... peut lire les flux Twitter". ;-)
la source
Je pense que vous avez appris une langue quand vous ne la voyez pas. Vous ne voyez pas les cycles for et les accès aux données, mais le flux de travail de l'algorithme.
Vous ne jouez pas des tours avec le passage de paramètre et le traitement de tableau, les macros magiques. Vous ne considérez pas votre code comme un outil de marketing personnel à montrer à vos amis et à vos enseignants, mais à exprimer votre compréhension d'un problème et votre volonté à l'ordinateur de la manière la plus lisible.
Vous avez des habitudes qui vous aident à éviter beaucoup d'erreurs simplement en les suivant, comme: utilisez des blocs de code {} et () dans des expressions même si vous êtes absolument certain que "ce ne sera qu'une ligne" ou que "je ne suis pas dupe et je sais ordre de priorité des opérateurs ".
Vous ne comptez plus le nombre de classes, de modèles et d’API de structure que vous connaissez. C’est à cela que s'adressent intellisense, les références et les didacticiels et Google. Mais lorsque vous examinez un problème, vous savez immédiatement quelles parties il peut être scindé et avec quels outils et algorithmes vous allez les résoudre.
Ce que vous faites fonctionne , est élégant et petit . Vous aimez coder et trouvez facilement vos bugs. Oui, les maîtres font aussi des bugs parce qu'ils sont humains - mais ils les trouvent rapidement parce que leur structure de code les conduit au bon endroit.
Et réalisez enfin: vous avez appris à penser, analyser et résoudre des problèmes; par rapport à eux, le langage actuel est secondaire, juste la boîte actuelle de règles et d’outils.
la source