プログラミングに関しては、どの自然言語が有利ですか? [閉まっている

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/7456

  •  16-10-2019
  •  | 
  •  

質問

言語相対性 言語が私たちの考え方を形作るという考えです。私の質問は、これがプログラミングにどのくらい、そしてどの程度、どの程度まで当てはまるのでしょうか?

  • いくつかのネイティブの自然言語は、他のものよりもプログラミングについて考えるのに適していますか?たとえば、以下は英語以外の言語でより簡潔に述べることができますか? 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.
  • 中国語を話すプログラマーは、英語を話すプログラマーとは根本的に異なるレンズでプログラミングを表示しますか、それとも、両方が主題に没頭しているときに違いが消えますか?
  • いくつかのプログラミング言語とドメインは、ある言語で考えることが簡単です。たとえば、日本人であればルビーをgrokしやすいですか ルビーの作成者 日本人ですか?

この質問は「プログラミング言語がプログラミングについて考える方法にどのように影響するか」に焦点を合わせていることに注意してください。 ナチュラル 言語は、人々がプログラミングについて考える方法に影響します」。

それを邪魔にならないようにするために、明らかに実用的な利点を持っている1つの言語は 英語. 。私は利点が、次のような英語のキーワードを選択するプログラミング言語とはほとんど関係がないと思います if, for, while, 、 と do, 、イタリア語を話さないミュージシャンが言葉でつまずいていないように フォルテ. 。少なくともプログラミングの世界では、英語は最近では英語がLingua Francaであるため、他のプログラマーとのアイデアのコミュニケーションと関係があります。たとえば、Stackoverflowで質問するには、英語を本当に知り、良い答えが必要な場合はかなりよく知る必要があります。これは帝国主義の態度のように聞こえますが、実際には真実です。

それはさておき、言語の本質的な特性は、彼らを話すプログラマーがデータ構造、アルゴリズムなどについて考える方法にどのように影響しますか?ロジックとプログラミングについて話すことに関して、言語は特に簡潔になり、それらの言語のネイティブスピーカーがより速く考えることができますか?

役に立ちましたか?

解決

ああ、sapir-whorf仮説vs.チョムスキーの深い構造仮説戦争...

プログラミングは数学です。数学は哲学が応用されています。その後、その自然言語は、重大な頭を打つことなく数学的概念を正確に説明できるものです。別の言い方をすれば、どの言語がアリストテレスの形而上学で簡単に対処できるでしょうか?

ことわざの「野avな」言語には持っているかもしれません イニシャル 必要な1次抽象を表現するのが難しい。でも- でも! - 人間は新しい言葉と新しい概念を学ぶことができます。古代ギリシャ語は哲学的用語から始まりませんでした。彼らは発明され、他のランゴージュに移植されなければなりませんでした。

数学は普遍的であることを考えると、私は強いsapir-whorf仮説が間違っていると仮定します。

他のヒント

特定の自然言語がより良いプログラミングに役立つことを知りません(おそらくラテン語を除く)。私はそれを知っていることを知っています 複数の言語 かなり強力です。

Dijkstraは、彼の最後のインタビューの1つで(CACMVol。53No. 8、p。44で転載されているように)述べました。

単言語である人と少なくとも第二言語をよく知っている人との間には大きな違いがあります。なぜなら、それはあなたが一般的に言語構造についてはるかに意識しているからです。翻訳できない1つの言語で特定の構造があることがわかります。

トルコ語 例外なく(私が知っている)厳格なルールがあり、ほぼ完全に冗長性がなく、文法的な性別がなく、言葉で英語の文章と同じくらい表現することができるため、非常に興味深い言語です。

過去に「chekoslovakyalılaştıramadıklarızdanmısınız?」つまり、「あなたは私たちがチェコスロバキアから似ていない人の一人ですか?」非常に人気があり、トルコ語で最も長い言葉として受け入れられました。ただし、質問の接尾辞(この場合はMısınız)は個別に書かれているため、1つの単語ですが、単語が書かれたときに2つの単語のように思えます。また、この単語のより長いバージョンは、「chekoslovakyalılaştırabildiklerimizdenmiydiniz」など、簡単に作成できます。これらの理由から、この言葉は人気を失いましたが、それでもトルコで人気のある舌のツイスターです。

トルコ語で話すことで、私が達成したいこと、私が送信したい情報、そしてどの言葉を使うべきかについてはあまり考えないようになります。

編集
もちろん、トルコには生物学的性別を表す言葉があります。しかし、それは彼/彼女/それに分かれていません - トルコの「O」では。

または、スペイン語では、「Profesor/Profesora」とドイツ語で「Lehrer/Lehrerin」と言うでしょう。トルコ語では、英語に似た性別を示すために余分な単語を使用する必要があります。
トルコの教師にはÖ彼がいます。女性の先生を指摘するために、「KadınÖ彼」 - 女性教師と言うでしょう。しかし、ドイツ語にもかかわらず、「-in」を追加することによって女性化されない場合、デフォルトは男性であり、Ö彼には性別がありません。

トルコ語で利用できないもう1つのことは、「EL/LA」、「The」、「der/die/das」などの記事です。通常、コンテキストで既に利用可能な情報です。
しかし、「これ」、「este/esta」、「diese/dieses/diese」など、「bu」を表現する言葉があります。
これは、特定のオブジェクトを指しているため、追加の情報です。

使用しているプログラミング言語は、問題、変数名、クラス名などについて考えている方法を形作る可能性が高いと思います。さまざまな文化のプログラマーが、話し言葉と学んだ方法のために、プログラミングについて異なる方法で考えている可能性が非常に高いです。

私の意見では、あなたがあなたのコードで実現しようとしている方法やアイデアについて話すとき、自然言語は重要ではありません(または少なくとも重要ではありません)。

あなたが言ったように、コード自体と協力してドキュメントを書くとき コードについて 英語が最も適切です。しかし、コード自体はただのものです 手作り, 、プログラマ/コンピューターの科学者の本当の強さは、アイデア、アルゴリズムなどのアイデア、そのようなものにそれを上回っています - そして、それらのものが説明されている言語は、実際のコンテンツにはまったく重要ではありません。

これは私がいつか非常に興味を持っていたトピックでした。したがって、私が当時持っていたブックマークを見つけることができないので、私のさらに大きな(今の)悲しみです。

先日つまずいたリンクを保存しました。 異なる言語は異なる現実に匹敵しますか? その接線は多少それにあります(コメントも読んでください)。いくつかは面白いです。

いずれかの方法 ...

英語は実際にはかなり効率的で簡潔です。ほとんどの言語への翻訳はアイデアを作ります 表現するのが長い.

また、一般的にあることも受け入れられています 原始的な自然言語はありません. 。積極的に使用されているすべての自然言語は、同等のレベルの表現力を持っています。それは、アイデアが言語によって形成されていないと言っているわけではありませんが、自然言語が大きな影響を与えるとは思いません。

ライセンス: CC-BY-SA帰属
所属していません softwareengineering.stackexchange
scroll top