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


21

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

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

この質問は、「プログラミング言語がプログラミングの考え方にどのように影響するか」ではなく、「自然言語がプログラミングの考え方にどのように影響するか」に焦点を当てていることに注意してください。

邪魔にならないように、明らかに実用的な利点がある言語は英語です。私は利点は次のように英語のキーワードを選択するプログラミング言語とはほとんど持っていると思うifforwhile、とdo、ちょうどイタリア語話せないミュージシャンとしてのような言葉でアップトリップされていない強みを。少なくともプログラミングの世界では、英語が最近の共通語であるため、他のプログラマとのアイデアのコミュニケーションに関係しています。たとえば、StackOverflowで質問をするには、本当に英語を知っている必要があり、適切な回答が必要な場合は英語をかなりよく知っている必要があります。これは帝国主義的な態度のように聞こえますが、実際には実際に真実です。

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


2
それを有能なプログラマーに簡単に伝えることができます。Implement quick sort
ジョシュK

回答:


3

ああ、Sapir-Whorf仮説対Chomsky深層構造仮説戦争...

プログラミングは数学です。数学は応用哲学です。問題は次のようになります。自然言語は、頭をひっかくことなく数学的な概念を正確に表現できます。別の言い方をすれば、どの言語がアリストテレスの形而上学に簡単に対処できるのでしょうか?

ことわざの「野avな」言語は、最初に必要な抽象化を表現するのが最初は難しいかもしれません。However- しかし!-人間は新しい言葉や新しい概念を学ぶことができます。古代ギリシア語は哲学的な言葉から始めたのではありません。それらを発明し、他の言語に移植する必要がありました。

数学は普遍的であると考えると、私は強いサピル・ウォーフ仮説が間違っていると仮定します。


「数学は応用哲学です」と説明しますか?
フランクシェラー

1
@フランク:歴史的にはそうでした。「数学の基礎」をざっと見てみると、哲学的に根拠があることが明らかになります。例えば、直観主義者の議論全体。
ポールネイサン

あなたが言うように、いくつかの数学的な質問が哲学的だとは言いません。それから、「数学は哲学に応用される」と言うことには、はるかに大きな飛躍があります。
フランクシェラー

@フランク:まあ、数学の基礎が哲学的であるなら、基礎から派生したものも哲学的であるように思えます。いや?はい?
ポールネイサン

1
@フランク:ひどいですね?いくつかのリベラルアーツ専攻は、今彼のラテからくすくす笑っています。:)
ポールネイサン

13

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

ダイクストラは、前回のインタビューの1つで次のように述べています(CACM Vol。53 No. 8、p。44で転載)。

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


6

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

過去に「Çekoslovakyalılaştıramadıklarımızdanmısınız?」これは、「チェコスロバキアに似せられなかった人々の1人ですか」という意味です。非常に人気があり、トルコ語で最も長い単語として受け入れられました。ただし、質問の接尾辞(この場合はmısınız)は個別に記述されているため、1つの単語ですが、単語を記述すると2つの単語のように見えます。また、「Çekoslovakyalılaştırabildiklerimizdenmiydiniz?」のように、この単語の長いバージョンを簡単に作成できます。これらの理由から、この言葉は人気を失いましたが、トルコでは今でも人気のある言葉です。

トルコ語で話すことは、私が何を達成したいのか、どの情報を送信したいのか、そしてどの言葉を使うのかについて考えることを減らします。

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

または、スペイン語では「教授/ profesora」、ドイツ語では「Lehrer / Lehrerin」と言います。トルコ語では、英語と同様に、性別を示すために余分な単語を使用する必要があります。
トルコ語で先生はöğretmenです。女教師を指摘するには、「kadınöğretmen」と言います—女教師。しかし、ドイツ語にもかかわらず、「-in」を追加して女性化されていない場合、デフォルトは男性ですが、öğretmenには性別がありません。

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


1
文法的なセックスがなければ、小さなトルコ人はどこから来るのでしょうか?(ところで、私が質問を見たとき、ここを見る前に、トルコ語を考えました。それを話さない間、私はそれがどれくらい規則的であるかについて聞いていました。)
ランドールシュルツ

どうやらSmalltalkの構文は英語よりもトルコ語にさらに近い:smalltalk.gnu.org/blog/zuluuuuuu/smalltalk-and-turkish
フランクシェラー

@フランク・シアラー:スモールトークを学ぶ時間!
VikingoSは、モニカを復活させる

@Randallシュルツ:Uは私を得た;)私は常に長期的なセックスとジェンダーをミックス...
VikingoSは回復モニカ言う

サンスクリット語は、いくつかの研究によると、コンピューター言語に最も似ていることを意図していると聞きましたが、グーグルで検索できます。サンスクリット語が主流の話し言葉として取り上げられることはなかったため、また当時の技術研究のために学界の間で使用されていたため、今日の自然な話し言葉とは異なる可能性が高いため、それがどれほど真実かはわかりません。トルコ語は私の耳には非常に甘いように聞こえますが(聴覚的に)、それだけでサンスクリット語がプログラミング言語のように話すのはとても退屈です。「男の子か女の子か?」「はい」です。
-nawfal

2

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


1

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

あなた自身が言ったように、コード自体での作業とドキュメンテーション書くとき、コードについては英語が最も適切です。しかし、コード自体は単なる手芸であるため、プログラマー/コンピューター科学者の真の強さは、アイデア、アルゴリズムなどのものよりも上にあります-そして、それらのものが記述されている言語は実際のコンテンツにとってまったく重要ではありません。


0

これは、私が以前から非常に興味を持っていたトピックであり、それゆえに、さらに大きな(現在の)悲しみであり、当時持っていたブックマークを見つけることができませんでした。

先日偶然見つけたリンクを保存しました。異なる言語は異なる現実と同じですか?その接線はやや上にあります(コメントも読んでください)。興味深いものもあります。

いずれかの方法 ...


-1

英語は実際には非常に効率的で簡潔です。ほとんどの言語への翻訳は表現するために考えをより長くします。

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


筆記と話の両方で、中国語はおそらくこれまで出会った中で最も簡潔な言語だと思います。翻訳の長さは通常、英語の半分以上です。
ジョンパーディ

4
しかし、シンボルの複雑さはそれほど高くありませんか?
ジョーリセブレヒト

中国語は話されている言語のAPLですか?:)
nawfal
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.