Je suis débutant en Python et je l'aime vraiment jusqu'à présent. Une question qui me vient à l'esprit très souvent est de savoir si j'ai besoin de comprendre et donc d'apprendre les internes d'un langage de programmation (comme dans mon cas Python). Comme vous le savez peut-être, Python lui-même est écrit en C.
Ma question est donc la suivante: à quelle profondeur doit-on plonger dans un langage de programmation pour maîtriser ou parler couramment ce langage? Je compare cette question aux langues "naturelles". Je ne connais pas tous les détails de grammaire dans ma langue maternelle mais je suis capable de m'exprimer sans problème dans cette langue. C'est quand je dis que je parle couramment une langue. Cela s'applique-t-il également aux langages de programmation?
la source
Réponses:
Vous n'avez pas besoin de connaître les composants internes d'un langage de programmation pour écrire des programmes dans ce langage. Cependant, mieux vous comprendrez la langue, meilleurs seront vos programmes.
La connaissance des structures de données et des algorithmes vous aidera à choisir les structures de données les plus appropriées pour votre tâche particulière. Certaines langues possèdent ces structures de données en interne.
Comprendre la «culture» de la langue vous aide à écrire des programmes qui suivent les «meilleures pratiques», les rendant plus faciles à comprendre, plus faciles à maintenir et plus performants.
Écrire un compilateur pour cette langue (ou un compilateur pour une autre langue dans cette langue) peut vous donner une compréhension approfondie de la langue et améliorer vos programmes au-delà de la simple moyenne.
La maîtrise d'autres langues (en particulier celles d'un paradigme différent) fait de vous un meilleur programmeur dans votre langue principale, car vous pouvez apporter ces compétences et ces outils dans votre langue principale.
En corollaire, vous n'avez besoin de rien savoir sur votre ordinateur pour y écrire des programmes. Mais savoir comment fonctionne votre ordinateur vous permet de mieux écrire des programmes.
la source
Autrement dit, oui. Tant que vous pouvez bien vous exprimer (et comprendre les autres), alors vous êtes considéré comme parlant couramment la langue.
Cela dit, le simple fait de parler couramment ne suffit pas pour certains emplois. Certains types d'auteurs, des emplois qui nécessitent des compétences de prise de parole en public exemplaires et certains universitaires qui se concentrent sur la langue doivent la connaître "mieux que couramment". De même, certaines spécialités de programmeur nécessitent une connaissance du langage interne, mais pour la plupart des gens, connaître l'équivalent du langage de programmation pour savoir comment demander son numéro ou commander un cheeseburger est suffisant.
la source
Je définirais "compétent" avec une langue comme:
Notez que le fonctionnement de la langue n'est pas sur cette liste, mais il y a beaucoup de "capacité à apprendre". Avoir au moins une compréhension superficielle des internes peut être utile, mais n'est pas nécessaire pour être compétent. Cependant, en savoir suffisamment à leur sujet pour pouvoir comprendre toutes les références dans la documentation que vous lisez est une très bonne idée.
Par exemple: je sais que VB.NET et C # sont compilés dans IL (Intermediate Language) de .NET, qui est ensuite compilé pour le framework cible. Je ne connais pas grand chose à l'IL, mais j'en sais assez pour le reconnaître quand je le vois et comprendre de manière générale comment il gère certaines choses. Je me considère compétent en C #, mais pas en VB.NET, même si les "internes" sont les mêmes, et ma compréhension d'eux n'est pas profonde.
la source