Question

relativité linguistique est l'idée que le langage façonne notre façon de penser. Ma question est, combien, et dans quelle mesure, est-il dans la programmation?

  • sont des natifs, des langues naturelles mieux adapté à la réflexion sur la programmation que d'autres? Par exemple, peut être déclaré ce qui suit de façon plus concise dans une langue non-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.
  • Est-ce une vue programmeur sinophones programmation dans un objectif radicalement différent de celui d'un programmeur anglophone, ou faire les différences disparaissent lorsque les deux sont plongés dans le sujet?
  • sont des langages de programmation et les domaines plus facile de penser dans une langue ou d'une autre. Par exemple, est-il plus facile de grok Ruby si vous êtes japonais parce que le créateur de Ruby est japonais?

Notez que cette question ne porte pas sur « comment les langages de programmation affectent la façon dont les gens pensent à la programmation », mais plutôt « comment naturel langues affectent la façon dont les gens pensent à la programmation ».

Pour sortir de la voie, une langue qui a clairement un avantage pragmatique est 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 comme forte . Il a plus à voir avec la communication des idées avec d'autres programmeurs, comme l'anglais est la lingua franca ces jours-ci, au moins dans le monde de la programmation. Par exemple, poser une question StackOverflow, vous avez vraiment besoin de connaître l'anglais et le savoir assez bien si vous voulez de bonnes réponses. Bien que cela ressemble à une attitude impérialiste, il est vraiment vrai dans la pratique.

A part ça, comment les propriétés intrinsèques des langues affectent la façon dont les programmeurs qui les parlent pensent des structures de données, algorithmes, etc.? Sont toutes les langues particulièrement concis quand il vient à parler de la logique et la programmation, ce qui permet des locuteurs natifs de ces langues à penser plus vite?

Était-ce utile?

La solution

Ah, l'hypothèse Sapir-Whorf par rapport à la guerre des hypothèses de structure profonde ... Chomsky

La programmation est mathématique. Les mathématiques sont la philosophie appliquée. La question devient alors, quelle langue naturelle peut décrire exactement les concepts mathématiques sans tête significative raye. Autrement dit, les langues peuvent traiter en métaphysique aristotélicienne facilement?

Le langage « sauvage » proverbiale peut avoir initial difficulté à exprimer les abstractions de premier ordre qui sont nécessaires. However- mais - les humains peuvent apprendre de nouveaux mots et de nouveaux concepts. Grec ancien n'a pas commencé avec des termes philosophiques; ils devaient inventer, puis porté à d'autres langauges.

Considérant que les mathématiques est universel, je postule que la forte hypothèse Sapir-Whorf est faux.

Autres conseils

Je ne sais pas que toute langue naturelle particulière se prête à une meilleure programmation (sauf peut-être le latin?). Je sais que savoir plus d'une langue est assez puissant.

Dijkstra dit dans une de ses dernières interviews (comme reproduit dans MCAC Vol 53 n ° 8, p 44..):

Il y a une énorme différence entre celui qui est monolingue et quelqu'un qui connaît au moins une seconde langue bien, parce qu'il vous fait beaucoup plus conscients de la langue structurer en général. Vous serez découvrir que certaines constructions en une langue que vous ne pouvez pas traduire.

turc est une langue très intéressante car elle a des règles strictes sans exceptions (que je suis au courant), est presque parfaitement sans superflu, n'a pas de genre grammatical, et le mot peut exprimer autant que quelques phrases en anglais.

Dans le passé « Çekoslovakyalilastiramadiklarimizdan misiniz? «qui signifie » Êtes-vous l'un des ces personnes que nous ne pouvions pas faire ressemblent à de la Tchécoslovaquie? » était très populaire et accepté comme mot le plus long en turc. Cependant, le question suffixes (misiniz dans ce cas) sont écrits séparément, de sorte bien que ce soit un mot, il semble que deux mots lorsque le mot est écrit. Aussi, des versions plus longues de ce mot pourrait être fait facilement, comme « Çekoslovakyalilastirabildiklerimizden . Miydiniz? » Pour ces raisons, la mot a perdu sa popularité, mais il est encore virelangue populaire Turquie.

parler en me fait turkish le penser à ce que je veux obtenir, quelles sont les informations que je veux transmettre, et moins sur les mots à utiliser.

modifier Bien sûr, la Turquie a des mots pour représenter le sexe biologique. Mais il n'a pas la séparation en il / elle / il -. En « o » turc

Ou en espagnol vous dire "Profesor / profesora" et en allemand "Lehrer / Lehrerin". En turc, vous devez utiliser des mots supplémentaires pour indiquer le sexe -. Similaire à l'anglais
En enseignant turc est Ögretmen. Pour signaler une enseignante que vous diriez « kadin Ögretmen » - professeur de femme. Mais en dépit de l'allemand, où - sinon femalelized en ajoutant un « -in » -. La valeur par défaut est un homme, Ögretmen n'a pas de genre, car il n'y a pas

Une autre chose qui n'est pas disponible en turc sont des articles comme « el / la », « les », « der / die / das » -. Comme il est généralement l'information juste qui est déjà disponible par le contexte
Mais il y a des mots pour exprimer "ce", "este / esta", "diese / dieses / diese", par exemple "bu".
Ceci est des informations supplémentaires, car il pointe sur un certain objet.

Je pense qu'il est plus probable que le langage de programmation que vous utilisez façonneront la façon dont vous pensez à ce problème, les variables et noms de classe, etc, ne sont que des personnages représentant quelque chose. Bien qu'il soit très probable que les programmeurs dans les différentes cultures pensent à la programmation différemment en raison de leur langue parlée et la façon dont ils ont appris.

À mon avis, la langue naturelle n'a pas d'importance (ou au moins ne devrait pas importer) du tout quand on parle des méthodes ou des idées que vous essayez de réaliser avec votre code.

Comme vous l'avez dit, lorsque vous travaillez avec le code lui-même et écrire des documentations sur le code anglais est le plus approprié. Mais comme le code lui-même est juste un Artesanat , la véritable force d'un programmeur / informaticien trouve au-dessus que des idées, des algorithmes et des choses - et puis, la langue de ces choses sont décrites dans est tout à fait sans importance pour le contenu.

Ce fut un sujet que j'étais très intéressé à un moment donné, donc ma douleur plus encore (aujourd'hui), que je ne peux pas trouver les signets que j'avais à l'époque.

Je l'ai fait enregistrer un lien je suis tombé l'autre jour sur, Do différent langues l'égalité des réalités différentes? tangentes un peu sur elle (lire les commentaires aussi bien). Certains sont intéressants.

... Anyways

L'anglais est en fait assez efficace et concis. Traduction dans la plupart des langues fera une idée plus à exprimer .

Il est généralement admis qu'il ya pas de langues naturelles primitives . Toutes les langues naturelles en utilisation active ont un niveau égal d'expressivité. Cela ne veut pas dire que les idées ne sont pas formés par la langue, mais je ne pense pas que le langage naturel est une grande influence.

Licencié sous: CC-BY-SA avec attribution
scroll top