Une documentation bien écrite est-elle une raison suffisante pour apprendre un langage de programmation? [fermé]


14

J'apprends actuellement Python qui ne faisait pas partie de mon programme d'études collégiales. On m'a demandé dans une interview pourquoi j'avais choisi Python et j'ai répondu qu'il est facile à apprendre et que la documentation est très bien écrite. L'intervieweur n'a pas répondu si c'était une raison suffisante. Il avait l'air convaincu mais je ne peux pas en être sûr.

Une documentation bien écrite et une facilité d'apprentissage sont-elles une raison suffisante pour choisir un langage de script? Ou aurais-je dû élaborer davantage sur la disponibilité des bibliothèques Python et sur une plus grande base d'utilisateurs de Python?

Juste une note. Python n'était pas requis pour le travail. L'entreprise a travaillé sur Ruby-on-rails. Python était dans mon curriculum vitae et je pense que l'intervieweur voulait juste savoir quelles considérations j'avais prises en tant que plus frais tout en choisissant un langage de programmation.


12
peut-être pas en entrevue, mais je me demande si vous avez besoin d'une raison pour apprendre autre chose que ce que vous voulez.
jk.

2
@jk Je connais juste C jusqu'à présent. Je ne suis pas un grand expert mais je connais la syntaxe, je peux implémenter des structures de données et autres. J'avais besoin d'un langage où je puisse mettre en œuvre des idées plus rapidement. C'est la raison pour laquelle j'ai choisi un langage de script. La documentation, la facilité d'utilisation et la base d'utilisateurs étaient les principaux avantages lorsque je l'ai comparé à Perl et Tcl. Tous les trois ne s'appliquaient pas aux deux langues, mais pour autant que je puisse trouver, utiliser Google Python était meilleur que ceux-ci dans l'un d'eux. J'ai donc choisi Python. Apprendre parce que je veux est une raison suffisante mais ce n'était pas Python qui m'intéressait. Les idées étaient l'essentiel.
Aseem Bansal

