【検証】40時間Lispを勉強したら信者になれる?【Lisp1】

Поділитися
Вставка
  • Опубліковано 29 чер 2024
  • 「Lisp」シリーズの第1回。「気難しそうで気難しくないLisper」「"3+5"より"+ 5 3"の方が良く見えてくる」「神が作った言語と呼ばれる理由」など、Lispを40時間勉強してその魅力に迫りました。
    【目次】
    0:00 40時間勉強したらLisp信者になる?
    2:03 熱狂的な信者が多いLisp
    3:23 気難しそうで気難しくないLisper
    8:59 キレイなLispのルール
    16:23 Lispと形式意味論は隣接分野
    22:44 3+5は例外
    28:09 Lisp以外の言語は自然言語的
    29:55 Lispは神の言語たりうるか
    【参考文献】
    ◯Land of Lisp
    www.valuebooks.jp/bp/VS003681...
    ◯はじめてのLisp関数型プログラミング
    www.valuebooks.jp/bp/VS000374...
    ◯ポール・グレアム『Lispの起源』有志による日本語訳
    masatoi.hateblo.jp/entry/2015...
    【サポーターコミュニティへの加入はこちらから!】
    yurugengo.com/support
    【親チャンネル:ゆる言語学ラジオ】
    / @yurugengo
    【実店舗プロジェクト:ゆる学徒カフェ】
    / @yurugakuto
    【おたよりフォーム】
    forms.gle/BLEZpLcdEPmoZTH4A
    ※皆様からの楽しいおたよりをお待ちしています!
    【お仕事依頼はこちら!】
    info@pedantic.jp
    【堀元見プロフィール】
    慶應義塾大学理工学部卒。専門は情報工学。WEBにコンテンツを作り散らかすことで生計を立てている。現在の主な収入源は「アカデミックに人の悪口を書くnote有料マガジン」。
    Twitter→ / kenhori2
    noteマガジン→note.com/kenhori2/m/m125fc452...
    個人UA-cam→ / @kenhorimoto
    【水野太貴プロフィール】
    名古屋大学文学部卒。専門は言語学。
    某大手出版社で編集者として勤務。言語学の知識が本業に活きてるかと思いきや、そうでもない。
    Twitter→ / yuru_mizuno
    【姉妹チャンネル】
    ◯ゆる音楽学ラジオ( / @yuruongaku )
    ◯ゆる民俗学ラジオ ( / @yuruminzoku )
    ◯ゆる天文学ラジオ ( / @yurutenmon )
    ◯ゆる書道学ラジオ ( / @yurushodo )
    ◯ゆる生態学ラジオ ( / @yuruseitai )
    ◯ゆる哲学ラジオ ( / @yurutetsugaku )
    #Lisp #ゆるコンピュータ科学_Lisp

