2:23 大学で言語学の授業をとっているのですが、そこで教授が言語はコミュニケーションのためのものではないのではないかとおっしゃっていました。その理由としては ①人間の言語は無限(eg. I think that Mary thinks that John thinks that Harry thinks that…Sophia is smart./彼は優しくなくなくなくなくなく…ない。)を作り出すことができる。実際に無限に文章を言い続けたり書き続けたりすることは不可能であるから、言語がコミュニケーションのためにあるとは言い切れない。 ②文法的に正しくても、複数の意味にとれることがある(eg. 私は妹と母に花をあげた→花をあげたのは「私」か「私と妹」か)。コミュニケーションのために設計されているならば、文法的に正しければ意味の取り違えが起こらないようになっているはずである。 というようなものでした。 (「コミュニケーションのために設計されたものではない」という主張であって、「コミュニケーションに使われていない」と主張しているわけではありません)
【別チャンネル:ゆるコンピュータ科学ラジオ】
th-cam.com/video/UZ2P2dDqZmY/w-d-xo.html
※今回のシリーズが好評だったので、別チャンネル化しました!こちらもよろしくお願いします!
【今回特に言及されたもののリンク】
○『誰が音楽をタダにした?』
amzn.to/3DYlYLn
鬼おもろ技術史×犯罪ドキュメンタリー×音楽史本です。鬼おもろい。
○『人体600万年史』
amzn.to/3vrLiq2
○『新・自然科学としての言語学』
amzn.to/3AXdB0u
【参考文献のリンク】
○『コンピュータ、どうやってつくったんですか?』
amzn.to/3arkigH
「コンピュータを妖精にたとえる」など、超分かりやすい工夫がいっぱい。誰でも楽しく読めるので、入門用にオススメ。
○『コンピュータはなぜ動くのか』
amzn.to/3oSRAxF
古い本だけど、古くならない本質が分かる。プログラミングやったことある人にオススメ。ちょい難しいが、初学者でもギリ読める難易度。
○『ディジタル回路設計とコンピュータアーキテクチャ』
amzn.to/2YFcOnk
大学の教科書。堀元も半分くらいしか理解してない。Verilogの講義はギリギリで単位を取った。
○『苦しんで覚えるC言語』
amzn.to/3mMCI0S
「興味が湧いたからプログラミングしながらコンピュータの仕組みを理解したい」という方はこちらをどうぞ。コンピュータを理解したいならやる言語はC言語一択です。この本は比較的苦しくないです。
「苦しんで覚えるC言語」が「比較的苦しくない」
つまり、そういうこと。
うんちくのタネ本としてコメントしてましたが、誰タダが取り上げられて嬉しいです。
エラーが出たときは「怒られた‥‥」とつぶやくし、
エラーの原因が分かったらコンパイラに「ごめん俺が悪かった!」と謝るし、
出力が意図した通りなら「いい子だ!」と口に出して褒めるので、私はコンパイラと会話をしている。
ああ、同じw
そこじゃねぇよ笑
一方通行やろww
鍛冶職人が「鉄と会話している」というのと同じですね。
こういうと高度な表現に聞こえますが、雷が鳴って空が起こっているだの、雨を見て空が泣いているというのと変わりないんですよね。
@@kamodomon0913 鍛冶職人は納得ですが、雷と雨は違うかと。
職人は働きかけ、反応に対してまた応える。
自然現象はこちらからの働きかけは無いし、状況を詩的に表現したのみかと。
@@yuo9 確かに。
意識の無い情報に意識を感じているという意味で書きましたが、反応するという部分までは例えられていないので不十分ですね。
プログラムしていても会話という気持ちは全くなくエラーが出ると「あー、自分が不勉強だなー」とか「いや、その仕様はおかしいだろ」とか自分やそのプログラムを作った人に対して思ってます。
でも、「親を殺す前に子を殺さないといけない」などと、擬人化表現は使っちゃいますねw
ゆる言語学ラジオではあんなに知的な水野さんが、ゆるコンピューター科学ラジオでは「サーバー、なんか…凄そう」とバカの回答をするのがグッとくる。
>落ちるヤツ<
堀元さん説明上手いけど、改めて水野さんの「専門外の人に専門的な話を面白く伝える」能力が高すぎると思った。
水野さんは天才だよね。相手の反応を見て概念や説明の切り替えをするのが上手すぎて感動する。
表面的な言葉での定義だけでなく本質的な概念をきちんと理解していて、なおかつ語彙が豊富にあるからこそ臨機応変に説明を適切に行えるのかもしれませんね
その能力私も欲しい〜
例えが言語という日頃から視聴者がとてつもなく慣れ親しんだものだからわかりやすいってのはあると思う。野球なんかはくっそ有名だから頻繁に例えとして使われるけど俺はルール知らんから何がなにやらになるし。
@@HAPPYNON0117能力っていう考えだと一生できなさそう。これって結局言葉を使った遊びだからね。
サーバーに対する(非エンジニアの)水野さんの認識が「落ちるやつ」って聞いた時に、いちエンジニアの端くれとしてすごく申し訳ない気分になったw
結婚して四半世紀。コンピュータに疎い私は、プログラマーの主人に何を訊ねることも憚られましたが、この度、勇気を出して、どんなプログラム言語使ってるの?とか、聞いてみました。
彼は嬉々として話始めました。
いや、もういい。自販機のボタン、ちょっと押してみただけだったのに。
お疲れさまでした。同じ立場として、心中お察しします。(水野)
嬉しすぎてブレーキ壊れたんだな…
このチャンネルの面白さである理系と文系の融合みたいなものが他のコンテンツにもどんどん広まって欲しい。
理系の大学生としては、たまに文系の話されるとリラックスできて頭の中のバランスが取れた感覚になります。
理系や文系というのは明治政府の富国強兵策によって作られた日本独自の便宜的な分離。学問に理系も文系もない。
@@awizcd6472
本当は自然科学、社会科学、人文科学みたいに分けた方がいいんですよね
理系・文系の分け方のせいで人文科学系学部がやっていることは科学とは違うみたいに思われて、諸外国に比べて学問としての整備が遅れている現状がある気がします
そのせいで藤村新一のような例において、属人的で再現性のない研究成果が学会でも認められてしまうという異常事態が起こったと思っています
あらゆる回に登場する「チョムスキー」の
伏線が撒かれたラスボス・隠しボス感が凄い
現代言語学の潮流の大部分がChomsky(生成文法)の影響を受けているので、、、。
物理学を語っていてアインシュタインが出てくるようなものですね
@@riob.8071 色んな分野でしれっと登場するニュートンニキの強キャラ感がたまらない
@@onion9089 「な、なんだってー!?」
計算機能力階層とチョムスキー階層が対応してたりもするので情報科学との接点という意味でもすごい重要ですもんねえ……。
水野さんの例え話を生成する早さが凄いなあといつも感心します。双方から指摘の応酬が起きている時、受け身の私はアハ体験の連続が気持ちよくて見続けられます。
まず前提知識を確認するためじっくり話し合い、用語の定義を明確にし、ときに適切な引用や類推で意見を端的にまとめ、わからないところは曖昧にせず素直に質問する。そこから興味深い新たな疑問が生まれる…
相手を論破することだけが目的じゃなくて、本来良い議論ってこういうものなんですよね。なんだかすっかり忘れてた
アメリカに駐在しているので、この放送は金曜日の夕方です。
1時間に渡る濃いディスカッションを聴きながら飲む酒は最高です🍺
ありがとうございます。TGIF
今回、過去一面白かったかもしれない
お二人の知見がクロスオーバーして、会話の中で(現時点の)結論が生まれていく過程がめっちゃ好きです
爽やかに一瞬で論破されたっていうのかっこいい
信頼し合ってる感じが素晴らしいですね
ゆる言語学ラジオはずっと水野さんの素晴らしさだと思ってましたが、改めて堀元さんの素晴らしさを感じたシリーズでした。
プログラミング言語には確かに管理者がいるけど、管理者の方針がどうしても気に入らなければ、派生して自分版を作ってしまうこともできますね。オープンソースなら尚更。それが流行るかどうかは別問題ですけども。
方言・スラングはforkなのかもしれない?
ドリフトですね。
64bitの命令が短いのは、「AしながらBしつつCを考えてDしろ」みたいな複数同時処理ができないということでは?
人間が無意識にしている複数動作(例えば下を噛まないように咀嚼するとか)はできない。代替として、動作命令を細かくして人間からは同時にしか見えない速度でこなしている、みたいな感じかな?
コンピュータも言語も素人だけど例えあってる?
掃除機は「ある」
ルンバは「いる寄りのある」
ペッパーくんは「いる」
なので自分の手から離れたところで好き勝手動いてる子に生を感じるのだと思う
お二人の会話はお互いに正直だからこの面白さが成立するんですね。
いろんな学問に派生していくのがたまらなく面白いです!!
ゆるコンピュータ科学ラジオもシリーズ化してほしい〜!
24:00ごろの堀本さんの話は、興味深かった。私たちが"有生性"を感じるのは、自分にとって'uncontrollable'なモノに対して思うのかもしれないと、思わされた。
逆に、支配可能なモノばかりが周りに溢れているときに相手を生きているとは感じない。この点、とても共感します。
あんまり本質とは関係のない話で、
申し訳ないのですが、
CPUの8086が発売されたとき、
つまり、8bitから16bitになったとき、
足し算しかできなかったCPUで、
掛け算ができることになり衝撃を受けました。
まさに、進級おめでとうですね。
女性がマニアックなコメントを入力したみたいになっていますが、
このコメントを入力したのは、私の父であり、
決して女性のコメントではないことを連絡させていただきます。
ちなみに、私にはなにを言ってるのかさっぱりわかりません。
6309 CPUには16bit掛け算・割り算命令が有ります。流石究極の8bit CPUだ。
i8087(数値演算コプロセッサ)を追加すると、浮動小数点計算ができるようになり性能改善に(頭がよく)なった。
@ふきめふ やっぱり人参最高を見れて感動した
サーバーとは一体何なのか、、、
その謎を解明すべく我々はアマゾンの奥地へと向かった、、、
Amazon のサーバーは巨大だろうな
アマゾンの奥地へ進んだつもりが、雲の中に出てしまった。何を言っているのか分からねーと思うが、おれも何が起きたのかサッパリわからなかった…
@@早川眠人 cloudじゃないですか!
暗渠が合流しまくったり源流を遡ろうとしたりするのが益々楽しくなってきました
「暗渠が合流する」を表すパロール欲しい
C言語における曖昧さは「未規定の動作」(unspecified behavior)として定義されてますね
例えば関数の引数の評価順は決まっていないので副作用があると演算結果が変わります
これは「処理系依存の動作」より曖昧で同じ処理系・同じ翻訳単位内でも変わる事があると定義されてます
いつも面白いです!色々会話が展開していって、お話されてるお二人が楽しそう過ぎてうらやましい限りです。それを見ることができる視聴者としても幸せです。いつもありがとうございます!
コンピュータは「ある」で、サーバは「いる」というのはデーモンやプロセスを生き物のように考えるからですかね?
私も感覚が似ているので共感できます。
特に自分が作成したプログラムのプロセスなどになってくると我が子のような感覚になるのかも。
最後まで聞きましたがやはり、1984年のニュースピークを水野さんに分析してもらいたいという気持ちが強くなりました。
うまく言い表せないですが、定義や意味が明確という意味ではプログラミング言語と似ていて且つ自然言語である英語を元にしているので。
サーバーやプロセスを「いる」と言ったり「生きてる」と思うかは人それぞれだけど、
動かなくなったら「死んでる」と言うのは全エンジニア共通の気がします。
ハングしたことを「死んだ」表現は良くしますよね。「Excel死んだ」とかソフトウェアに対しても使っちゃいます。
15:00 近くで喋ってた内容について、犬とのコミュニケーションが自然言語か形式言語か言語ではない、という議論があったが、生後間もない赤ちゃんに対する発話が3つの分け方のどれに分類されるのか気になりましたね。
仮に言語ではないという結論になったら、赤ん坊がどれくらい大きくなったらコミュニケーションが自然言語とみなされるのか気になりましたね。
話者と聴く側との知識や思考レベルに大きく差がある場合、の定義すれば犬猫にも適応可能か。なるほど。
非言語コミュニケーションと言語コミュニケーションの違いなのかなって思いました。
言葉がわからない人同士でも表情や口調によってその人が怒ってるのか悲しんでるのかたぶん理解できますよね。
犬とのコミュニケーションや赤ちゃんとのコミュニケーションは非言語コミュニケーション、共通の文法構造を発音体系を共有して、言葉によるコミュニケーションが言語コミュニケーションだなって思いました。
日常会話は言語コミュニケーションと、非言語コミュニケーションを併用してますね
型の指定をしない言語は、命令文やインプットされたデータの特徴を見て型を推論していますが、これは文脈を読んでいそう
型推論のときに事前に分かっている型のことにcontextという専門用語使いますね
「量が格段に変化すれば、質が変化したように感じる」という堀本さんの名言のように、やはりコンピューター言語が自然言語、或いはAIが人間だと人間が感じるまでになるには、莫大な量のインプットを必要とすると思いました。
いつの間にか数学と言語の境目がなくなり、日常的な会話に組み込まれる日が来るのではないでしょうか?ww
形式言語は間違えることができないから、誤解や誤読や誤配が可能な自然言語に到達するには、コンピュータが生命体になる必要があるのではないかと思います。
@@もりぞう 無生命が生命になるまでの情報量の差は、単純に考えれば、人間の脳のシナプスの同時発電数と比例すると思われます。
苫米地博士と言う人が言うに、小さな発電所レベルだそうですが、60兆のシナプスを半導体で真似をするとなると更に莫大な量が必要と考えられ、いわゆる現在考えられているような電気ではなく、プラズマ的なやつに質の変化が求められるかもしれません。
人間がSiriに話しかける時は文脈を廃して正確に伝わるように言葉を選ぶけど、これは自然言語の枠から外れてしまうのだろうか
相手の話を否定し合うんじゃなくて一応対立関係だけどお互い賛成できるところを探し合う。でもそれは違うと思ったところはちゃんと言う。みたいなこーゆー議論できるの素晴らしいなと思う
私は元々国文学専攻のゴリゴリの文系人間、全くの門外漢なので最終回ということでプログラミングについての話を楽しみにしておりました。
ですが、開始早々、文系vs理系の言語学討論始まって予想外すぎて最高でしかないです!けしからん、もっとやれ!ってやつです!最高!!!
詩は文法の限界を超えるもので、自然言語には自らを逸脱することができる特徴をもつと思いますが、コンピュータ言語には逸脱が許されないという特徴があると思います。
面白い!
詩は文法を逸脱した結果、意味を確実に伝えられるとは限らない、それこそ曖昧さの最たるものな気がします。
プログラミング言語は曖昧だと困るから、文法を逸脱しないという典型例だと思います!!
意味と意義が一致してるのがコンピュータ言語で,場合によっては意味と意義とが必ずしも一致しない(例:I love you.⇒月がキレイですね)のが自然言語ってかんじですかね.
「曖昧さ」よりしっくりきました。たしかに!
それってbitの話じゃないの?
自然言語だって同じものを共有してる大人同士だと逸脱できるけど、
子供に対してとか外部の人間にはできない。
それにあくまでも芸術だし、正確に伝わらないこともあるし。
@@shingoy.5428
「文法の」限界とあるので、たとえば「先生、トイレ」のように文法としては正しくない表現も自然言語だと一定許されて、解釈の余地があるという話をしているのかなと思いました。プログラミング言語だと、あらかじめ決まった構文に当てはまらない文字列はそもそも「(その言語の) 文」とはみなされず、解釈もされません。
生成文法で言うとプログラミング言語のパーサー(構文解析器)でも利用されてますよね。コンピュータサイエンスの発展にもチョムスキーは欠かせない人物だったというのは面白いですね。
形式言語を機械的に扱うのに、生成文法の体系が相性いいんでしょうね
2:23
大学で言語学の授業をとっているのですが、そこで教授が言語はコミュニケーションのためのものではないのではないかとおっしゃっていました。その理由としては
①人間の言語は無限(eg. I think that Mary thinks that John thinks that Harry thinks that…Sophia is smart./彼は優しくなくなくなくなくなく…ない。)を作り出すことができる。実際に無限に文章を言い続けたり書き続けたりすることは不可能であるから、言語がコミュニケーションのためにあるとは言い切れない。
②文法的に正しくても、複数の意味にとれることがある(eg. 私は妹と母に花をあげた→花をあげたのは「私」か「私と妹」か)。コミュニケーションのために設計されているならば、文法的に正しければ意味の取り違えが起こらないようになっているはずである。
というようなものでした。
(「コミュニケーションのために設計されたものではない」という主張であって、「コミュニケーションに使われていない」と主張しているわけではありません)
個人的に、言語は音楽データ形式の「midiファイル」に似ているように思っています。
例えば「赤」と言った時に、正確には個人個人で異なる「赤」というイメージを再生させる指示データとして「赤」という言葉があるのかな、と。話し手と聞き手が全然違う「赤」のイメージを持っていると、同じ言葉でも再生されるイメージは大きく異なる。
midiファイルもそれ自体は音声データを持っておらず、「こういう音をこの長さで再生せよ」という指示データ。実際に再生されるのは、そのパソコンに保存されている音声データなので、パソコンによって違う。
「文脈による曖昧さ」も、それぞれの個人に保存されている「押すなよ」の意味が違うと、違う意味に捉えられるという解釈なのかなと。
例えば、押すなよ、と言いながら押されるバラエティを見ると、個人に保存している「押すなよ」の意味が更新される。
プログラム言語の要素は「選択」「繰り返し」「サブルーチンコール」しかない。
サーバは「生きてる」「死んでる」と表現する。
→実際killしたり、Zombiになったりする。
プログラムやコンピュータを作ってるのも人間で、対話的なやり取りをするように
プログラムしているから生物的な感覚になってると思う。
それを言うなら Dijkstra の3つの制御構造 concatenation, selection & repetition ね でも再帰を許せば ”“To iterate is human, to recurse, divine” なんだよなぁ
お二人が大学での履修内容から見ても 在野の研究者寄りの素人 くらいの立ち位置なのがすごく好きです。
生物系(進化学?)の話をはさむなら一度は専門でそっち系を学ばれた方がいないと難しいような気がします
曖昧さに着目したプログラミング言語と自然言語の区別は、ゆるコンピュータ言語ラジオを第1回で語られた「量的な差異が質的な差異を生む」の一例のような気がしますね!
プログラミング言語にも一定の曖昧さ(初期値不安定性)はありますが、その気になれば人間が制御できる範囲の量でしかなく、制御できた時点でもはや曖昧なものではなくなるはずです
一方、自然言語の曖昧さは、五感全てが入力になり得る無限個の変数の参照が必要なもので、人間がその全てを理解して制御することができない量だから曖昧さを解消しきれない、のかなと思いました!
人が犬に「おすわり」「まて」などの指示をすると従う時や、盲導犬が仕事を行っているときに人に伝達する時など、犬と人のコミュニケーションは、誰が同じ指示をしても伝わることが保証されているものもありますよね
今回も、とっても楽しく拝聴しました!
命令が「4文字」の話の時に、CISCとRISCの話を懐かしく思い出しました。
自然言語と形式言語の話から、次は人工言語の話を聞きたいです。エスペラント語ですね。
しかし実態は世界中の人がエスペラント語を覚えようとはならず、英語がその地位に一番近いところにいる状態です。
では、なぜ世界共通語のニーズがある中、誰にでも比較的容易に習得できるような言語が開発されても普及しないのか…?
自然言語が持つ何らかの強みを手放すことの不便さのせいか?
これを追求していくと、母国語をしっかり勉強することの大切さなどがはっきりしてきそうな気がするんですよね。
自然言語が曖昧性をもってデザインされているのは人間の演算性能や身体の特徴に沿っているから、ということがプログラミング言語の登場・発達によって明らかになるの、オモロい
コンピュータの能力は自然言語に例えるとすれば「名詞の種類はほぼ無限だけど、動詞の種類が非常に少ない」だと思います
自然言語は人と話すための言葉
コンピューター言語はコンピューターに言うための言葉
数学は自然を聞くための言葉
また違う種類の言語というところで、手話についての言語学的な観点のお話も気になりました。手話も自然言語らしいですが、音を伴わないっていうところで他の言語とも異なる部分もありそうで、面白そう。
自分も「言語は、まず音が先にある」という点で手話は特種かな〜と思いました。
ただ、『音を視覚化したもの』と考えれば言語というより文字と同じだなと今は考えています。
水野さんへ
プログラミング言語の解釈器(コンパイラ)はちょっと勉強したプログラマーなら誰でも作れるものなので、翻訳家が誰かによって同じ入力でも違う用語を出せます。
そして、その翻訳部分に色々なおせっかい機能を入れたがる人達がいるので、入力が足りていない時に情報を補う事を勝手にやるためにやる事を勝手に変えてくれるものが沢山作られています。そしてそのおせっかいの仕方は、機械学習により最適化され作者にもよくわからなくなっているものも多数あります。
この場合、やりたかった事が伝わる場合も伝わってるようですちょっと違う場合も、全然違うんだけどなぁ、そこを受け取っちゃったかぁという場合もあります。
育てた結果、私の翻訳器と他の人の翻訳器は同じ入力に対して違う翻訳結果を返してくれたりします。
初期値の話はある地点での初期値なので、型理論では環境と呼ばれます。1変数ではなくめちゃくちゃ広いメモリ空間の話なので、視覚情報や経験などと同様のものと考えることも可能かと思います。(理論上は無限の空間を想定しているので)
自然言語に似るとかフィボナッチ数列とかの話って
水が100度で沸騰して0度で凍るのスゲーみたいなこと言ってるようなことですよね
私は事務でVBA使ってるだけですが、パソコンのことをパソ子と呼んで可愛がっています。
「パソ子ちゃん、これやって」っていう気持ちでコード叩いてます。
だからコンピュータ言語は私にとってはパソ子と話すための言語です。
xを10にするっていう指示をパソ子にするとき、
「1+1+1+…=10」と馬鹿正直に打つのか、「xに1を10回足せ」と書くのか、「xに10を入れる」にするのかでパソ子ちゃんの処理速度は全然ちがいます。
パソ子ちゃんが理解しやすくて、はやくお仕事ができる指示をうんうん悩みながら出してます。
だから曖昧ではないけど、色んな表現があって、伝わりやすさがあって、ちゃんと言語だという認識です。
私の場合、独り言は思考が行き詰った時などにメタ視点に立って自分自身に語りかけるつもりで使うので、ある種自分自身とのコミュニケーションだから自然言語と言っていいんじゃないかと思います。
それ、ラバーダッキングに似てますね。
心理学とかだとホムンクルスとかいうやつでしたっけ,メタ認知
毎回とても楽しく拝聴させて頂いています。
水野さんへ
「かわいい」の推量が「かわいそう」。大変奥深く、適切だと思います。
可愛いという愛する感情のなかに、可哀想の哀しい感情が含まれているからです。
深く愛することは深く哀しむことでもあります。
子どもを持って、この二つの言葉が結び付いていることを実感しました。
熱をだして苦しそうにしているとき、可哀想以外の言葉が見つかりませんでした。
人とコンピュータの間ではなく、私はコンピュータに手段を限定して、人へ思想や意思を伝えようとした記号なので、言語だと思えます。コンピュータ言語はコンピュータを操作して、何かを表現したり、自分の代わりに作業する記号だと考えます。コンピュータに人間味を感じるのは、コンピュータの動作にプログラマーが記録した意思や感情、思想を感じ取るためだと思っています。
"人間が理解/支配できるところから構築するコンピュータサイエンス(∋プログラミング言語、自然言語処理)"と、"ブラックボックスとなっている領域の理解に努める言語学(∋人間、自然言語)"という意味での差異は必ずあると思います。その一つが曖昧性であったりするのだと感じました
「ゆるコンピュータ科学ラジオ」シリーズ、大好きです。お二人の知的トークの掛け合いを聞いていてワクワクしました。
人と議論することの重要性と有用性を非常に感じた。
言語の本質はコミュニケーションツールというよりも思考ツールに近いような気がする。概念に音や文字を当てはめるのが言語の一次的なところで、仮にそれを他者と共有しなくてもそれは言語たりえると思う。
サーバーが「おちるやつ」は笑うw
ゆるコンピュータ科学ラジオはロジカルで普段とは違う面白さでした。また見たいなあ〜
自分の専門分野でもあるので人体回楽しみです!
私が英語とC++を学んで感じた最も大きな差はコロケーションの存在です。プログラミング言語はかじった程度なのでエンジニアの方に言わせると違うのかもしれませんが,文法的に正しい文字列を並べ続ければコンピューターは確実に答えてくれるという安心感がありました。しかし自然言語である英語はいくら文法的に正しく単語を並べても,「それはちょっと失礼かな」とか「意味はわかるけどあんまりそういう言い方しないんだよね」といった理不尽なエラーを返されることがしょっちゅうあります。このような単語どうしの化学反応と正しさを超えた適切さの存在こそ,自然言語とプログラミング言語の違いであり,私が英語を習得できない理由だと思います。
32:10
涼宮ハルヒの憂鬱で長門の使うコンピュータ言語が自分の知ってる言語と似てて違和感を覚えたことを思い出した。
同じような自然言語を使う人間が考えた言語だから類似性を感じるのであって、
例えば宇宙人やそれこそ情報統合思念体みたいな集団が独自にプログラミング言語を作ったらどうなるのか気になる。
『とある魔術の禁書目録』の妹達が持つ「ミサカネットワーク」がまさに情報統合思念体ですね。
ディベートだと気が付くまでちょっとイライラする時間帯があったんですが、気づいてからはとてもニコニコ見られました。
まっとうなディベートは大学の授業以来だったので、懐かしさとディベートが成立する要件のハードルの高さを嚙み締めました。
「自然言語には曖昧さが必要」…これは真理だと感じる。「人間の記憶には限りがある」くらいに言語の本質として、そして前提として考えるべきだと思う。曖昧性があるから意味の拡張や含みが出て、そこからドリフトのさざ波が起き、言語変化につながり、それがまたある地点でまた別の解釈が出て…というように。
たしかに後ろでずっと動いてるプロセスは全部「いる」だなぁ
なんならプロセスを止めるはkillだもんね笑
たしかに、killですね!笑
面白い!
「(プロセスを)走らせたら止まらなくなっちゃったので結局殺した」とか、
「子供がいるのに親が先に死んだからゾンビになった」とか、
プロセス停止ルールとして、子供を先に殺してから親を殺しましょう、とか、
そういう会話(文章)が成り立つから余計に「いる」と感じるのかも。
ゆるコンピュータ科学ラジオも面白かったです!また堀元さんの回やってほしいです。
ただ、そろそろ水野さんの回が恋しくなってきました。
自然言語に曖昧さが必要なんじゃなくて、自然言語の特徴が曖昧さにあるように思いました。
言語か否かという問いの立て方ではなくて、それぞれの対象の違いからくる性質の違いを分析することで、コンピュータと対置される人間の本質がみえてくるように思います。
議論あるある
いつのまにか「存在とは」「意識とは」みたいな哲学っぽい話になっている
■入力同じで結論が違う
堀元さんが直感でイメージしてたのは、例えばC言語でif文をelse無く入れ子にした場合にコンパイラに依存して結果が変わる、とかの話な気がします。
なので入力が同じで、(コンパイラの解釈によって)結果が異なる場合という反例はあります。
■初期値代入の処理が無い
自然言語に当てはめると、「全財産ください」という言葉を言う相手が、金持ちだった場合と貧乏人だった場合に出す額が変わる、という話だと思います。
結果は異なるが、これは命令(言語)が曖昧だからではなく状況が違うからと言えると思います。
なのでこの例は、自然言語でもプログラミング言語でも曖昧じゃなく伝わる例な気がします
■哲学的ゾンビ
『中国語の部屋』というパターンがより今回の話に近いかも
■コンピュータは小学一年生
難しいことをさせるには、簡単な作業に噛み砕いて伝えてあげないとコンピュータは出来ない。だとイメージし易いかもしれないです。
違う例えで、作業スピードは物凄いけど社会を常識は知らない新人社員に仕事をさせる、という例えでもいいかもしれない。
歴史的経緯では、コンピュータ的には難しい命令を覚えさせておくより、簡単な命令だけ覚えさせてプログミングで指示するほうが効率が良いとなったから今の形になってるそうです。
if文の入れ子はコンパイラに依存せず結果は確定的だと思います。また、if文の入れ子の代わりに&&で条件式を繋げても同じ結果になる筈。
依存するのは他のコメントにもある様にfoo(x++, x++)でしょうか。
@@早川眠人 間違えちゃいました。。訂正ありがとうございます
勉強で例えると、補助記憶は本棚、主記憶は参考書を置く作業台、そしてCPUは処理する人間で、その人間はノートに線を書くことしかできないイメージ
私が心理学科に卒業した時、演習で「ドラえもんに心はあるか?」という議論をしたことを思い出しました。ドラえもんは一見すると人間と遜色ないコミュニケーションをしているけれど、果たしてそれは心であるといっていいのか、それは人間の心に模したものに過ぎないのでは?という考えもできると思うわけです。言語とは何か?という問いはすなわち心とは何か?という議論に収束するような気がしています。
この動画シリーズ、すごい面白いです!
形式言語の曖昧さについては、2つくらい別の例が思い浮かびました。
1つは「コンフィグファイル」です。
コンフィグファイルはプログラミング言語と同じで形式言語です。
しかしコンフィグファイルはそれを読み込むプログラムによって別の結果を生み出すようなことがあります。
バリデータにとってはコンフィグの内容の不整合が無いかを確認を行うようになります。
本体にとってはそのコンフィグにそった本来の処理を行います。
エディタだったら新たに発声する対象のようなものです。
もう1つは「機械学習型のプログラム」です。
これには2つの曖昧さがあります。
1つ目の曖昧さはでDefine by Runという動作です。同じソースコード内のコードを「学習」と「推論」で2回解釈します。
(機械学習型プログラムのコード記述は、微分量を取り出す操作を行うためのコンフィグみたいなものでもあって、その意味をもとに2回違う動かし方ができるわけです。)
もう1つの曖昧さは、そもそも機械学習の確率論的な動作ですが、こちらは深く語るほどではないかもしれません。
いずれにしろ興味深いです!いつも面白い動画ありがとうございます〜。
初期値がコンテキストって話めちゃめちゃ面白いですね。
人間の持つコンテキストが計算可能になってしまえばそのコンピューターは人と人のように会話できるのかな。
コンピューターから見たら人間が魔法を使っているように見えるかもしれませんね。
シンタックスとセマンティクスの話にも関係ありそう
プログラミング言語はシンタックス・シュガーといって結果的に同じ処理・意味(セマンティクス)になる記述に
色々な表現が意図的に与えられてたりするけど、このあたりは割と自然言語的な発想かも
(言語自体の曖昧さというよりは表現の多様性みたいな話だけど)
目の前のコンピューターも、大きな演算をさせている時は「がんばれよ〜」とか思ったりしますね!
register は er で終わるから player みたいな名詞だなと思って regist っていう謎の動詞を作り出してしまうのは登録フォームあるあるネタ。
Weeeeeeeeeeeeeeeighってのし掛かってみる
犬のワンワンを飼い主は意図を違えずに理解できると前提するのであれば、たまたま遊びに来た友達がワンワンの意味を解さないのは、初対面のフランス人に日本語が通じないようなものなのでは。
仕事で物理的なサーバーを相手にしてます。私の中で物理的なサーバーは「いる」ですね。
同僚相手に「あれ、このサーバーどこにいるんだっけ?」と聞きますし、障害発生時に持ちこたえてくれた冗長用サーバーに「持ちこたえてくれて本当にありがとう、こっから相方助けてやるぞー」と話しかけますし、EOLを迎えて役目を終えたサーバーを下すときは「お疲れ様」と声をかけたあとみんなで黙礼します。ちなみに堀本さんがおっしゃっているApacheは私の言う物理サーバーの仕事(業務)のうちの一つの認識なので「ある」ですね。
僕も「C言語にも未定義動作があるじゃないか」
と思っていたのですが、よく考えたら「何が定まっていないのか」が形式的に定められているんでしたね。
「生物の構造が数学的に美しく記述できるのは当然」という話ですが、物理を勉強したものとしては、ちょっと首肯しづらいですかね。自然が数学で記述できることを出発点にしても、そこで現れうる数学的構造は非常に多岐にわたります。構造が非常に見えづらいものから見えやすいものまで。その非常に多岐にわたる構造のなかから、ある現象について、特定の数学的構造が現れたとすると、「すごい、なぜだろう」と感動がうまれると思います。
「プログラミング言語は人間の自然言語を模して作った形式であるからこそ、自然言語に似ているのは当然」という点についてですが、「自然言語を模して作った」とは?どこを模した?ifとかdefineとかの英単語や括弧を使ったりして見た目が自然言語に似ているということ?数学記号を使うと数学を模したことになる?「自然言語に似ている」?どこが似ている?論理構造があるということ?プログラムに論理構造が必要だからであり、自然言語を真似たわけではないのでは?等の疑問が湧きました。
私の意見を述べると、プログラミング言語は「言語」ではありません。文字の羅列で、見た目が言語そっくりなだけです。「操作コード」と呼ぶのが正しいです。処理システムが様々な概念を取り入れて体系化、高度化して「操作」の域を超えていますが、プログラムの本質は、機能を実現する機械であり、操作コードは部品であり、歯車とかバネに相当するものです。
要するに、どんなに高度になっても、言語の本質である「表現」ができません。
他人に伝えたいから表現しますが、そこでコミュニケーションと結びついても、コミュニケーションが言語の本質なのか?
「表現」と「合図」の違いが大切ですね。
「ただの数式」というよりも、数学、数式こそ「言語」です。言葉では表現できない「抽象」を表現するための言語です。
プログラミング言語は言語なのか?ではなくプログラミング言語は自然言語なのか?という議論になっていますね。私はプログラミング言語は言語ではあるが,自然言語ではない,と思っていて,これが多数派ではないか?と思っています。実際,Wikipedia でも自然言語の対義語として人工言語,形式言語が挙げられており,その例はプログラミング言語と書いてあります。この動画は自明な命題について議論している感じがしてモヤモヤしました。論ずるとすれば,「形式言語を含む,自然言語以外の言語っぽいと感じられるものを言語と呼んでいいのか?」という部分な気がします。
完全に同意
ゆるコンピュータラジオ、全ての回が興味深く面白かったのでまた似たような企画ぜひやってほしいです。お二人のインプット・アウトプットの速さから「脳内の回転速度どないなっとんねん」といつも感嘆してます。蓄積された膨大な知識ライブラリの管理が行き届いていて、常にアクティブでスタンバってられるから応酬と咀嚼のスピードもえぐいのでしょうか。それと、単純にお二人の性格と思考と会話テンポの相性が良すぎてなんかもう笑えてきます。
だんだん「ゆる」じゃなくなってるけど面白すぎる。
個人的にはプログラミング言語、少なくともその一部は自然言語に入ると思います。
プログラミング言語には二つの目的、インタラクションがあると思います。
先ずは人とコンピューターをつなぐもの。こちらはまあ言語より数式に近いかもしれません。
もう一つは人と人のコミュニケーションになります。こちらは言語のデベロッパーとユーザー、ユーザー内など色々なケースがあります。
こちらの方は自然言語に相当近い物になると思います。
生物の構造が数学的に記述できるのは当たり前みたいな話を説明聞いてすぐに受け入れられるの偉い
逆にこういう話で納得してくれない人のめんどくささはヤバい
自然言語のほうが、記憶力が必要だと思ってしまいます。
日本語の文章を見た時に、これを単語に分割するためには、(分かち書きする書記法でない限り)、
日本語の単語にどのようなものがあるか、の知識が必要だからです。
いっぽうで、多くの形式言語の場合、コンピューターが素早く処理(コンパイル or 実行)するために、
必要な "単語の知識" ができる限り少なくなるように設計されています。
もちろん、めちゃめちゃ離れたところにある値を持ってくる、という意味で、膨大な記憶力を用いた「指示語」を使ってはいますが。
一応反論としてプログラミング言語の中には文法がめっちゃ自由なRubyっていう言語がありまして、一文として同じ文字列の命令でも文脈によって実行内容が変わるような文脈依存性のある文法があります。
飼い主と犬の意思疎通は言語でない。これはその他の人から見たら意思疎通が出来ないからというのは分かる。
それで例えば双子が、その二人の間でしか通じない言葉で意思疎通していたとき、これは言語なのだろうかと思った。
言語とも言えるが暗号にも近い気がする。そもそも暗号は言語に入るのか。。。
高級言語で書かれたソースコード自体は導入されるライブラリによって処理と結果の差異が生じるので個人による解釈の違いと類似してそうだなとちょっと考えた
初期値の話は指示語に似てる気がする。「それ取って」「これ?」「ちがうちがう、それ」
形式言語というと法律用語とか軍事用語が典型例で単語を明確に定義し制限しただけで構造は自然言語と違いがないのでは。
自然言語かどうかで考えるときに大事なのは、話すほうと受け取る方の関係もあるのでは
自然言語は当然、人間同士であり、そこには個体差があるので、受け取り方も変わる
プログラミング言語は受け取り側が、初期値と処理速度を除いてほぼ一定になっている
自然言語であっても、受け取る人間の状態が全く一緒なのであれば、
プログラミング言語と同様に曖昧さはなくなる気がします。
新しいリスナーです。いつも知的好奇心全開の会話、有難うございます。聞けば聞くほど楽しくなってきました。私もハト派の高村幸太郎の面白さが分かるぐらいにギアが入ってきました。これから長らく観させて頂く事になりそうです。宜しくお願いします。
コンピューターの「いる」「ある」の話は最終的に「擬人化萌え」に行き着きそう…
そういえば窓辺とおこの妹はいないのだろうか?
初期値の件は、ボタンの掛け違いとかアンジャッシュすれ違いコントぐらいのものかと思いました。
数学にしろコンピュータにしろ
言語から外れるというより
一つの意味にしてある特定の場合のために使いやすくしているという方があってる気がする
1+1=2ということにしておくというのは
文法を決めておけば意味が定まりやすいとも
似たプロセスだと思う
あと、いわゆる「処理系依存」のコードというのは、「コンピュータ言語の曖昧さ」と言ってもよいのではないかと思います。コンピュータ言語は、自然言語と異なり、仕様に基づいて作られますから、曖昧さが少ないですが、そもそも、仕様自体に曖昧さがある場合も多いですし、仕様が曖昧な場合は、同じシンタックス(言語表現)にたいして、コンピュータごとに少しづつ違う解釈をすることになります。我々が、処理系依存と呼んでいるのは、そういうものではないかと思うのですが。
コンピュータ同士の会話に相当する通信プロトコル(IPとかTCPとか)も、プログラミング言語と同じ形式言語って枠組みで捉えて矛盾が生まれないのかって議論が見てみたいです
プログラム言語が自然言語でないのは、双方向性がないからかなぁと思ったりしました。
コンピュータ側がC言語をアウトプットし、我々になにかを伝えてこないので、自然言語ではないと言えそう。
エラーメッセージはあくまで元々その言語をコードした人物の自然言語による警告であって、コンピュータが我々にバグフィックスを要求している訳ではない感覚です。