1
[Faire quelque chose parce que c'est facile] n'est pas aussi impressionnant que [faire quelque chose parce que c'est difficile]. À moins que ce ne soit vraiment difficile et que vous ne fassiez que vous montrer. ;)
TimG

5
Puisque vous êtes nouveau sur Python, je vous suggère d'envisager de cesser de vous y référer et de le considérer comme "un langage de script". C'est une langue . Les gens écrivent des sites Web, des applications de bureau, de petits scripts, d'énormes bibliothèques, des contrôleurs intégrés, etc. avec. L'appeler "un langage de script" me semble inapproprié.
Chelonian

@Chelonian Point noté. Merci d'avoir fait remarquer cela.
Aseem Bansal

Réponses:


20

Non, une documentation bien écrite n'est pas une raison suffisante pour apprendre une langue.

Une documentation mal écrite est une bonne raison de ne pas en apprendre une.


Il y a quatre raisons d'apprendre une langue:

  1. Parce que cela peut être un outil utile dans votre carrière

    La langue est un outil. L'une utilise une langue plutôt qu'une autre en raison de ses avantages dans un contexte donné. Le fait qu'une langue possède une documentation de haute qualité n'en fait pas un meilleur outil, ou seulement marginalement¹.

    Le choix du langage serait plutôt basé sur l'expérience antérieure, les paradigmes (exemple: programmation fonctionnelle pour Haskell), les approches (exemple: mode entièrement asynchrone pour JavaScript en tant que langage de programmation côté serveur avec Node.js), l'interopérabilité ( exemple: compatibilité avec presque tous les systèmes d'exploitation pour Java), etc.

    Pouvoir utiliser un outil dans sa vie quotidienne est l'une des raisons d'apprendre une langue.

  2. Parce qu'il élargit votre culture et vos connaissances

    Une autre raison d'apprendre une langue est d'apprendre de nouveaux concepts, paradigmes et façons d'écrire du code élégant (exemple: Haskell). Là encore, la documentation aide, mais n'est pas la seule raison d'apprendre une langue.

  3. Parce que cela demande un minimum d'effort pour l'apprendre

    Une autre raison d'apprendre un langage est qu'il est simple à apprendre (exemple: PHP). Encore une fois, la documentation contribue beaucoup, mais la langue elle-même est encore plus importante. De plus, j'éviterais de dire lors d'une interview que j'ai appris une langue simplement parce qu'elle est facile à apprendre.

  4. Parce que c'est drôle.

    La dernière raison d'apprendre une langue est qu'il est tout simplement passionnant d'apprendre une langue bien conçue (exemples: Haskell, Ruby) ou une langue pour les geeks (exemple: Brainfuck).

Dans un cas de Python, ce que vous pouvez répondre est que:

  1. C'est un langage dynamique. Les langages dynamiques facilitent la création de prototypes et le développement plus rapide lorsque les circonstances rendent les types forts peu importants.

  2. C'est élégant. Peut-être pas aussi élégant que, par exemple, Haskell, mais la comparaison avec les langages Web traditionnels tels que PHP est facile à faire.

  3. L'utilisation d'une indentation significative est intéressante, étant donné que de nombreuses langues traditionnelles ne font de l'indentation qu'une charge qui aurait dû être gérée par l'IDE en premier lieu. Soit dit en passant, le compilateur et l'interpréteur Haskell s'appuient également sur l'indentation.

  4. Python a une manière élégante de travailler avec des listes. Les compréhensions de liste et les expressions de générateur sont des concepts intéressants pour quelqu'un qui n'a jamais utilisé de programmation fonctionnelle auparavant.

  5. Django facilite la création rapide d'applications Web tout en gardant un code plutôt propre. C'est un énorme avantage par rapport à de nombreux autres langages de programmation.

  6. Il est assez rapide et assez puissant pour les applications Web à grande échelle. Par exemple, Dropbox est écrit en Python. YouTube s'appuie fortement sur Python. Reddit, si je me souviens bien, s'appuie également sur Python.


¹ Une documentation bien écrite permet toujours de faire les choses correctement et rapidement.


Je sais juste C. J'ai appris Python parce que je voulais implémenter des idées plus rapidement. Cela exclut le premier point. J'ai appris à connaître le paradigme fonctionnel uniquement via Python, donc le deuxième point est également sorti. Ensuite, dans cette situation, je me retrouve avec le 3e point seulement. Sur quoi aurait dû insister ma réponse? Plus d'infos dans ce commentaire à la question
Aseem Bansal

@AseemBansal: J'ai modifié ma question pour montrer à quoi vous auriez pu répondre. De plus, le fait que vous "ayez appris à connaître le paradigme fonctionnel uniquement via Python" est exactement ce dont je parle: vous avez appris Python, et cela vous a aidé à découvrir FP, qui est exactement le but d'apprendre un langage.
Arseni Mourzenko

1
Vous pouvez utiliser Dropbox comme exemple au lieu de YouTube et Reddit. Il est entièrement réalisé en Python. Si je me souviens bien, Guido a aidé Dropbox à créer leur produit et il les a récemment rejoints.
Aseem Bansal

Il y a une quatrième raison pour laquelle je pense que vous avez sauté: Parce que la langue a l'air amusante!
martiert

Un peu dans la lignée de martiert, mais qu'en est-il du plaisir? Si vous voulez apprendre une langue spécifique, c'est plus qu'une raison suffisante. Tout n'a pas à être motivé par l'avancement professionnel et des stratégies pour maximiser vos compétences.
Gilles

7

Si vous êtes comme moi, vous n'utilisez pas de marteau simplement parce qu'il a une poignée confortable. Vous utilisez un marteau parce que vous en avez besoin pour faire quelque chose de martelé.

Donc, non, bien qu'une bonne documentation soit certainement utile, ce n'est pas une raison en soi pour apprendre un langage de programmation.


1
J'ai ajouté des choses que je voulais faire et faisais en utilisant Python, mais je suppose que j'aurais dû mettre davantage l'accent sur la réalisation des choses que sur la documentation.
Aseem Bansal

3
vous utilisez un marteau parce que vous devez faire marteler quelque chose ... trop de gens utilisent des marteaux quand un tournevis serait plus approprié.
gbjbaanb

@gbjbaanb: Exactement! Merci d'être encore plus précis.
stakx

1

Voici mes principales raisons pour apprendre une nouvelle langue:

  1. le reste de l'équipe avec laquelle vous travaillez l'utilise, et vous êtes le nouveau gars qui va faire partie de l'équipe.

  2. vous voulez résoudre un problème, et le langage X, ou les bibliothèques / frameworks pour le langage X semblent fournir le meilleur support disponible pour cette tâche

  3. Vous le faites uniquement à des fins éducatives.

Souvent, pour la situation 2, il y a plus d'un langage ou cadre approprié pour résoudre le problème. Une documentation bien rédigée peut alors être l'un des facteurs à prendre en considération (mais aussi d'autres facteurs). Pour le point 3, une bonne documentation peut être plus importante, mais honnêtement, si vous voulez apprendre une nouvelle langue juste pour l'apprendre, trouvez d'abord un problème que vous voulez résoudre, sinon vous perdrez rapidement votre motivation, eh bien- documentation écrite disponible ou non.


1

Oui pourquoi pas? Plus vous apprenez de langues, plus il est facile d'apprendre la langue suivante. De nombreux concepts de programmation peuvent être appris dans une variété de langages. Donc, vous pourriez aussi bien commencer par celui qui a le meilleur matériel disponible pour l'apprentissage.

De plus, la plupart des tâches peuvent être accomplies dans une variété de langues. Habituellement, après un certain temps, vous maîtriserez les principaux concepts et outils du langage, mais vous apprendrez la plupart des bibliothèques au besoin. C'est un argument en faveur d'une langue si les bibliothèques sont bien documentées afin que vous puissiez rapidement vous mettre à jour sur un domaine d'application particulier.


0
  • Non, une documentation bien écrite n'est pas une raison suffisante pour apprendre une langue.

  • L'enquêteur a posé cette question pour que vous lui disiez une certaine bonté de python. Vous devriez comparer le python et le rubis.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.