- ベストアンサー
人はC言語で会話できますか?
世界に言語がまったくなかったとします。 そこにコンピュータ言語(例えばC)を持ち込みます。発音することは難しいと思うのでとりあえず筆談で考えます。 その状態で意思疎通をすることは出来るでしょうか。 また、逆に、表現できないことがあるので色々と拡張していくとします。その結果普通の言語レベルで会話をすることが出来るようになったとして、それはコンピュータ言語の特徴をどの程度残しているでしょうか。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
ここはやはりノーム・チョムスキー先生の生成(変形)文法にご登場いただくのがよいのではないかと思います。この言語学理論、学生時代に習ったときは、難しすぎてちんぷんかんぷんでしたが、その画期的なコンセプトは感動モノでした。 参考URLの説明を引用しながら、考えてみましょう。「生成文法では、脳の言語野に損傷を持たない人間は幼児期に触れる言語が何であるかにかかわらず驚くほどの短期間に言語獲得に成功するが、これは言語の初期状態である普遍文法(UG)を生得的に備えているためであると考える」ので、C言語がUGから自然に遷移したものであるならば、地球語として普及する可能性があるでしょう。 しかしながら、C言語は英語をベースにしつつ、コンピュータ言語としての制約条件や定義、あるいはコンピュータ言語としての普遍文法と呼べるもの(これをMac-UGとしましょうか)の基礎の上に、成立しています。つまり、UG→英語→Mac-UG→C言語という遷移プロセスによって、成立しています。 間にMac-UGが挟まっている分、人間の用いる言語としての自然な成立が妨げられていますから、C言語が全くそのままで、地球の言語として普及することは難しいでしょう。 ただ、C言語が地球外から提示された場合、それが地球人に対して非常にうまく提示されたら、上の矢印で示した遷移を、Mac-UGをすっ飛ばして、逆に辿るようなプロセスが発生することが期待できます。 そうなると、C言語が英語をベースに開発された言語であることを考えれば、そこで成立する言語は、意外と英語に近いものになる可能性はあります。(もちろん、発音などは似ても似つかぬものになってしまうでしょうが。) そこでは、英語にC言語の特徴が入っているのと同程度には、C言語の特徴が保持されるのではないかと予想されます。プログラミングのことは存じませんが、C言語からプログラミング上の制約や定義やルールをとっぱらったようなもの、そこから、UGの基礎に立ち返って独自の遷移が進み、独自の言語が成立すると考えてもよいのではないでしょうか。
その他の回答 (6)
#2さんの「宇宙人が飛来して全人類の記憶を消し、言語資料も全て奪い去ったとします。」を前提にすればできるようになると思います。どうも人間は会話することを属性に持つ生物のようです。1世代目はたどたどしく会話しながらも、2世代目になると拡張された新C言語でほとんど全てのことをコミュニケーションできるようになるかと思います。
お礼
回答ありがとうございます。 ピジンの話は興味深いですね。人間の適応力を思い知らされます。 ただこれは複数の言語が既にあった場合の話なのでC言語単独でどうなるかが未知数です。 この話を読んで、手話教育を受けなかった聾者集団が独自の手話を発達させるという話を思い出しました。 Cから何か別のものを作り出していくのでしょうか。 新C言語、どのようなものになるのでしょうね。
>世界に言語がまったくなかったとします。 そこにコンピュータ言語(例えばC)を持ち込みます。 上記で既に矛盾したことを言っているので論外です。 言語が全く無いのに「C言語」でと言っていますがC言語なら英字と記号、数字だけで出来ていますがこの時点で言語が混ざっています。「C言語」ではなく「アセンブラ」=バイナリだけでもあり得ません。バイナリコード見たことあります?覚えられるものではありませんよ。何億通りもある組み合わせを人間が理解できません。
補足
言っていることがよく分かりませんが、ないからこそ持ってくるのですが。 C言語を持ち込みます。C言語は英単語・英文法を豊富に含みますが、その由来すべき英語がない世界ですので、これは英字や数字ではなく「C言語文字」と認識されるでしょう。
- Ganymede
- ベストアンサー率44% (377/839)
これは、次の基本的な図式で説明できるように思います。 人(日常言語) ―(1)→ 【C 言語のようなプログラミング言語】 ―(2)→ 機械語(コンピュータを直接叩ける、コンピュータが直接実行できる) ―(1)→ の説明 人は、言いたいことから(非論理的な)あれこれを切り捨てて、プログラムを書きます。仮に、切り捨てなくてよいなら、そもそもプログラミング言語は要りません。日常言語で直接コンピュータに話しかければよいことになります。 ―(2)→ の説明 コンピュータ内部で自動翻訳されます。 さて、矢印(1)の過程でなるべく切り捨てたくなくて、プログラミング言語を「色々と拡張していくとします。その結果普通の言語レベルで会話をすることが出来るようになったとし」ましょう。 それは、【 】の言語が日常言語(と同等)になったことを意味しますね。ということは、【 】の言語は、もう「コンピュータ言語の特徴」を全く残していません。 要するにですね、そのようなことは、【 】の言語を「拡張」するというより、矢印(2)の自動翻訳を革命的に進歩させないと、実現しないと思われます。 > その状態で意思疎通をすることは出来るでしょうか。 これまでの説明からお分かりと思いますが、(非論理的な)あれこれを切り捨てた上での、不十分な意思疎通なら何とか出来るでしょう。 ただし、ご質問の前提について、気になった点があります。「世界に言語がまったくなかったとします」という仮定は、必要でしょうか? 例えば「他言語厳禁、C 言語オンリーで意思疎通をすることは出来る?」というような設定では、ご不満ですか? と言いますのは、それまで言語を全く持ち得なかったような生物に、いきなり(例えば)C 言語を与えて、習得できるか?ということです。まあ私はど素人ですが、ご質問者は、母語の習得の仕組み(たぶん発達心理学なんていう分野)に対して、いささか無神経なような……。このご質問の場合、母語が(例えば)C 言語になるわけですね。 さて、赤ちゃんはチャパチャパ水遊びをしながら、母親に「みず。みーず。ちゅめたいね?」と何度も話しかけられたりして、「水」という言葉を覚えていきます。また、三重苦のヘレン・ケラーが言葉を覚えたのは、もっと年長になってからですが、サリバン先生がヘレンに水を浴びせ、ヘレンの掌に何度も「water」と指で書き、ヘレンが反発し……というような葛藤を繰り返した後、ある日突然天啓を受けたように、ヘレンは「これが water であること」、「この世に言葉というものがあること」を理解したそうです。 つまり何を言いたいかというと、母語(その人にとっての第一言語)の習得には、生き生きとした「実感」、打てば響くような「共感」が、重要なのではないでしょうか。ところが、コンピュータには(少なくとも現時点では)母親やサリバン先生の役割は務まりませんね。それとも、有能なコンピュータオペレータが補助すればよい? いくら仮定の話としても、「世界に言語がまったくなかったとし」て、いったい、C 言語は母語になり得るでしょうか?
お礼
回答ありがとうございます。 >切り捨てなくてよいなら、そもそもプログラミング言語は要りません。 そのとおりですが、要らないものをあえて使ったらどうなるか、というのが質問です。 >矢印(2)の自動翻訳を革命的に進歩させないと 人間相手に喋るわけですから、その翻訳をするのは人間です。人間は#defineを忘れても適当に解釈しますし、文末の;くらい補ってくれます。 日常言語と同等にならなくても人間の融通性でどの程度意思疎通が出来るのか、ということです。 >他言語厳禁、C 言語オンリーで意思疎通をすることは出来る? それでもいいのですが、「他言語から文法や語彙を輸入しない」という条件をつけたかったのです。 >C 言語は母語になり得るでしょうか? 確かに母語の習得については無神経だったかもしれません。C言語を学ぶとすればそれはC言語が実感や共感と結びついた電脳世界なのかもしれません。 人間にそれを求めるのは酷でしょうね。(目も耳もなく、入力は文字列だけ)
覚えればできるんじゃない。 コンピュータとも直接やりとりが出来てこれからの時代便利かも………
お礼
肯定的な意見ありがとうございます。 母語がCだと人間としゃべりにくいと思いますけど…
言語がないということは言語中枢が未形成ということでしょう。 まあ、仮に、宇宙人が飛来して全人類の記憶を消し、言語資料も全て奪い去ったとします。 この状態で、宇宙人がC言語を教えたとします。 しかし、これは無理です。 「腹減った」 「痛い」 という単純な一語文から人類は習得し、二語文へと進むでしょう。 複雑なC言語を受け付けることはありません。
お礼
回答ありがとうございます。 まあ設定については元々無理のある話なので置いておくとして、なぜか複雑なC言語を完璧にマスターできたとしてください。 >単純な一語文から人類は習得し、二語文へと進むでしょう。 単純な一語文といえばfalseを返すことでどうでしょう。 赤ちゃんはtrue/falseくらいしか返さないように思います。
- satotu-a
- ベストアンサー率24% (55/227)
>世界に言語がまったくなかった この時点でローマ字というものは存在しないのでC言語と言うものは成り立たなくなります。
補足
もちろん文字も同時に持ち込みます。
お礼
遅くなりましたが回答ありがとうございます。 参考URLを読んでみたのですが難解ですね。とりあえず奥の深い学問だということが分かりました。 >逆に辿るようなプロセス これはあるかもしれませんね。意思疎通を図ろうとすると普遍文法が必要になってくるのでしょうか。 C言語の特徴。主語述語関係を{}で囲んで引数としてあらわすくらいの特徴は残りそうですね。