КОМЕНТАРІ • 269

  • @yurucom
    @yurucom  3 місяці тому +30

    【参考文献】
    ◯Land of Lisp
    www.valuebooks.jp/bp/VS0036813874
    ◯はじめてのLisp関数型プログラミング
    www.valuebooks.jp/bp/VS0003745575
    ◯◯ポール・グレアム『Lispの起源』有志による日本語訳
    masatoi.hateblo.jp/entry/20151210/1449948614
    【サポーターコミュニティへの加入はこちらから!】
    yurugengo.com/support
    【おたよりフォーム】
    forms.gle/BLEZpLcdEPmoZTH4A
    ※皆様からの楽しいおたよりをお待ちしています!

  • @chaiple
    @chaiple 3 місяці тому +109

    数学寄り:より正確に簡潔に書くことを目的として、厳密性を追求する
    工学寄り:人間が扱いやすくなることを目的として、可読性を追求する
    ということか

    • @fujimarudesu
      @fujimarudesu 3 місяці тому +18

      そんな気がしますね〜
      工学は人間の実用のための学問で例外的ルールが多いのもそっくりだと思いました
      数学より理学のほうが表現的に良いのではなんて思ったり

  • @user-ck8hv9el1r
    @user-ck8hv9el1r 3 місяці тому +86

    コメント欄がLispの合理性を力説する人が多くてびっくり!
    素晴らしい言語なんですね!
    僕はC++勉強するのでここで!それじゃ!

  • @tenrai3065
    @tenrai3065 3 місяці тому +36

    熱狂的な信者はね意識してるかは別として沼にはめてくるんです。だから親切だし丁寧だしフレンドリーなんです。

  • @user-fn6jn4hn3f
    @user-fn6jn4hn3f 3 місяці тому +52

    ポールグレアム「Hei! Mr.Horimoto!」
    堀元「ちょっとわからないですねぇ」
    ポールグレアム「ネビッチ4」

  • @fruitkiwi1526
    @fruitkiwi1526 3 місяці тому +53

    他の言語だと 1 + 2 * 3 って書いた時に処理順が実は処理系依存になったりする、もちろん常識的にわかるけど
    Lispの場合だと (+ 1 (* 2 3)) という記載となり処理順に曖昧さがない
    そして四則演算の記号も処理系が勝手に処理することがなくなるため関数名等のシンボルにハイフン(-)が使えたりする
    ハイフン(-) は一番の敵で、引き算だったりマイナス値として扱わないといけなかったりするのでかなり面倒

    • @user-tu7nj5pj9q
      @user-tu7nj5pj9q 3 місяці тому +3

      すげぇ!そういうことか!
      プログラミング言語やったことないが、凄さは分かった!

  • @oboro307
    @oboro307 3 місяці тому +83

    + 3 5は、plus(3 , 5)の省略記法だと考えたら超わかりやすい、というかそもそもPython書いてるときもKotlin書いてるときも頭の中ではずっとそう思ってた

    • @user-jx7gm9ox6h
      @user-jx7gm9ox6h 3 місяці тому +11

      Cとかで演算子オーバーロードをやると、演算子も引数をとるただの関数なんだっていう意識が芽生えたなー

    • @nthdthdyjsehsnw4ethwbt
      @nthdthdyjsehsnw4ethwbt 3 місяці тому +5

      それ聞いてて自分も思ったwC#だと自作クラスの四則演算をoperatorのオーバーロードで定義しなおせるし、+ 3 5の方が超自然

    • @hukihamu
      @hukihamu 3 місяці тому +5

      Kotlinだと中置記法を作れる`infix fun`があるのは目鱗だった`3.plus(5)`= `3 plus 5`
      人間としてはinfixの形式のほうが読みやすいからなー

    • @Seiya_laugh
      @Seiya_laugh 2 місяці тому +5

      ExcelのSUM関数なんかはまさにその書き方ですね
      SUM関数の場合、値そのものよりセル番号やセル範囲を引数にすることの方が多いですが

  • @Chesterjg-yt8ub
    @Chesterjg-yt8ub 3 місяці тому +34

    水野さんが頑なに、プログラミング言語の事をコンピュータ言語と言おうとするの好きです

  • @pomeranodon
    @pomeranodon 3 місяці тому +22

    指数対数を習うときの難しさの原因は語順だと思ってます
    - や÷なら前に来てたはずの数が、logや√の後に来るんですよね
    こんなに演算間で語順が統一されてないのに、なんで理系の人がこれを許せるんだろうとずっと思ってました

  • @user-to7yv9xb5q
    @user-to7yv9xb5q 3 місяці тому +18

    そろばんの読上算は、最初に「加えて」とか「引いては」とかで演算の種類提示して、その後は「〇円也、〇円也…」で数字を羅列して行くらしいので、Lisp的かつ自然言語的な計算方法ですね。

  • @UrushiR
    @UrushiR 3 місяці тому

    楽しみに待ってました

  • @user-sc6yd7pp2f
    @user-sc6yd7pp2f 3 місяці тому +125

    今日初めてゆる学徒カフェにお邪魔します!

    • @merida2590
      @merida2590 3 місяці тому +6

      楽しんできてね😊

    • @kikyo6472
      @kikyo6472 3 місяці тому +4

      お、いいなあ
      行ってらっしゃい

    • @user-sc6yd7pp2f
      @user-sc6yd7pp2f 3 місяці тому +11

      せっかくなので相席でお喋りしました!超楽しかったです!!

    • @merida2590
      @merida2590 3 місяці тому +3

      楽しまれたようで何よりです👍

  • @Fnak202
    @Fnak202 3 місяці тому +5

    C++ の場合、演算子も [クラスのインスタンス]->[メンバ関数]->[引数] という記法に基づいていて
    「3+5」は(概念的にですが)以下の様に解釈されるようです。
    ①3 を初期値としたインスタンスの作成
    ②そのインスタンスのメンバ関数「+」に引数 5 を渡す
    ③メンバ関数「+」は、自身に 5 を足した値を戻り値として返す
    演算子をオーバーロードしてみると、この概念が分かるようになりますが、ややこしいことには変わりないです。
    Z80 アセンブラの「SUB s」(アキュムレータの値から s を引いてアキュムレータに入れる)の命令文に似ていると思えば、分かりやすい?

  • @user-im5nm3ez3w
    @user-im5nm3ez3w 3 місяці тому

    めっちゃ待ってた

  • @pico-pong105
    @pico-pong105 3 місяці тому +57

    Pythonはオランダ人が作った...

    • @kaz-jn7ro
      @kaz-jn7ro 3 місяці тому +20

      dijkstraはオランダ人なので、コンピュータサイエンスはオランダ人が作ったと言っても過言

    • @user-cl9pq3nk3o
      @user-cl9pq3nk3o 2 місяці тому +12

      コンピュータサイエンスは蘭学だったのか

  • @bombipap2687
    @bombipap2687 3 місяці тому +7

    Lispのキモは四則演算の表記法がどうこうではなく、コードとデータが同じ構造であるため自然な形で自己言及ができるところにあると思います。

  • @gg_p8879
    @gg_p8879 2 місяці тому +4

    沼への道は親切でできている

  • @kitassh
    @kitassh 3 місяці тому +10

    別分野から同じ話に近づいていく様がめちゃめちゃおもしろいですね。
    真理値の話をして、booleanが通じないところとかおもしろかったです。

    • @kitassh
      @kitassh 3 місяці тому +2

      トキヒロさんも呼んでほしい😂

  • @reinejy
    @reinejy 3 місяці тому +8

    +3 5
    って書き方は確かに一見わかりづらいけど
    ExcelのSUM関数みたいなもんと思えば入ってきやすいですね

  • @knu2112
    @knu2112 3 місяці тому +16

    n個の整数を足すぞ、ってときに、 ns=[1,2,3,4]; ns.reduce((x,y)=>x+y, 0) みたいに書いてから、「いやいや + が複数引数取れよ」って思っちゃいますよね(?)

  • @user-bi6uj7yf6q
    @user-bi6uj7yf6q 3 місяці тому +13

    言語学とコンピュータ科学の間というとやはり自然言語処理の回を見てみたいです😃

  • @user-sp7nn3tj4c
    @user-sp7nn3tj4c 3 місяці тому +21

    26:53 数学だと f(x) 、sin x とか最大公約数もgcd(84,32) = 4 みたいにプログラミングの関数っぽい書き方になっていますよ~

  • @graph23
    @graph23 3 місяці тому +20

    「3+5」、日本語だと「3と5を足す」で、云わば「3 5 +」だから、日本語には逆ポーランド記法は相性がいいと思う。
    (2*(3+5) 、2に 3と5を足したものを掛ける → 2 3 5 + * )
    (”逆”の逆で、言ってみれば、正の)ポーランド記法は日本語で考えると(むしろ)”逆”に感じるのかもしれない。

    • @quux-
      @quux- 3 місяці тому +3

      「3に5を足す」や「add 3 to 5」が自然言語的であって、3+5のような
      infix notation が自然言語的というのは感覚的に違和感がありますね。

    • @graph23
      @graph23 3 місяці тому +1

      @@quux- 確かに"自然言語的”と言ってしまうのは違和感。なんだろうなぁ…ただ、「3 足す 5」と言い、「3+5」と表記するのにも慣れている自分もいる…、 ”日常的”、”慣れ親しんだ学校算数的” でもある…^^;

  • @user-di3xc7qy6o
    @user-di3xc7qy6o 3 місяці тому +8

    正直、Lispのとっつきづらさは概念の難しさもありますが、Lisperの人たちの「Lispは神の言語」的な冗談なのか本気なのかよくわからないことを言ってる感じのコミュニティの雰囲気が怖くて近づきたくないってのも感じてしまいます

  • @nanoriKYDO
    @nanoriKYDO 3 місяці тому +12

    水野さんが「神が作ったものなら美しいはず」のところで、量子論について「神はサイコロを振らない」と言ったアインシュタインがオーバーラップしました

  • @masunosushi21
    @masunosushi21 3 місяці тому +26

    プログラミング言語の形式的意味論入門っていう本があったきがします

    • @xkkd-zs7oe
      @xkkd-zs7oe 3 місяці тому +5

      Lispの方言の一つである、Schemeの言語仕様書には形式的意味論による定義が載っていたような。

  • @mos399
    @mos399 3 місяці тому +9

    31:42 「コンピュータは旧約聖書の神に似ている 規則は多く慈悲はない」 ーJoseph Campbellー

  • @wadoooon
    @wadoooon 3 місяці тому +4

    プログラミング言語は機械と人間を橋渡しするための手段なので、人間への優しさを忘れてしまったら本末転倒なんだよなー、とか思いつつ、次回を楽しみにしてます。

  • @user-ec5yd5xk3l
    @user-ec5yd5xk3l 3 місяці тому

    すご!

  • @user-ll4xm8tr3l
    @user-ll4xm8tr3l 3 місяці тому +7

    冪乗もpower(2,10)と書いたりしますし、その延長でadd(3,5)があると見れば、表記揺れで+ 3 5があっても自然な気してきますね〜

  • @wa-i
    @wa-i 3 місяці тому +16

    Lispはやったことないけど、S式信者だし、逆ポーランド記法信者です
    Lispもやってみたくなりました

    • @user-lg1qc6rd4o
      @user-lg1qc6rd4o 2 місяці тому +1

      S式ってLISP発祥だと思ってたんですけど、LISP以外でS式って出てくるんですか?

  • @shachah_svaahaa
    @shachah_svaahaa 3 місяці тому +1

    ゆる言語学ラジオの形式意味論シリーズ待ってます!
    (あるいは言語哲学シリーズでも可)

    • @user-uf5qg4ik5j
      @user-uf5qg4ik5j 3 місяці тому

      概念も、オブジェクトだよ。
      今この世の中は、オブジェクトだらけ。

  • @ZooM200805
    @ZooM200805 3 місяці тому +8

    昔はアセンブリ言語でプログラムを作ってたことを考えれば、プログラミング言語が自然言語寄りになっているのは当然ですね。人間が理解しやすいものを目指して作られたのが今のプログラミング言語ですから。生成AIにコードを書かせるというのはその究極の到達点かもしれません。
    Lispはその流れの外というか、アセンブリ言語の記法を受け継いだような感じ・・・?

  • @hayakawa_mint
    @hayakawa_mint 3 місяці тому +47

    是非Forthを40時間学んで下さい。逆ポーランド記法が如何に自然なのかが分かる。
    動詞が最後に来るのは日本人にとって優しいのでは?
    LISPだと、括弧から閉じ括弧までを切り出して、最初を関数その余を引数とする様に構文解析しなければいけない。
    Forthだと、リテラル(数字・文字列)はスタックに積む、名前(ワード)だと関数として実行する。この規則だけでいい。パラメータをスタックからどれだけ使うかはワード(関数)に依存するので、構文解析の感知するところでない。

    • @reinejy
      @reinejy 3 місяці тому +7

      確かに逆ポーランド記法は日本語に直すと理解しやすいと学んだなぁ
      3 4 +
      で3と4を足すと言う日本語文法になるみたいな

    • @essauouo5251
      @essauouo5251 3 місяці тому +1

      FORTHを触るとカッコの有り難みを感じますね。
      自動でインデントをつければ良いのかも知れないけど

    • @genj2557
      @genj2557 2 місяці тому +1

      ​​@@essauouo5251
      FORTH を学ぶとカッコが要らない有り難さを感じますw
      (馴染みのない方のために:カッコはコメントで、主にスタック操作の仕様を書くために使われます)

  • @youngaspara
    @youngaspara 3 місяці тому +4

    17:15 「処理を返す」から、高階関数の話が始まると思っちゃいました。まだでしたね。
    でもLispの話ならば避けて通れないと思いますので、次回以降が楽しみです。

  • @user-uh5gb5fg2i
    @user-uh5gb5fg2i 2 місяці тому +4

    Lispは(というかS式とマクロは)、実用的なプログラミング言語では隠蔽されている本質をダイレクトに見せてくれるので、初心者には一度Lispに触れてほしい(実用しろとは言わない)

  • @pureflower292
    @pureflower292 2 місяці тому

    水野さんすごい…
    形式的意味論はプログラミング言語にも密接に関わってきますよね
    僕はよくわからないですが

    • @pureflower292
      @pureflower292 2 місяці тому +1

      文法が少ないということは、scheme寄りですかね

  • @nobuoimamoto4185
    @nobuoimamoto4185 3 місяці тому +2

    アセンブラは、操作(ニーモニック;関数とか機能に相当)の次にレジスタ(パラメータ)や番地(ジャンプ先ラベル)の順番で統一ですよね。例えば
     ADD  X Y
    戻り値(ALUの結果)の格納レジスタが固定で特殊だけど。

  • @totto2727
    @totto2727 3 місяці тому +2

    演算子というルール自体特殊、というのはHaskellなどからも読み取れますねー
    関数にカッコつけると演算子にできる、逆に演算子にカッコつけると関数にできたり

  • @yuichinishiyama3338
    @yuichinishiyama3338 3 місяці тому +1

    ゆる言語ラジオのどこかの回で言っていた
    飲み会で監修者の先生にプログラミング言語について問われて困った話に繋がるような気がして
    次回期待してます

  • @user-pd9mh3mj3y
    @user-pd9mh3mj3y 3 місяці тому +4

    形式意味論:全ては集合か真理値である
    Lisp:全てはアトムかコンスセルである

  • @miner1227
    @miner1227 3 місяці тому +2

    真理値と集合の2つしかない、というのは数学基礎論(公理的集合論)の立場と同じですね。
    数学で扱うあらゆるモノは(写像や関係みたいなモノも)集合として構成可能であるという立場です。

  • @sabak7390
    @sabak7390 3 місяці тому +45

    Booleanの訳は真偽値でもいいと思うけど、教科書的には真理値かと思います。
    真理値表とはいうけど、真偽値表とはあまり言わない。

  • @zudah228
    @zudah228 3 місяці тому +7

    そうなんだよ!
    int や String とかは、演算子を「わざわざ用意」してくれてるんだよ!!!
    俺もLispやったほうがいいのか…?

  • @tambaren
    @tambaren 2 місяці тому

    27:00
    数学にも演算子→引数をとるもの多くありますね
    三角関数
    対数関数
    exp
    ライプニッツ記法の微分
    一般的な関数f(x)とかの記法も
    それらも内側から処理していく(右から処理していく)のも
    LISPに似ています

  • @wooden-nut27
    @wooden-nut27 3 місяці тому +2

    去年HSP3という言語のプログラムコンテストで、文字列で四則演算をするモジュールを作ったのですが、関数型言語もLispも全く知らない状態で作ったのがadd(p1,p2)のような記述でした。
    四則演算も比較も関数で全て定義しましたが、何も知らない身ながら結局内部的な作りやすさも使い勝手も関数が最強なのだと思いました。

  • @kanametatsuya
    @kanametatsuya 3 місяці тому +7

    16:34 形式意味論を勉強してる人にLispの話をするものすごく稀有な状態笑

  • @sattoman
    @sattoman 3 місяці тому +4

    日本語は分かち書きをしないので、引数列をスペース区切りで記述するのに違和感を覚えやすいなって思います
    中置記法はオブジェクト指向的な書き方だなとも思ったりします:1 + 2 - 3 = (1).add(2).sub(3)

  • @tsicsafjapan9371
    @tsicsafjapan9371 3 місяці тому

    次回は生成AI堀元が信仰を告白する回ですね!

  • @yuukostar3129
    @yuukostar3129 3 місяці тому

    面白いですね~
    Lispってスタックと相性がいいような気がします。

  • @_hagi3
    @_hagi3 3 місяці тому +6

    8:50 実際にPythonはオランダ人が作ってますね

  • @chimieal3757
    @chimieal3757 3 місяці тому +5

    4:56 「潜入して見ないと...」プログラミング言語は大丈夫ですが、宗教ではやらないでください。島田裕巳先生の二の舞になります。

  • @256yayo
    @256yayo 3 місяці тому +3

    nim言語というプログラミング言語では
    UFCS( f(a, b) と a.f(b) を同じ意味を持つ別表記とする ) があったり
    `+`(1, 2) と 1 + 2 を同一視することができたり
    など 論理的な美しさ と 利便性 をうまく両立させているなと感じます。

    • @paalon3303
      @paalon3303 26 днів тому

      前置記法も中置記法もそれぞれのメリットがあるので両方使えるのが一番人間寄りですよね。Nim は流行りそうなのに流行ってなくて残念です。😅

  • @masahase0117
    @masahase0117 3 місяці тому +8

    本筋には全く関係ないくらい非常に細かいこと言うと、C言語のforで()の後に来るのは文であって、{}がよく来るのは複数の文を単一の文と同じ扱いにする複文を表す記号だからってだけ。forで繰り返す内容が単一の文で表せるなら{}は要らない。

  • @user-mq1be3zd6s
    @user-mq1be3zd6s 3 місяці тому +3

    Haskellなら関数名をバッククォートで囲めば中置記法として使えるから過激派も安心

  • @eventHandler0130
    @eventHandler0130 3 місяці тому +5

    関数と引数は、動詞と目的語でいいんじゃないかな

  • @matsuri66
    @matsuri66 3 місяці тому

    ちょっと神回みがあります

  • @ken_to_delicat
    @ken_to_delicat 3 місяці тому +4

    1:50
    実態を反映しない例えはこの番組のお家芸なので歓迎です❗️

  • @toby-ou4fe
    @toby-ou4fe 3 місяці тому

    次回も目玉を増やして楽しみにしています

  • @spike2.tracker
    @spike2.tracker 3 місяці тому +3

    急に2人の分野がシナジーし始めてコレを聴きたかったんよって粋に入りましたね。
    でも「ブーリアン」「へぇ~」はちゃんと拾ってよとも思ったw

  • @user-fn8rx6wc5w
    @user-fn8rx6wc5w 3 місяці тому +7

    31:23 理科のテストで「三 容女 某」に見えて☓になった子いた。手書きスペース難しい問題漢字編。

    • @user-zu2lv1he7n
      @user-zu2lv1he7n 3 місяці тому +1

      文字を 横→木黄 みたいに横倍角相当に書く友人がいた。同類だ。

    • @gnwf47
      @gnwf47 3 місяці тому +1

      溶媒をそんな書き方するの?と思ったけど、確かに部首と旁の間と文字間のバランス感覚が弱い人もいるんでしょうね。でも、不正解にした先生は厳しいなぁ

  • @iotatoi
    @iotatoi 3 місяці тому +2

    演算子オーバーロードできる言語は"5+3"の5をオブジェクトとして 5.plus(3) とメソッドチェーンぽく解釈されている印象です

  • @diegof4083
    @diegof4083 3 місяці тому +2

    3 + 5は自分のメンタルモデルでは、+関数の引数が中置されてるのではなく、3のメソッドaddに引数5を渡すことの特殊な書き方なんだなと気づきました

  • @magical_hippopotamus
    @magical_hippopotamus 2 місяці тому +2

    Lispは未経験なのですが、昔読んだアルゴリズムとデータ構造の本で扱っていたSchemeならそこそこ触っていました。
    シンプルでいいですよね。
    今時の言語でコードを書いているとき、たまにもどかしくなるときあります(笑)

  • @shachah_svaahaa
    @shachah_svaahaa 3 місяці тому +1

    22:00 過去の嶋村先生と福田先生のゲスト回でも嶋村先生がいってましたよね。

  • @ba-el2wl
    @ba-el2wl 3 місяці тому +2

    あからさまな信者なのに信仰をはぐらかそうとするのコントのフォーマットとして優秀すぎる

  • @user-pu8vn8rq7v
    @user-pu8vn8rq7v 3 місяці тому +3

    Lisp初学者はまずevalを作るのあるあるですね
    言語設計がシンプルだからできること

  • @jolnon
    @jolnon 2 місяці тому

    なるほど、ということは次のゆるコンピュータ科学ラジオでは形式意味論をやるってことかw

  • @user-xx4rv9rq4x
    @user-xx4rv9rq4x 3 місяці тому +1

    処理は入力と出力に還元できるということに自力で気づくのに、学部で4年、社会人になってから2年プログラムを書いてようやく気づきました

  • @user-fj6pb5ov4u
    @user-fj6pb5ov4u 3 місяці тому +1

    この文脈で読むと逆に先頭に書くはずの関数を2番目に持ってくるのがUFCSですね

  • @user-mu6jh2co5q
    @user-mu6jh2co5q 3 місяці тому +7

    8:06 日本も埋め立てをし過ぎたせいで「世界は神が作ったが、日本は日本人が作った」って言われてました

    • @ukkieMFCelenElf
      @ukkieMFCelenElf 3 місяці тому +1

      日本は埋立どころか、河川はほとんど「サイボーグ」状態で、「森林」も「野生動物」もかなりの比率で「家畜化」されてますよね。一番大きいのは、人間の「自己家畜化率」の進展度合いが「最先端」なところ。※個人の感想を念みます。

  • @highjumptaka
    @highjumptaka 3 місяці тому

    数学の数式の記述ルールが「数学的」ではなくて「工学的」というのがおもしろいですね。
    数学の数式がポーランド記法なら、演算子の優先順位は不要で、括弧による優先順位の切り替えも不要になってルールがすっきりしますね。(括弧が増えて読みにくくはなりますが)
    オブジェクト指向言語で組み込み演算子のオーバーロードを知った時、数学の演算子と関数の呼び出しルールの違いが美しくないなぁと思っていました。

  • @sirius8203
    @sirius8203 3 місяці тому +2

    Lispの「+ 3 5」は,関数や引数のくだりも含めてExcelの「=sum(3,5)」に通ずるものを感じた.

  • @equi_nokusu
    @equi_nokusu 3 місяці тому +4

    lispはvso語順と言うと水野さんにはわかりやすいかと

  • @Ethereal-Wind
    @Ethereal-Wind 2 місяці тому +1

    逆・逆ポーランド法のことを正ポーランド法っていう派閥もあるんですね!

  • @user-zu2lv1he7n
    @user-zu2lv1he7n 3 місяці тому +4

    22:15 ま さ か の て ん か い !!

    • @qohelet9091
      @qohelet9091 3 місяці тому

      思わぬご馳走を与えられて喜ぶ水野さんと戸惑う堀元さんww

  • @ologn8939
    @ologn8939 3 місяці тому +1

    真偽値より真理値の方が情報系だけどなれてるな 論理回路とか

  • @hipopo_tamagawa
    @hipopo_tamagawa 3 місяці тому +1

    集合と真偽値だけとかそんなわけ、とか思ったけど、よくよく考えると大抵のプログラミング言語の「型」もそうなっているように思えた。
    「整数」っていう集合の中に 0 とか 1 とか 2 とか 256 っていうのがあって、「文字」っていう集合の中に 'a' とか 'Z' とか 'あ' がある、みたいな。
    ユーザー定義する型やクラスも複数の要素からなる集合なわけだし。
    形式意味論面白そう。

  • @KiyokazuOami
    @KiyokazuOami 3 місяці тому +2

    古い高級言語の設計は算数的ではないものもありますよ。
    COBOL で足し算を書くと下記のようになります。
    ADD A TO B.
    引数は argument 以外にも operand と呼ぶことがありますね。
    演算子や関数、命令のことを operator と呼ぶので対比できてわかりやすい。

  • @ba-el2wl
    @ba-el2wl 3 місяці тому

    13:23音韻論の音韻規則と制約の話を思い出した
    あれも最少まで突き詰めると宗教化しそう

  • @TANAKA_YASUHIRO
    @TANAKA_YASUHIRO 3 місяці тому +6

    33:01 あれ?中盤で「Lisp以外は自然言語的」って言ってたのに「Lispは自然言語」って逆のこと言ってますね😮

  • @user-hh3sj8fh1j
    @user-hh3sj8fh1j 2 місяці тому

    HaskellかLispで競プロ入門してみた動画出してほしいなあ

  • @user-pu8vn8rq7v
    @user-pu8vn8rq7v 3 місяці тому

    ぜひRubyも検証してみてほしいです!
    Lispに似て例外が少ないです。足し算も例外じゃなく定義してます

    • @genj2557
      @genj2557 2 місяці тому

      Smalltalkも

  • @TarisukeAriki
    @TarisukeAriki 2 місяці тому +1

    Land on Lispが参考文献の最初にあげられているので、このLISPはCOMMONLISPですかね。Schemeなら分かった気になるのに40時間も必要ないような気もしなくもなくもない。

  • @user-yq3ok1tp3y
    @user-yq3ok1tp3y 2 місяці тому

    水野さんは、3+5 において + が区切る機能を果たしているっていう認識だと思うけど、日本語読んでると同様にひらがな、カタカナ、漢字、アルファベットとか色んな文字の種類があってそれが区切りになって読みやすいよなぁって思う。
    僕は若干ディスレクシアなのかもと思うことがあるけど、英語で form と from を勘違いして何分も混乱するみたいな事が結構あるので日本語は便利だと思う。覚える文字が多いのかも知れないけど。

  • @user-ib3ks5do6i
    @user-ib3ks5do6i 3 місяці тому +5

    むしろ
    小学校の足し算をLISPに合わせて + 3 5 と表記すべき。

  • @c-yan8096
    @c-yan8096 2 місяці тому +1

    Forth を少しかじってもらって感想を聞きたいですね. Forth は 3 5 + です

  • @user-uu4nf3vj5k
    @user-uu4nf3vj5k Місяць тому

    プログラミングってやったことなかったけど、おもしろそうだからlisp始めました。
    コンソール?はgunなんたらを使ってるんですけど、読み込むlspファイルってgunなんたらと同じ階層じゃなきゃダメなんですかね。

  • @uminolemon
    @uminolemon 3 місяці тому

    0:52
    リスプのリの字までわかったということはリスプについて3分の1ほど修得したということでよろしいでしょうか?

  • @anohana
    @anohana 3 місяці тому

    「手書きできない」: Lispが作られた頃の計算機はインタラクティブにコードを打ち込めないので、紙に手書きでコード書いてからパンチカードに穴開けて計算機に読み込ませてたんですが、その時に手書きで書いてたのは PLUS[3;5] みたいな表記でした。それをパンチカードに打つ時に(PLUS 3 5)に直してたのです。

  • @user-jx7gm9ox6h
    @user-jx7gm9ox6h 3 місяці тому

    chatGPTに、日本語喋らせると明らかに英語訛りの日本語になっていて、大量の英語音声データで学習させることで人と同じ訛りを獲得するのか?について話を聞いてみたいです!

  • @miner1227
    @miner1227 3 місяці тому +6

    ワタシLispチョットデキル

  • @youngaspara
    @youngaspara 3 місяці тому +1

    当たり前かもしれませんが、excelの関数型をイメージすれば、プログラムの関数がイメージできるかもしれません🙂

  • @vonneumann6161
    @vonneumann6161 2 місяці тому

    26:53 大学の厳密な数学では定義の部分ではLispと同じ書き方がされますよ
    例えば、足し算の定義の部分で、 (x,y) を引数として、z を返す関数を考えて、それの略記として z = x + y と書く みたいな感じです
    この動画でいう自然言語的な書き方はあくまでも略記という扱いです

  • @user-ey1ou9uw7p
    @user-ey1ou9uw7p 2 місяці тому

    演算子が最初にあって後に引数を取るものといえば微積の演算子でしょうか
    積分も高校だとf(x)を∫とdxで挟みますがそのうち∫dx f(x)の形で記述するので

  • @crowrain1765
    @crowrain1765 3 місяці тому

    数列の一般項ってan + k (a,kは整数でnは自然数)って表記するけど
    kに対してaにnかけたものを足すって考えたらちょっとだけ 処理 対象 の形なんかな
    an + k って n の項を前に置くってのは慣習的なものらしいし

  • @lonestar930
    @lonestar930 2 місяці тому

    英文法的にも
    add 3 and 5 とか add 3 to 5
    の方が自然だし、実際会話の中でこちらの方が使われる。
    自然言語は+ 3 5の方を選択している。
    小学校数学は例外。

  • @user-zg2yg3hm8j
    @user-zg2yg3hm8j 3 місяці тому

    詳しくはないんですけど、お互い数理論理学、計算論を土台にしてるだろうから似てるどころか下を見れば繋がってるよね

  • @Orekkueito2811
    @Orekkueito2811 3 місяці тому

    3 + 5 の記法はパイプ演算子使った 3 |> + 5 的な解釈もできるなーと思った

  • @user-mq1be3zd6s
    @user-mq1be3zd6s 3 місяці тому

    形式意味論における実在物の2つのタイプが集合と真偽値ならば、これはそれぞれ0-圏と(-1)-圏とみなせるので、実質的に1つと言えるかもしれない