La relativité linguistique est l'idée que le langage façonne notre façon de penser. Ma question est de savoir dans quelle mesure et dans quelle mesure cela s'applique-t-il à la programmation?
- Certaines langues natives et naturelles sont-elles mieux adaptées à la programmation que d'autres? Par exemple, les éléments suivants peuvent-ils être énoncés de manière plus concise dans une langue autre que l'anglais?
Select a pivot. Move all the items less than the pivot to one side of the list, and all the items greater than the pivot to the other side.
- Un programmeur parlant chinois voit-il la programmation dans un objectif radicalement différent d'un programmeur parlant anglais, ou les différences s'estompent-elles lorsque les deux sont immergés dans le sujet?
- Certains langages et domaines de programmation sont-ils plus faciles à penser dans une langue ou une autre? Par exemple, est-il plus facile de grogner Ruby si vous êtes japonais parce que le créateur de Ruby est japonais?
Notez que cette question n'est pas centrée sur "comment les langages de programmation affectent la façon dont les gens pensent de la programmation", mais plutôt "comment les langages naturels affectent la façon dont les gens pensent de la programmation".
Pour éviter cela, une langue qui a clairement un avantage pragmatique est l' anglais . Je pense que l'avantage a peu à voir avec les langages de programmation choix des mots clés anglais comme if
, for
, while
et do
, tout comme les musiciens qui ne parlent pas l' italien ne sont pas trébuché par des mots tels que forte . Cela a plus à voir avec la communication d'idées avec d'autres programmeurs, car l'anglais est la lingua franca de nos jours, du moins dans le monde de la programmation. Par exemple, pour poser une question dans StackOverflow, vous devez vraiment connaître l'anglais et le connaître assez bien si vous voulez de bonnes réponses. Bien que cela ressemble à une attitude impérialiste, c'est vraiment vrai dans la pratique.
Cela mis à part, comment les propriétés intrinsèques des langages affectent-elles la façon dont les programmeurs qui les parlent pensent les structures de données, les algorithmes, etc.? Existe-t-il des langues particulièrement concises lorsqu'il s'agit de parler de logique et de programmation, permettant aux locuteurs natifs de ces langues de réfléchir plus rapidement?
Implement quick sort
.