Pourquoi les programmeurs débutants (comme moi) demandent-ils toujours la prochaine langue qu'ils devraient apprendre au lieu de poser des questions sur le prochain projet à aborder?
Pourquoi Eric Raymond, dans la section " Apprendre à programmer " de son essai " Comment devenir un pirate informatique ", a-t-il parlé de l'ordre dans lequel vous devriez apprendre les langues (par rapport à l'ordre dans lequel vous devriez aborder les projets).
Les menuisiers débutants demandent-ils "Je sais comment utiliser un marteau ... devrais-je apprendre à utiliser une scie ou un niveau ensuite?"
Je demande parce que je trouve que presque n'importe quel projet significatif que je souhaite aborder (par exemple une application web, un ensemble d'outils d'analyse de poker) nécessite que j'apprenne juste assez d'une multitude de langages (Python, C, HTML, CSS , Javascript, SQL) et des frameworks / bibliothèques (wxPython, tkinter, Django) pour les implémenter.
Merci,
Mike
la source
Réponses:
Je pense que lorsque la plupart des gens entreprennent d'apprendre une langue, ils le font parce qu'ils veulent s'attaquer à un projet écrit dans cette langue, maintenant ou à l'avenir. Pour ce faire, ils doivent apprendre cette langue, ce qui prend du temps. Les langages de programmation sont comme des outils, mais alors que vous pouvez apprendre à utiliser un marteau en une soixantaine de secondes, les langages mettent un peu plus de temps à apprendre à utiliser; ainsi, beaucoup de gens se concentrent sur l'apprentissage d'une langue avant de se concentrer sur un projet écrit dans cette langue.
Sur une autre note, je pense que quand la plupart des gens demandent ce que la langue à apprendre à côté, ils ont vraiment sont penser à ce projet pour apprendre à côté, mais ils se concentrent sur l' apprentissage de la première langue.
Enfin, l'apprentissage des langues peut être amusant , même si vous n'avez pas de projet ou d'objectif spécifique en tête.
la source
Le motif de nombreux développeurs à temps plein est d'être plus employable.
Être plus employable signifie généralement passer l'obstacle de l'examen des RH (et plus tard franchir l'obstacle de l'entretien réel).
Le filtreur RH typique a généralement une liste de contrôle des langues qu'il peut comparer à un curriculum vitae, mais n'a aucun moyen d'évaluer les compétences ou les projets.
Le succès d'une entrevue dépend généralement plus de la chance et des compétences minimales dans une langue que de l'expérience et d'une compréhension approfondie d'une langue.
Par conséquent, être médiocre dans de nombreuses langues est préférable pour l'employabilité que d'être un expert dans quelques-unes, à moins que l'on ne postule à des postes supérieurs.
la source
Les choix de programmation analogues au menuisier seraient "Quelle application devrais-je construire ensuite?" ou "Quel système dois-je construire ensuite?" qui sont plutôt valables et distinctes d'un projet qui peut réellement être appliqué presque universellement. Je pourrais avoir un projet pour changer mon alimentation ou perdre 20 livres aussi facilement que je pourrais avoir quelque chose qui nécessite l'écriture de nouveaux logiciels pour lier les choses ensemble.
Pour répondre à la question, je pense que l'idée est qu'une langue représente un outil dans la boîte à outils de cette personne qui peut être utile dans un CV. Certaines personnes peuvent choisir de devenir programmeur pour payer les factures et, dans l'affirmative, elles peuvent demander quel outil suivant elles devraient ajouter, qui serait souvent une langue, mais il existe d'autres possibilités, comme l'apprentissage du déploiement, du contrôle des sources, des tests et des méthodologies de développement pour citez quelques autres domaines. Si un menuisier devait divulguer les outils dont il disposait, il pourrait avoir une perspective similaire, selon moi. Cependant, il existe un ensemble général d'outils que la plupart des charpentiers sont supposés avoir ou avoir accès à obtenir si demandé assez rapidement. Avez-vous déjà vu combien de types différents de scies et de marteaux existent pour les gens?
la source
Il s'agit peut-être en partie de la mentalité de pirate informatique, du moins pour certains programmeurs. Le pirate est défini dans le fichier Jargon comme
Ainsi, pour une âme de hacker, il s'agit davantage d'apprendre et de "bricoler" le processus, les concepts, les outils et oui, les langages de création de quelque chose, que le produit final lui-même. En savoir plus sur le processus lui-même.
C'est un effort constant pour la prochaine nouvelle chose et / ou le défi. Le projet terminé perd rapidement son attrait. Parfois (la plupart du temps?) Les plus grands défis créatifs ou techniques sont surmontés avant la fin du projet. De nombreux projets sont abandonnés, lorsqu'un esprit avide de nouveaux défis mentaux avance.
Les hackers sont particulièrement intéressés par de nouveaux points de vue, concepts, abstractions et façons de penser, sorte de piratage mental:
la source
Il existe une variété de langages de merde couramment utilisés aujourd'hui: C, C ++, C #, Java, JavaScript, Python, Perl, Ruby, Visual Basic, etc. ensemble.
Il existe une petite communauté connue sous le nom de communauté Lisp qui est libre de la folie qui imprègne l'informatique moderne.
Puisque Lisp est un langage de programmation programmable, vous pouvez y exprimer toutes vos idées sans jamais avoir à vous éloigner vers d'autres langages ou d'autres formats de données tels que XML. Lisp peut être appliqué partout, même au niveau matériel comme nous l'avons vu avec les machines Lisp .
la source
Parce que l'apprentissage d'un nouveau langage de programmation est un énorme investissement, et personne n'aime faire un mauvais investissement.
Apprendre un nouveau langage de programmation ne consiste pas à mémoriser comment écrire des constructions de boucle, déclarer des classes, importer un autre module ...
Vous devez savoir comment écrire un code idiomatique dans ce langage et ce processus prend vraiment beaucoup de temps et de dévouement .
Le temps est une ressource limitée, l'effort est une ressource limitée mais la distraction, le stress quotidien, les factures et les jeux sportifs du dimanche sont toujours là et doivent vivre avec.
Les programmeurs veulent investir judicieusement.
la source