Розмір відео: 1280 X 720853 X 480640 X 360
Показувати елементи керування програвачем
Автоматичне відтворення
Автоповтор
14:15 木→→→ニホンスギ水野さんは定義の焦点を明確にするために狭めていく(小さくしていく)のに対して、堀元さんは情報の多さによって大きくしていく:言語学では質/コンピュータ科学では量 で捉えていることが顕著に表れている場面だと感じました。
「分かった気にさせただけ」と聞いて「正確さと伝達力はトレードオフだから気をつけろ」とエンジニアなり立ての頃に先輩から言われた言葉を思い出しました。エンジニアって正確さにこだわりがちなのでなかなかこれができずに、伝えるのが上手ではない人が多いんですよね。そんな中堀本さんは最後にさらっと言ってて、やっぱトーク上手いなと思いました。
『正確さと伝達力はトレードオフ。今度使わせて頂きます!
関係ないかもですが、3.11の翌年ごろだったかな‥世相を反映したのか、大学入試で現代文の問題文が、専門知識の伝え方や、正確さと伝達や、表現論、理科学のコミュニケーションとは、みたいのが多かったような気がします。
@@ti6079" 』 付け忘れてますよ
@@000. あなたが閉じたので足りましたね。
“ よし!
学生の頃、マシン語で1ヶ月作業したら、プログラムで四則演算ができることを忘れてしまい、その後、C言語でかけ算を足し算ループでやった事を思い出しました。
一恵がかかるのでかかかかかかああかかないかなかったらかさか
乗算機能のないハードってことですか??
レトルトは実は現代プログラミングの本質を突いてる。
僕も「実はレトルトが一番モダンな言語なんですけどね」って言おうかめちゃくちゃ迷った結果、「話が散らかるのでやめよう!」と決断しました。苦渋の決断でした…(堀元)
レトルトのところでめっちゃ何か言いたそうだなーと思いました笑
今回の動画の本質を突いているコメントすぎて、冒頭でこれ読んで概要分かっちゃいました。が、それでも最後まで聞きたくなるのがゆる言語ラジオですね。
実は日本の「ルー」も「ライブラリー」なんだな。ルーが何でできているのか知らない人も多い。こだわる人はルーなど使わず、シナモン・クローブ・ナツメグ・カルダモン・胡椒・クミン・ベイリーフなどなどスパイスを素材から使う。そう言う意味でいい例えだ👍
最終的にはUbarとかで頼んで、うちで作ったことにして、上前だけはねようという未来が見えてきた。。
尖った文系オタクと尖った理系オタクの歯車の噛み合せが完璧すぎて好き
プログラマー【programmer】①パソコンに向かって何かを書いている人種。発注元からの突然の仕様変更やメンテナンス作業で苦しそうにしていることが多い。語釈:水野
22:29 「バックアップが取れていれば先人の行動を完璧にコピーできる」という点がコンピュータサイエンスの強みだよなぁ
23:39 絵描きの界隈でも「絵が上手い人ほど資料を沢山用意するし資料から沢山真似する」とよく言われますね見栄えのいいポーズや構図や角度なんて限られてるし先人が腐るほど描いてるので、だったらそれを参考にする方がカッコいい、かわいい絵を速く描けるんですよね
なるほど、資料というのがそもそも”その道のプロが作った完成品”であることを考えてみれば、スピードと完成度が上がるのは道理ですね。
『資料を見て描け』は先人の絵に限らず、『想像ではなくきちんとものを見ましょう』だと自分は捉えているのですが、これ、『エラーが出たら自分で考えるより、エラーメッセージでググったほうが早い』に近いな……と思いました
漫画を描いている者ですがまったく同じことを考えました 笑
25:45車輪の再開発と併せて、「卵かけご飯美味しい!ネギとか具材を入れて火を通したらもっと美味しくなるに違いない!」と言って炒飯を再発明する話が好きです。
-aryという集まりを表す語を含むdictionaryとlibraryによって辞書オタクとプログラマーの知識を集結させるの胸アツだな・・・
そんな辞書オタクとプログラマーのbinary(二人組)
車輪の再発明と聞くと、「日本って毎年なんか雨多い時期あるよな」という梅雨の再発見してる人のコピペを思い出す。
プログラムとか全く出来ないけど聴いたことのある「コンピュータは思ったとおりには動かない、書いたとおりに動く」というプログラミングの格言が好きです
たぶん軍隊の将校とかも兵士や部下をこんな感じで指揮するんだろうね。だから命令は明瞭で解釈の揺れがあったら絶対にいかん。たとえそうやったとしても、絶対に思い通りには動かない
作業中にリファレンス読み始めちゃって仕事忘れる派のITエンジニアです。そういえばアニメやゲームの内容より設定資料読むのが好きなオタクでもありました。資料を読みこんだ後、頭の中をまとめて用語集書くのがめっちゃ好きだったんですが、だからエンジニアになってもライブラリ作るのが好きなんだなぁ、きっと。そこが繋がっていたとは。とても腑に落ちました。
昔、研究室で画面ロックせずにPCを放置して離席している間に、先輩にlsコマンドを打つとslコマンドが走るイタズラされたのを思い出しました。aliasコマンドでlsコマンドを訂正しようとしてもslが走り、viコマンドで設定ファイルを訂正しようとしてもslが走り、諦めてexitコマンドでシェルプロンプトを閉じようとしてもslが走って恐怖でした。
普通に面白い
ゆる言語ラジオ聴き始めてから辞書を8冊買ったエンジニアの端くれです。何故こんなに辞書に魅かれるのかやっとわかりました。初期にはよくリファレンスを通読していました、今はパラパラめくって楽しんでいます。水野さんプログラム面白いって思って始めてくれたら嬉しいな。堀元さんよろしくお願いします!
水野家カレー、かぼちゃだけでなく、福神漬けを用意しようとするところにこだわりを感じるw
プログラム的には、そこで用意すると煮込んじゃいますけれどね(^_^;)人(日本人)なら、「福神漬は完成してから、皿の隅に乗せるか別皿(容器)で添えるか」と判るけれど、コンピュータには(指示か参照させなければ)判らない。
最近見始めた者ですが、この2人がラジオをやるようになったきっかけが気になります。分野が違うオタク同士の会話は面白いですね
誰も言及してないけど、そんなライブラリあるの!って話で「ボウリング場で風に手を当てて乾かす」の例を出した水野さんのセンスに感動しました。
なぜこのチャンネルを見てる人にIT技術者が多いのか腑に落ちた。
前回動画の好きなコメント水野「コード通読してきました」堀元「えぇ…」
25:20堀元さんの「そう捉えてあんまり間違いではない…と思うな(ちょっと違うけど……まあいっか…)」の感じと水野さんの嬉しそうな「なるほどねぇ!」の温度差が味わい深い
好奇心旺盛な生徒を持ってて、教科書書いてないことや他の教科との関連知識をやたら聞かれてる先生がよくする反応を連想しました
先日知ったのですが、Eテレでプログラミングの番組が始まっています。子どもと見ていたのですが、全く理解できませんでして。これまで学習の友になっていたはずのEテレに突き放された感覚でした。時代が動いていることを実感すると同時にこの動画の価値を実感しました。次も楽しみです。
27:47 実際のプログラマー目線だと、野菜スープライブラリをカレー作りに応用するのは避けたいです。将来野菜スープライブラリが更新されて、本来想定してないカレー作りがサポート外になる恐れがあるからです。
数年前に更新が止まったツールが古いライブラリでしか正しく動かなったり、ライブラリをバージョンアップすると妙なところで動かなくなる問題。あるあるですね
モダンな言語なら、ライブラリのバージョン指定しますよね。gemfile とか package .json とか requirements.txt とか。
野菜スープライブラリがバージョンアップされて、火加減が256段階から65536段階に細かくなった。それを知らずに、従来通りそのまま火加減=200で指令したら・・・ぜんぜん煮込めないし食えないw
すんげ~~~~~嬉しい瞬間だ~~~!!!文系で「スマホって魔法の箱でしょ」くらいに思ってた人が、十分な説明力がある人に説明を受け、十分な理解力があるから理解し、プログラマのやってることが簡単とも難しいとも言えることだと理解してもらえてる瞬間!!わかりあえないと思ってた人と和解できたくらいの嬉しさがある!
カレーの作り方を聞かれて「レトルトでいい?」って答える水野さんにはエンジニア適性しか感じられません!
レトルトカレーってコンテナですもんね。
17:43 昔の技術者はすべて0と1で記述したフロントパネルに並ぶトグルスイッチのON/OFFが0と1に対応していて、それでプログラミングしてたような話は聞くけど、80年代前半にプログラミングを覚えた私にとってすら神話の時代の話だな…。
22:07本編の内容と直接関係無いのですがカレーの「ルウ」は誤用が普及してしまって本来の意味に修正が不可能と思われる現状にモヤモヤします本来は「小麦粉をバターで炒めたペースト状のもの」が「ルウ」でそれに出汁とスパイスが加えられた塊が市販されているカレールウ、対して、野菜のスープにルウを溶かし込んだ、米飯に添えるものはソースと呼ばれる状態のもので、既に「ルウ」ではありません注)苦情じゃないよ!問題意識を共有したいだけだよ!
そう!インドでは毎日カレー食べるんですか?って言う質問よくされるけど、インドでは「ルー」の入ったカレーは存在しない。原材料のスパイスを一つ一つ入れて作るが、小麦粉を入れてとろみをつけることはしない。だからシャバシャバしてる。そして肉の脂がしみ出るまでグツグツと煮込む。(現地の人はカレーのスープの部分を「グレービー」と言う) でもそんな手間のかかるものを忙しいのに毎日毎日作ってられるか!って訳で、日常的には簡略バージョンでスパイスでささっと野菜などを炒めておかずを作る。そこにスパイスが入ってると、「カレー」ですね、と言われる。何でやねん。それは現地では「सब्ज़ीサブジー」と言いますが、「野菜」という意味。カレーの語源になったタミル語のகறிも元は「野菜」という意味。元を正せば意味が違うのにというものはいっぱいあるものです。
文系からSEになって不安だった頃に先輩に「無限にコピペするだけの簡単なお仕事だから安心してね」って言われたことを思い出しましたね。人が作った便利なものはバンバン使おう!みたいな。言ってみれば設計者はスポーツのコーチ、基盤とかやってる人たちは解剖学者って感じなのかな。
「どんなライブラリある?」はソースコードのライブラリがあるかの問い合わせ「レトルトでいいですか?」はリンク可能なビルド済みライブラリがあるかの問い合わせ目的物(カレー)を得るうえでは、ある意味 水野さんは間違っていない… かもしれない
レトルトパウチ自体が、カレーのライブラリ化ですね。あとは熱加えて盛り付けるだけという。
銀の弾丸は無いとか、プログラミング界の格言・名言を集めた回をやって欲しいです。水野さんのリアクションが気になる。
これは見たいなあ😄
文系出身SE勢一度で二度おいしいラジオになってきている……会社入りたてでプログラミングも勉強中のころ、先輩に「めんどくさがりな奴こそプログラマに向いてる」と言われたのを思い出しました。出来るだけ用意されたものを使うなど少しでも効率良い方法を考えて、いかに楽するかっていう仕事なのだと。レトルトカレー使おうとした水野さんは絶対適性ありますよね。。
よくあるカレーの話になるのかなと思ったら料理から始まらずに買い出しから始まってフレーム問題風味になってて笑った
水野さん察しよすぎてテンポがすごくいい笑プログラマーのイメージだいぶ変わりました!面白かったです!!
どんなライブラリあります?のところめちゃくちゃ笑いました😂水野さんの先読み力すごく高くて、プログラミングの習得くらいはすぐできそうですね!
カレーの作り方、最初に水野さんが聞かれてる時に考えてたことがそのまんま正解として出てきてぞっとしました。プログラミングに慣れきってしまったんだなあ…
みんなで作ったライブラリをみんなで使う。というのがITのいいところですよね。フレームワークは「ビジネス文書の書法」、ライブラリは「ビジネス文書の文例集」みたいな感じのイメージ。
純粋な水野さんを煙に巻きやがって!話進まねぇ!とイライラ聞いてるうちに何故か結論に超納得させられてゆる言語学ラジオのドリフト先まで指し示す装置になってるの理系すぎる
言語学にあえて絡めるのなら、プログラミングって単語を生む作業なのかなって思いました!「現在を含む日付の翌日=明日」「速く歩く=走る」ってまとめてしまえば、次の人は「今日 走る」で記述できるのと近いのかなとそう考えると急に身近!
第2回、本当に楽しみに待っていました〜!考古学では分類した遺物のまとまりをアセンブリッジと呼ぶことが思い出されましたので、早速語源を辿ってきます!
なんか、武井壮さんが「自分の体を思い通り動かせない生徒なのに、誰かの指導を受けてスランプに陥るのは当たり前」って言ってるのと似た感じがする鍋 overflow ってエラー表示が出たら、どうやらうちの鍋は小さいらしいって思えるけれど現実世界じゃエラー表示出ないし、生徒のスペック表も個別に用意されてないですからね
意味階層が記述されたシソーラスって木構造の辞書から単語間の概念距離を計算する研究を昔やっていたことがあります。スギ→ニホンスギの話を聞いて懐かしいなと思いました。
プログラマーがイライラしながらキーボード叩いてるのは丁度いい参照元が見つからなくてグーグルを検索しているとき
鍋オーバーフロー分かりやすすぎて面白かった
プログラム言語の本質は「まとめる」とありましたが、実際にプログラムを作るときには、大きな問題を小さな問題にバラして作る。ということがあります。バラバラに作るからこそ「まとめる」という作業も発生しますし、部分的に交換するなどが可能になりますね。
カレー作りの例えがわかりやすすぎる
sl コマンド…急いでるときに汽車が走っていくのを見守るときの気持ち…懐かしい。
昨今の技術者が「0101」のコードを書かなくていいのは先代の技術者たちが書いていた一番ブレイクダウンされた「0101」のコードを継承して有機的な指令を出せるようになったからなんだな。こう考えると、もはや臨界点に達してしまったとも思える技術の領域も、まだまだ凄まじい潜在能力を秘めているのかもしれない。
ライブラリを充実させてくれる人がいるおかげでqiitaとかの解説記事見るだけで済んじゃうまとめる、しっくりきました
きっと語弊があると思うけど私の中でのイメージは以下の通りです。プログラマーは怠けたいという願望があって、怠けるためには全力で努力する。ただ怠けたいものも怠けるための努力もプログラムを書くということになることが多い
というより文明や技術の発展自体がそういう経緯を経ていて、プログラマーはそれを01の世界で繰り返してるんですねコンクリートビルも自動車も「『それを作るための道具』を作るための道具」を誰かが作ったからそこにあるんです
"たまねぎ undefined"で笑った。教育関係の「改革」論議はあらゆる概念が"undefined"なまま錯綜することが多いし、それが錯綜したまま政策になっちゃったりする。それに対して"教科 undefined"とか、"社会 undefined"とか、"国語 undefined"とかやっていくことは大事だなと思った。
初心者「必要な時に必要なものだけ探す」中級者「時間があるときに今不要なものも掻い摘んで読む」上級者「時間を作ってでも頭から通読する」
この動画を見て自分なりにコンピュータ言語が言語と言われる所以を考えました。コンピュータプログラミングで適切なライブラリを使うためにも設計者の背景、思想とか文化がわからないとより適切な使い方をしてもらえません。なので、その動作を何という名前をつけるか、どんな固有名詞を定義するかなどは非常に気を使います。そのコミュニケーションをソースコード内でして、使う人にメッセージを出しているので、言語という方がしっくりすると思っています。
当方エンジニアなったばかりですが、掘元さんのお話すごく共感できるのと分かりやすくて感動!そして水野さんも理解力すごいので簡単なホームページくらいならすぐ作れるようになっちゃいそうですね!
レトルトOK?が出てくるところでもう面白い
この回が# 64ってのがいい
「鍋 overflow」聞いた瞬間に爆笑してしまったwww
俺もパスタ茹でるときとか、よくオーバーフローさせてしまうわ
@@thing0 パスタを茹でるときは鍋じゃなくてフライパンの方が向いていると言う人もいます。鍋は口が火から遠いので吹きこぼれますが、フライパンは火から近いので泡が割れて吹きこぼれないとか。昔から当たり前に使っているライブラリでも、ときには変えると良いという例かもしれません。
@@Kaladge え!? それは知らんかった…。そのままフライパンでソース作れば洗い物も減るし、一石二鳥ですね。
プログラミングには「ライブラリを探して使う」のと同時に「他人(あるいは自分)のためにライブラリを作る」もあるわけで、「うまいまとまりを探す」だけでなく「うまくまとめる」も技術のうち。
たとえ合戦のところ、ドラゴンボールの悟空とベジータが凄いスピードで戦っているのを呆然と見守る地球人の気持ちがわかりました。
カレー作りを指示してくる人に「塩(えん)をひとつまみですか?硫化バリウムで良いですね」「鍋に引く油はハイオクタン価のにしておきますね」「強火で1分強とかじゃなくて単位をJ(ジュール)で記述していただけますか?」「地表の70%を占める海中での調理が推奨されていますよね?」「ところで調理環境は重力の存在が前提されてましたっけ?」ってフレーム問題大喜利風に煽るの楽しすぎワロタ
プログラミングちょっとしか触ってないけどめちゃくちゃ共感できる部分多くて笑った大体エラー文コピペして海外の掲示板漁ってる
sta**overflow www
個人的には、「車輪の再発明」は非常に優秀なレトリックだと思っています。「車輪」のように・それが実はれっきとしたコロンブスの卵的「発明」であること(自然に存在しない)・今や世界中の誰もが「それが何であるかが分かる」もの、・それを「再発明することの(教育的意味やライセンスやライブラリの相性などの問題を除いた)無意味さやバカバカしさが実感できる」という、このフレーズが成立するために必要な要素が全部備わった「発明」は、他になかなか見つからないと思います。「車輪」を再発明する人はおらんやろ、というツッコミは、「車輪」が立派な「発明」であるという事実を見落としているような気がしてなりません。
人類独自が使うプリミティブなもので『火』なんかは現象の発見・利用ですし、道具としての『武器』なんかも、虫とかにも似たものが備わって持ってますしね。カニとかのハサミとか。車輪がついてる生物はいない(?)だろうから模倣でもなく、まぎれもない発明ですね。面白く読ませてもらいました。
時々、アルゴリズムの初心者本を色々読んでみるのですが、英単語の指令を入力すると何故その動作が起きるのかわからず腑に落ちずにいました。今回の堀元さんの解説で、自分の知りたかったことはコンピューターの本質そのもので、細分化されたテーマの初心者本では得られないテーマだったということに気づき、なおかつ全体像を捉えることができました。この話しが無料で聞けるって、エグいですね…。
@@vonneumann6161 ガチ勢の方からのお返事、感動です!!痛み入ります。私の周囲の人には聞けないテーマなので、何を調べればいいかを提示して頂けるのは非常に助かります。と言っても初心者本を読むくらいなので、どれくらい理解できるか微妙なところですが…。提示して頂いたワードをそれぞれまずググってみましたが、とてもわかりやすく簡単にご説明頂いていたことに改めて気づきました。
文系のプログラムといったら法律体系なのではとおもったりします。資格試験ため産業系や工業系の法令を読んでいると、安全性を保つために目的やら主体やらが定義されて、扱う物質も化学式で定められています。その条件の長さや重さ、また単位も定めています。
話は別ですが、法律とプログラミングといえば、法律をソースコード的に置き換える、あるいはソースコードのように解釈するbitlawというプロジェクトがあったり、最近マンパワーで行われている法案作成のミスが連続した時期にはコンピューターの力を使って効率化(時間短縮・ミス削減)を図れるのではないかという話題がありましたね。日本国憲法を論理プログラミングを用いて表記した「論理憲法」なんかは結構面白いですが、法解釈的な問題点として様々な事項の未定義や主体不明・客体不明などがあってすごく良い出来とまではいきませんね。とはいえ、憲法のそうした点は学者も実務家も皆改善してほしいとは思っているようなので、プログラマの人も見たらそう思うのかもしれませんね。
@@炭酸3号 先日PSYCHO-PASSという劇場アニメを観てきて、AIと法と人の関係が、モチーフになっていました。挙げてもらった事柄を参照して見直すと面白そうですね。
情報系の高専生です。一年生のとき、学校であったプログラミング課題にちゃんとしたゲームを提出して、学科表彰された人がいました。どうやって作ったのか聞いたら、「ネットにあった簡単なシューティングゲームをコピペしてきた。でもコピペだけなのはまずいかなって思って、画像の動かし方を調べてキャラクターを作ったり…って感じで要素を追加していったんだよ。」と言ってて衝撃を受けたのを思い出しました。水野さんがプログラマーに抱いていたイメージの様に、私や他のクラスメイトが馬鹿真面目に一からプログラムを書いてる中、彼は既にプログラマーのようなことをしていたんですね。
英語にも “reinvent the wheel (車輪の再開発)"みたいな表現あります…!意味全く同じですYou don’t need to reinvent the wheelみたいな。一度も使ったことないけど言われれば分かるくらいの感じです
37:10 単語は広く使われるかが正しさの基準であって、ライブラリはプログラムが動いてちゃんと停止するかが正しさの基準であるという違いがあるから、辞書とプログラミング言語のオープンソース性が大きく異なるのかな、と素人ながらに。
21:08 ATだと車の仕組みが分からないって話は自分も聞いたことあるのだけど、最近ATとMTではそもそもギアの作りが違うと知って、MTは理解しててもATは分かってない人もいるのかもと思い始めた
というか通常ATはMTの延長線上。違うと言っても自動化してるかしてないかの違い。ホントに違うというならばATの中でもCVTを例に挙げるのがより正確かも。ただCVTの方がぱっと見の理解が段違いにしやすいのがアレですが。
@@立花蔵人 私のこれまでの理解では自動化してるかしてないかと思っていたのですが、ATにはそもそもクラッチがなくトルクコンバータという機構を使ってギアのなめらかな切り替えを実現してるとの説明を見ました。クラッチがないというのはATの中でも一部なのでしょうか?
クラッチとトランスミッションを別で考えた方がいいですね変速を行うのはトランスミッションなのでその点ではMTにもATにもついてます田中ちょこさんが仰ってるタイプのトルクコンバーターはクラッチの代わりにATについてるものですATはクラッチ操作を自動でするものでギヤの本質は変わらないということを立花蔵人さんは仰りたいのだと思います
車輪の再開発は、「この世界観は俺だけのものだぜ」ってイキってた中学生の頃、その言葉を突きつけられて全能感と引き換えに知りました。
ダニングクルーガー効果だ…
カレー作りライブラリみたいなeasyなライブラリ使うと、最初はすぐに成果がでるけど、痒いところに手が届かなくて、仕様変更に弱いんですよねー私はいつも、にんじん切るライブラリ、ジャガイモ剥くライブラリとかの粒度のライブラリ使いますー
私もそうです!包丁使うライブラリ持ってきて各野菜に対応させるくらいの粒度かな
やりたいこととライブラリでできることのバランスを考えるのも、技量が要りますよね。勘所というか。例えば、Twitterでツイートしたいなら公式のライブラリをそのまま使うのがいいけど、ボーリングしてるときに手を乾かしたいならプリミティブな命令を組み合わせるのが応用が効いてロバストな作りになる。
めちゃくちゃ面白かったです!
QRコードを手書きする課題と深さ4程度の決定木を書く課題があったの思い出したあれはまだマシな方だったんだな...
COMET IIのハンドアセンブルをやらされたのはいい思い出
ハンドアセンブルは、8080時代のやりました😄
22:55ここの水野さんの推測に鳥肌立った全然何にも分からない分野でこれを考えつくというのは、「教養は錆びつかない」じゃないけど「知性は土を選ばない」的なものを感じた
外在する世界を分割して意味持たせる言語空間と、何も無い空間に指令を積み重ねて意味を持たせるコンピュータ言語の空間。イメージは逆で正しい気がする。。
水野さんの理解力と例える力が聞き手として素晴らしい
自分は言語学オタクのプログラマーなのだが、言語学オタクとしてもプログラマーとしてもlojbanという人工言語をとても面白いと感じている。堀元さんと水野さんがこの人工言語を知ったらどう感じるのか一度聞いてみたい。因みにlojbanは元々は特にサピア=ウォーフ仮説の調査のために設計され、現在の文法はPEGで記述されている。
「鍋overflow」笑いました。「どんなライブラリあります?」から始めるのが今どきですね。私の時代はカプセル化といったことが今ほどじゃなかったから「どんなライブラリから作ります?」でしたw
「車輪の再開発」はおそらく「オリジナルの車やバイクを作る時に」という前提があると思います。自社で開発を重ねてきたホイールがある車メーカーでもない限り、たとえ技術的にブラックボックスだとしてもありもので済ませる方がベターということですねライブラリについても、「多くの人が使う過程で不具合が取り除かれ、洗練され、安定して使われているもの」というのがメリットとして大きいという趣旨かなと思います。当然、マイナーなライブラリを使うときはリスクもリターンもそれなりですw
10:10 「どんなライブラリあります?」はサピア回で出てきた「パターン」の話になっていく気がします。「あなたの想定しているカレーってどういうカレーですか?私が作らせようとしてる=想起しているカレー(意味)と私が作ろうとしてるカレーに重なる部分ありますか?」
ライブラリとか関数とかって、数学で言えば「公式」ですね。高校までの数学ってほとんどプログラミングしかしてないような。新しい言語(概念・定義)を導入して、色んなライブラリや関数(公式や定理、解き方)を聞いて使ってみるって。ただ、数学には「公式は自分で導出できるから丸暗記するな」学派がいて、辛うじて数学は人間1人の仕事の量で導出できますけど、プログラミング言語でそれやろうとすると一生かかっても終わらないからライブラリや関数を使って、ライブラリや関数を自分で作る変わりに使う方にクリエイティビティを発揮してるだけですね。
今回説明された「プログラミングの本質」は機械語やアセンブリ言語で書かれていた時代のものとは全く別物ですね。前回同様に、書くべき命令の「量が増える」ことでプログラミングの「質が変わった」といえそうですね。
C言語とか、コンピューターが読めればいいだけだから、正しい動作すれば、どう書いても構わないと思っていたら、実は、人が読むことの方が多いんですよね。人が読みやすく書けとはよく言われますね。自分で書いたソースコードであっても、昔書いた関数を使ってやろうと思ったら、組み込めなくて、ソースコードを読み始めると、何これ分からんとなって、結局、同じ動作の関数をまた書くとか、ありました。
未来の自分は他人。
高校までって勉強する内容をネットで調べることになんとなく忌避感というか良くないことみたいなイメージがあるけど、大学なり専門学校なりで情報系に進学すると寧ろネットで調べ物できないと勉強が進まなくなるよね
確かに生物の神経伝達も01でコントロールされていて、筋肉への指令は1秒間当たりの興奮(活動電流)の頻度によって収縮の強さをコントロールしてたり。触覚の受容器(機械チャネル)は刺激の大きさを反応する神経の数や神経の興奮の頻度で表したり。神経間の隙間(シナプス)も一方通行なので半導体的だなと思ったり。コンピューターとの相似性は収斂進化なのかな?
15:48 「木を切れ」という一つのライブラリを分析するとこの世すべての木の種類が登録してあるライブラリが入っていて、さらにその中にはこの世すべての常用針葉樹が登録してあるライブラリが入っていて、さらにその中にはこの世すべての杉が登録してあるライブラリが入っていて、さらにその中にはニホンスギとは何かを定義しているライブラリが入っているってことなんだろうな。ニホンスギの判別という特定の限られた用途にしか使えないライブラリたちの集合があるから「木を切る」という抽象的で大きな命令を可能にするライブラリが存在できる。
ライブラリは動作ではなく、動作を行うもののカテゴリで定義されるイメージなので「林業」ライブラリみたいなので「林業従事者A」「チェーンソーB」「木材C(ニホンスギ)」を定義し、「林業従事者A」のプロパティに「チェーンソーB」を設定して「林業従事者A」の「木を切る」メソッドに「木材C」を渡して「伐採林D(ニホンスギ)」を取得する、みたいな
カレー作りライブラリのくだり、水野さんの察しが良すぎてこっちまでニヤニヤしてしまった
13:20 Surgeon SimulatorとQWOP思い出した(指や足動かすのにアホほどの入力と精密さを要求してくるバカゲー)
この二人の話、面白くてずっと聞いていたいから、40分ほどの話でも、すぐに終わりが来ちゃった感じがする。いつも終わった後「もっと聞きて~!」
プログラミング言語の本質は、計算機への命令を簡単にするために、複数の命令をまとめること、という説明が非常に腑に落ちました。ならば、まとめる範囲はどこまで広げることができるのだろうか、と考えてしまいました。 例えば、まとめる範囲が手続きであれば、構造化、データ型であれば、抽象データ型、両方に広げれば、オブジェクト指向型プログラミングと言えます。また、こうして考えると、まとめる範囲とは、抽象化する範囲でもあります。そうなると、関数型プログラミングで領域特化型言語を作っているときには、抽象化の範囲は言語そのものであり、まとめる範囲はプログラミングそのものなのだろうか、などと空想が広がります。 今回は、非常に面白い話をありがとうございました。次回の「プログラミング言語は言語?」も楽しみにしております。
待ってました!!!!!
集中してくれ!のくだりが笑いました🤣
「どんなライブラリあります?」わかるわぁwプログラミングなんてやっていることは、「代入」「分岐」「繰り返し」「関数呼び出し(ライブラリ呼び出し)」しか無いから難しいことは何もねえよ、と言われたことが懐かしい。「代入」「分岐」「繰り返し」なんて、すぐに身につくもんなんであとの成長はどれだけライブラリを駆使するかになってくる部分もありますからねぇ・・・
slコマンドは例えるなら間違えて「イモジャガをくれ」とコンピュータに命令するとコンピュータは「イモジャガ」なるものを世界中に探しに行って帰ってこなくなってしまうので、家の冷蔵庫に「イモジャガ」を置いておくことでそれを回避するみたいなイメージですかね
良いコメントありがとうございます!slコマンドはそういう話ではなくて単にジョークなんですが、発想としてはすごく良くて、アルゴリズムの世界では「イモジャガ」を置くこともあります!専門用語で「番兵」と呼ばれますね。(堀元)
車輪の再開発辺りで蝉の声に気付いてしまった本当にめっちゃ撮り溜めてるんやな
関係ないけど「玉ねぎundefined」の語感が好きすぎて一人でツボってた
今話題になっている「A君は155cm、B君は160cm、C君は165cm、D君は170cm、E君は175cmです。C君の次に背の高いのは?」の答えがB君派とD君派に真っ二つに分かれている件、これを取り上げてもらえませんか?
仕事でプログラミングをしていると、カレー作りライブラリがなくて自分で作ることがほとんどなので、確かに既存のライブラリを使ってカレーを作るんですが、その際の知見を自分がカレー作りライブラリとしてまとめて公開することを心がけています。ライブラリを作る人と使う人というのも明確に分かれているものではないですね。堀元さんは承知の上でお話されているとは思いますが。
昭和時代、まだファミコンとかなかったころ、AND回路とかOR回路を組み合わせて1桁の足し算装置を作りました。プリント基板5枚ぐらい組み立てました。自分で紙で筆算で計算すりゃいいじゃんとはいうものの、自分で作った足し算装置で1桁の足し算ができたときはうれしかった。引き算は難しいからできないの。
エンジニアが聞いても面白い会でした😌😌😌
カレー作りを具体的にするっていう所で、ラーメンズの「シャンパンタワーとあやとりとロールケーキ」を思い出しました。具体的な指示というのがいかににめんどくさいのかがわかりやすくコントにされてる。
英語でもreinvent the wheel と表現し、意味は「無駄に一からやり直す」ですね。会話でも自然に出てくるフレーズなのですが、なるほど、日本ではエンジニアの間で普及しているんですね。
英語から輸入した表現です。
14:15 木→→→ニホンスギ
水野さんは定義の焦点を明確にするために狭めていく(小さくしていく)のに対して、堀元さんは情報の多さによって大きくしていく:言語学では質/コンピュータ科学では量 で捉えていることが顕著に表れている場面だと感じました。
「分かった気にさせただけ」と聞いて「正確さと伝達力はトレードオフだから気をつけろ」とエンジニアなり立ての頃に先輩から言われた言葉を思い出しました。エンジニアって正確さにこだわりがちなのでなかなかこれができずに、伝えるのが上手ではない人が多いんですよね。そんな中堀本さんは最後にさらっと言ってて、やっぱトーク上手いなと思いました。
『正確さと伝達力はトレードオフ。今度使わせて頂きます!
関係ないかもですが、3.11の翌年ごろだったかな‥世相を反映したのか、大学入試で現代文の問題文が、専門知識の伝え方や、正確さと伝達や、表現論、理科学のコミュニケーションとは、みたいのが多かったような気がします。
@@ti6079
" 』 付け忘れてますよ
@@000. あなたが閉じたので足りましたね。
“ よし!
学生の頃、マシン語で1ヶ月作業したら、プログラムで四則演算ができることを忘れてしまい、その後、C言語でかけ算を足し算ループでやった事を思い出しました。
一恵がかかるのでかかかかかかああかかないかなかったらかさか
乗算機能のないハードってことですか??
レトルトは実は現代プログラミングの本質を突いてる。
僕も「実はレトルトが一番モダンな言語なんですけどね」って言おうかめちゃくちゃ迷った結果、「話が散らかるのでやめよう!」と決断しました。苦渋の決断でした…(堀元)
レトルトのところでめっちゃ何か言いたそうだなーと思いました笑
今回の動画の本質を突いているコメントすぎて、冒頭でこれ読んで概要分かっちゃいました。が、それでも最後まで聞きたくなるのがゆる言語ラジオですね。
実は日本の「ルー」も「ライブラリー」なんだな。ルーが何でできているのか知らない人も多い。こだわる人はルーなど使わず、シナモン・クローブ・ナツメグ・カルダモン・胡椒・クミン・ベイリーフなどなどスパイスを素材から使う。そう言う意味でいい例えだ👍
最終的にはUbarとかで頼んで、うちで作ったことにして、上前だけはねようという未来が見えてきた。。
尖った文系オタクと尖った理系オタクの歯車の噛み合せが完璧すぎて好き
プログラマー【programmer】
①パソコンに向かって何かを書いている人種。発注元からの突然の仕様変更やメンテナンス作業で苦しそうにしていることが多い。
語釈:水野
22:29 「バックアップが取れていれば先人の行動を完璧にコピーできる」という点がコンピュータサイエンスの強みだよなぁ
23:39 絵描きの界隈でも「絵が上手い人ほど資料を沢山用意するし資料から沢山真似する」とよく言われますね
見栄えのいいポーズや構図や角度なんて限られてるし先人が腐るほど描いてるので、だったらそれを参考にする方がカッコいい、かわいい絵を速く描けるんですよね
なるほど、資料というのがそもそも”その道のプロが作った完成品”であることを考えてみれば、スピードと完成度が上がるのは道理ですね。
『資料を見て描け』は先人の絵に限らず、『想像ではなくきちんとものを見ましょう』だと自分は捉えているのですが、これ、『エラーが出たら自分で考えるより、エラーメッセージでググったほうが早い』に近いな……と思いました
漫画を描いている者ですがまったく同じことを考えました 笑
25:45
車輪の再開発と併せて、「卵かけご飯美味しい!ネギとか具材を入れて火を通したらもっと美味しくなるに違いない!」と言って炒飯を再発明する話が好きです。
-aryという集まりを表す語を含むdictionaryとlibraryによって辞書オタクとプログラマーの知識を集結させるの胸アツだな・・・
そんな辞書オタクとプログラマーのbinary(二人組)
車輪の再発明と聞くと、
「日本って毎年なんか雨多い時期あるよな」
という梅雨の再発見してる人のコピペを思い出す。
プログラムとか全く出来ないけど聴いたことのある
「コンピュータは思ったとおりには動かない、書いたとおりに動く」
というプログラミングの格言が好きです
たぶん軍隊の将校とかも兵士や部下をこんな感じで指揮するんだろうね。だから命令は明瞭で解釈の揺れがあったら絶対にいかん。たとえそうやったとしても、絶対に思い通りには動かない
作業中にリファレンス読み始めちゃって仕事忘れる派のITエンジニアです。
そういえばアニメやゲームの内容より設定資料読むのが好きなオタクでもありました。
資料を読みこんだ後、頭の中をまとめて用語集書くのがめっちゃ好きだったんですが、だからエンジニアになってもライブラリ作るのが好きなんだなぁ、きっと。
そこが繋がっていたとは。とても腑に落ちました。
昔、研究室で画面ロックせずにPCを放置して離席している間に、先輩にlsコマンドを打つとslコマンドが走るイタズラされたのを思い出しました。
aliasコマンドでlsコマンドを訂正しようとしてもslが走り、
viコマンドで設定ファイルを訂正しようとしてもslが走り、
諦めてexitコマンドでシェルプロンプトを閉じようとしてもslが走って恐怖でした。
普通に面白い
ゆる言語ラジオ聴き始めてから辞書を8冊買ったエンジニアの端くれです。
何故こんなに辞書に魅かれるのかやっとわかりました。初期にはよくリファレンスを通読していました、今はパラパラめくって楽しんでいます。
水野さんプログラム面白いって思って始めてくれたら嬉しいな。
堀元さんよろしくお願いします!
水野家カレー、かぼちゃだけでなく、福神漬けを用意しようとするところにこだわりを感じるw
プログラム的には、そこで用意すると煮込んじゃいますけれどね(^_^;)
人(日本人)なら、「福神漬は完成してから、皿の隅に乗せるか別皿(容器)で添えるか」と判るけれど、コンピュータには(指示か参照させなければ)判らない。
最近見始めた者ですが、この2人がラジオをやるようになったきっかけが気になります。
分野が違うオタク同士の会話は面白いですね
誰も言及してないけど、そんなライブラリあるの!って話で「ボウリング場で風に手を当てて乾かす」の例を出した水野さんのセンスに感動しました。
なぜこのチャンネルを見てる人にIT技術者が多いのか腑に落ちた。
前回動画の好きなコメント
水野「コード通読してきました」
堀元「えぇ…」
25:20
堀元さんの「そう捉えてあんまり間違いではない…と思うな(ちょっと違うけど……まあいっか…)」の感じと水野さんの嬉しそうな「なるほどねぇ!」の温度差が味わい深い
好奇心旺盛な生徒を持ってて、教科書書いてないことや他の教科との関連知識をやたら聞かれてる先生がよくする反応を連想しました
先日知ったのですが、Eテレでプログラミングの番組が始まっています。子どもと見ていたのですが、全く理解できませんでして。これまで学習の友になっていたはずのEテレに突き放された感覚でした。時代が動いていることを実感すると同時にこの動画の価値を実感しました。次も楽しみです。
27:47 実際のプログラマー目線だと、野菜スープライブラリをカレー作りに応用するのは避けたいです。将来野菜スープライブラリが更新されて、本来想定してないカレー作りがサポート外になる恐れがあるからです。
数年前に更新が止まったツールが古いライブラリでしか正しく動かなったり、ライブラリをバージョンアップすると妙なところで動かなくなる問題。あるあるですね
モダンな言語なら、ライブラリのバージョン指定しますよね。gemfile とか package .json とか requirements.txt とか。
野菜スープライブラリがバージョンアップされて、火加減が256段階から65536段階に細かくなった。
それを知らずに、従来通りそのまま火加減=200で指令したら・・・ぜんぜん煮込めないし食えないw
すんげ~~~~~嬉しい瞬間だ~~~!!!
文系で「スマホって魔法の箱でしょ」くらいに思ってた人が、十分な説明力がある人に説明を受け、十分な理解力があるから理解し、
プログラマのやってることが簡単とも難しいとも言えることだと理解してもらえてる瞬間!!
わかりあえないと思ってた人と和解できたくらいの嬉しさがある!
カレーの作り方を聞かれて「レトルトでいい?」って答える水野さんにはエンジニア適性しか感じられません!
レトルトカレーってコンテナですもんね。
17:43 昔の技術者はすべて0と1で記述した
フロントパネルに並ぶトグルスイッチのON/OFFが0と1に対応していて、それでプログラミングしてたような話は聞くけど、80年代前半にプログラミングを覚えた私にとってすら神話の時代の話だな…。
22:07
本編の内容と直接関係無いのですが
カレーの「ルウ」は誤用が普及してしまって
本来の意味に修正が不可能と思われる現状にモヤモヤします
本来は「小麦粉をバターで炒めたペースト状のもの」が「ルウ」で
それに出汁とスパイスが加えられた塊が市販されているカレールウ、
対して、野菜のスープにルウを溶かし込んだ、米飯に添えるものは
ソースと呼ばれる状態のもので、既に「ルウ」ではありません
注)苦情じゃないよ!問題意識を共有したいだけだよ!
そう!
インドでは毎日カレー食べるんですか?って言う質問よくされるけど、インドでは「ルー」の入ったカレーは存在しない。原材料のスパイスを一つ一つ入れて作るが、小麦粉を入れてとろみをつけることはしない。だからシャバシャバしてる。そして肉の脂がしみ出るまでグツグツと煮込む。(現地の人はカレーのスープの部分を「グレービー」と言う) でもそんな手間のかかるものを忙しいのに毎日毎日作ってられるか!って訳で、日常的には簡略バージョンでスパイスでささっと野菜などを炒めておかずを作る。そこにスパイスが入ってると、「カレー」ですね、と言われる。何でやねん。それは現地では「सब्ज़ीサブジー」と言いますが、「野菜」という意味。カレーの語源になったタミル語のகறிも元は「野菜」という意味。元を正せば意味が違うのにというものはいっぱいあるものです。
文系からSEになって不安だった頃に先輩に「無限にコピペするだけの簡単なお仕事だから安心してね」って言われたことを思い出しましたね。人が作った便利なものはバンバン使おう!みたいな。
言ってみれば設計者はスポーツのコーチ、基盤とかやってる人たちは解剖学者って感じなのかな。
「どんなライブラリある?」はソースコードのライブラリがあるかの問い合わせ
「レトルトでいいですか?」
はリンク可能なビルド済みライブラリがあるかの問い合わせ
目的物(カレー)を得るうえでは、ある意味 水野さんは間違っていない… かもしれない
レトルトパウチ自体が、カレーのライブラリ化ですね。あとは熱加えて盛り付けるだけという。
銀の弾丸は無いとか、プログラミング界の格言・名言を集めた回をやって欲しいです。水野さんのリアクションが気になる。
これは見たいなあ😄
文系出身SE勢一度で二度おいしいラジオになってきている……
会社入りたてでプログラミングも勉強中のころ、先輩に「めんどくさがりな奴こそプログラマに向いてる」と言われたのを思い出しました。出来るだけ用意されたものを使うなど少しでも効率良い方法を考えて、いかに楽するかっていう仕事なのだと。レトルトカレー使おうとした水野さんは絶対適性ありますよね。。
よくあるカレーの話になるのかなと思ったら料理から始まらずに買い出しから始まってフレーム問題風味になってて笑った
水野さん察しよすぎてテンポがすごくいい笑
プログラマーのイメージだいぶ変わりました!面白かったです!!
どんなライブラリあります?
のところめちゃくちゃ笑いました😂
水野さんの先読み力すごく高くて、プログラミングの習得くらいはすぐできそうですね!
カレーの作り方、最初に水野さんが聞かれてる時に考えてたことがそのまんま正解として出てきてぞっとしました。プログラミングに慣れきってしまったんだなあ…
みんなで作ったライブラリをみんなで使う。というのがITのいいところですよね。フレームワークは「ビジネス文書の書法」、ライブラリは「ビジネス文書の文例集」みたいな感じのイメージ。
純粋な水野さんを煙に巻きやがって!話進まねぇ!とイライラ聞いてるうちに何故か結論に超納得させられてゆる言語学ラジオのドリフト先まで指し示す装置になってるの理系すぎる
言語学にあえて絡めるのなら、プログラミングって単語を生む作業なのかなって思いました!
「現在を含む日付の翌日=明日」「速く歩く=走る」ってまとめてしまえば、次の人は「今日 走る」で記述できるのと近いのかなと
そう考えると急に身近!
第2回、本当に楽しみに待っていました〜!
考古学では分類した遺物のまとまりをアセンブリッジと呼ぶことが思い出されましたので、早速語源を辿ってきます!
なんか、武井壮さんが「自分の体を思い通り動かせない生徒なのに、誰かの指導を受けてスランプに陥るのは当たり前」って言ってるのと似た感じがする
鍋 overflow ってエラー表示が出たら、どうやらうちの鍋は小さいらしいって思えるけれど
現実世界じゃエラー表示出ないし、生徒のスペック表も個別に用意されてないですからね
意味階層が記述されたシソーラスって木構造の辞書から単語間の概念距離を計算する研究を昔やっていたことがあります。スギ→ニホンスギの話を聞いて懐かしいなと思いました。
プログラマーがイライラしながらキーボード叩いてるのは丁度いい参照元が見つからなくてグーグルを検索しているとき
鍋オーバーフロー分かりやすすぎて面白かった
プログラム言語の本質は「まとめる」とありましたが、実際にプログラムを作るときには、大きな問題を小さな問題にバラして作る。ということがあります。バラバラに作るからこそ「まとめる」という作業も発生しますし、部分的に交換するなどが可能になりますね。
カレー作りの例えがわかりやすすぎる
sl コマンド…急いでるときに汽車が走っていくのを見守るときの気持ち…懐かしい。
昨今の技術者が「0101」のコードを書かなくていいのは先代の技術者たちが書いていた一番ブレイクダウンされた「0101」のコードを継承して有機的な指令を出せるようになったからなんだな。こう考えると、もはや臨界点に達してしまったとも思える技術の領域も、まだまだ凄まじい潜在能力を秘めているのかもしれない。
ライブラリを充実させてくれる人がいるおかげでqiitaとかの解説記事見るだけで済んじゃう
まとめる、しっくりきました
きっと語弊があると思うけど私の中でのイメージは以下の通りです。
プログラマーは怠けたいという願望があって、怠けるためには全力で努力する。
ただ怠けたいものも怠けるための努力もプログラムを書くということになることが多い
というより文明や技術の発展自体がそういう経緯を経ていて、プログラマーはそれを01の世界で繰り返してるんですね
コンクリートビルも自動車も「『それを作るための道具』を作るための道具」を誰かが作ったからそこにあるんです
"たまねぎ undefined"で笑った。
教育関係の「改革」論議はあらゆる概念が"undefined"なまま錯綜することが多いし、それが錯綜したまま政策になっちゃったりする。それに対して"教科 undefined"とか、"社会 undefined"とか、"国語 undefined"とかやっていくことは大事だなと思った。
初心者「必要な時に必要なものだけ探す」
中級者「時間があるときに今不要なものも掻い摘んで読む」
上級者「時間を作ってでも頭から通読する」
この動画を見て自分なりにコンピュータ言語が言語と言われる所以を考えました。
コンピュータプログラミングで適切なライブラリを使うためにも設計者の背景、思想とか文化がわからないとより適切な使い方をしてもらえません。なので、その動作を何という名前をつけるか、どんな固有名詞を定義するかなどは非常に気を使います。そのコミュニケーションをソースコード内でして、使う人にメッセージを出しているので、言語という方がしっくりすると思っています。
当方エンジニアなったばかりですが、掘元さんのお話すごく共感できるのと分かりやすくて感動!
そして水野さんも理解力すごいので簡単なホームページくらいならすぐ作れるようになっちゃいそうですね!
レトルトOK?が出てくるところでもう面白い
この回が# 64ってのがいい
「鍋 overflow」聞いた瞬間に爆笑してしまったwww
俺もパスタ茹でるときとか、よくオーバーフローさせてしまうわ
@@thing0 パスタを茹でるときは鍋じゃなくてフライパンの方が向いていると言う人もいます。
鍋は口が火から遠いので吹きこぼれますが、フライパンは火から近いので泡が割れて吹きこぼれないとか。
昔から当たり前に使っているライブラリでも、ときには変えると良いという例かもしれません。
@@Kaladge え!? それは知らんかった…。
そのままフライパンでソース作れば洗い物も減るし、一石二鳥ですね。
プログラミングには「ライブラリを探して使う」のと同時に「他人(あるいは自分)のためにライブラリを作る」もあるわけで、「うまいまとまりを探す」だけでなく「うまくまとめる」も技術のうち。
たとえ合戦のところ、
ドラゴンボールの悟空とベジータが凄いスピードで戦っているのを呆然と見守る地球人の気持ちがわかりました。
カレー作りを指示してくる人に
「塩(えん)をひとつまみですか?硫化バリウムで良いですね」
「鍋に引く油はハイオクタン価のにしておきますね」
「強火で1分強とかじゃなくて単位をJ(ジュール)で記述していただけますか?」
「地表の70%を占める海中での調理が推奨されていますよね?」
「ところで調理環境は重力の存在が前提されてましたっけ?」
ってフレーム問題大喜利風に煽るの楽しすぎワロタ
プログラミングちょっとしか触ってないけどめちゃくちゃ共感できる部分多くて笑った
大体エラー文コピペして海外の掲示板漁ってる
sta**overflow www
個人的には、「車輪の再発明」は非常に優秀なレトリックだと思っています。
「車輪」のように
・それが実はれっきとしたコロンブスの卵的「発明」であること(自然に存在しない)
・今や世界中の誰もが「それが何であるかが分かる」もの、
・それを「再発明することの(教育的意味やライセンスやライブラリの相性などの問題を除いた)無意味さやバカバカしさが実感できる」
という、このフレーズが成立するために必要な要素が全部備わった「発明」は、他になかなか見つからないと思います。
「車輪」を再発明する人はおらんやろ、というツッコミは、
「車輪」が立派な「発明」であるという事実を見落としているような気がしてなりません。
人類独自が使うプリミティブなもので『火』なんかは現象の発見・利用ですし、道具としての『武器』なんかも、虫とかにも似たものが備わって持ってますしね。カニとかのハサミとか。
車輪がついてる生物はいない(?)だろうから模倣でもなく、まぎれもない発明ですね。面白く読ませてもらいました。
時々、アルゴリズムの初心者本を色々読んでみるのですが、英単語の指令を入力すると何故その動作が起きるのかわからず腑に落ちずにいました。
今回の堀元さんの解説で、自分の知りたかったことはコンピューターの本質そのもので、細分化されたテーマの初心者本では得られないテーマだったということに気づき、なおかつ全体像を捉えることができました。
この話しが無料で聞けるって、エグいですね…。
@@vonneumann6161 ガチ勢の方からのお返事、感動です!!痛み入ります。私の周囲の人には聞けないテーマなので、何を調べればいいかを提示して頂けるのは非常に助かります。と言っても初心者本を読むくらいなので、どれくらい理解できるか微妙なところですが…。提示して頂いたワードをそれぞれまずググってみましたが、とてもわかりやすく簡単にご説明頂いていたことに改めて気づきました。
文系のプログラムといったら法律体系なのではとおもったりします。
資格試験ため産業系や工業系の法令を読んでいると、安全性を保つために目的やら主体やらが定義されて、扱う物質も化学式で定められています。その条件の長さや重さ、また単位も定めています。
話は別ですが、法律とプログラミングといえば、法律をソースコード的に置き換える、あるいはソースコードのように解釈するbitlawというプロジェクトがあったり、最近マンパワーで行われている法案作成のミスが連続した時期にはコンピューターの力を使って効率化(時間短縮・ミス削減)を図れるのではないかという話題がありましたね。
日本国憲法を論理プログラミングを用いて表記した「論理憲法」なんかは結構面白いですが、法解釈的な問題点として様々な事項の未定義や主体不明・客体不明などがあってすごく良い出来とまではいきませんね。とはいえ、憲法のそうした点は学者も実務家も皆改善してほしいとは思っているようなので、プログラマの人も見たらそう思うのかもしれませんね。
@@炭酸3号
先日PSYCHO-PASSという劇場アニメを観てきて、AIと法と人の関係が、モチーフになっていました。挙げてもらった事柄を参照して見直すと面白そうですね。
情報系の高専生です。
一年生のとき、学校であったプログラミング課題にちゃんとしたゲームを提出して、学科表彰された人がいました。どうやって作ったのか聞いたら、「ネットにあった簡単なシューティングゲームをコピペしてきた。でもコピペだけなのはまずいかなって思って、画像の動かし方を調べてキャラクターを作ったり…って感じで要素を追加していったんだよ。」と言ってて衝撃を受けたのを思い出しました。
水野さんがプログラマーに抱いていたイメージの様に、私や他のクラスメイトが馬鹿真面目に一からプログラムを書いてる中、彼は既にプログラマーのようなことをしていたんですね。
英語にも “reinvent the wheel (車輪の再開発)"みたいな表現あります…!意味全く同じです
You don’t need to reinvent the wheel
みたいな。
一度も使ったことないけど言われれば分かるくらいの感じです
37:10 単語は広く使われるかが正しさの基準であって、ライブラリはプログラムが動いてちゃんと停止するかが正しさの基準であるという違いがあるから、辞書とプログラミング言語のオープンソース性が大きく異なるのかな、と素人ながらに。
21:08 ATだと車の仕組みが分からないって話は自分も聞いたことあるのだけど、最近ATとMTではそもそもギアの作りが違うと知って、MTは理解しててもATは分かってない人もいるのかもと思い始めた
というか通常ATはMTの延長線上。違うと言っても自動化してるかしてないかの違い。ホントに違うというならばATの中でもCVTを例に挙げるのがより正確かも。ただCVTの方がぱっと見の理解が段違いにしやすいのがアレですが。
@@立花蔵人 私のこれまでの理解では自動化してるかしてないかと思っていたのですが、ATにはそもそもクラッチがなくトルクコンバータという機構を使ってギアのなめらかな切り替えを実現してるとの説明を見ました。クラッチがないというのはATの中でも一部なのでしょうか?
クラッチとトランスミッションを別で考えた方がいいですね
変速を行うのはトランスミッションなのでその点ではMTにもATにもついてます
田中ちょこさんが仰ってるタイプのトルクコンバーターはクラッチの代わりにATについてるものです
ATはクラッチ操作を自動でするものでギヤの本質は変わらないということを立花蔵人さんは仰りたいのだと思います
車輪の再開発は、「この世界観は俺だけのものだぜ」ってイキってた中学生の頃、その言葉を突きつけられて全能感と引き換えに知りました。
ダニングクルーガー効果だ…
カレー作りライブラリみたいなeasyなライブラリ使うと、最初はすぐに成果がでるけど、痒いところに手が届かなくて、仕様変更に弱いんですよねー
私はいつも、にんじん切るライブラリ、ジャガイモ剥くライブラリとかの粒度のライブラリ使いますー
私もそうです!包丁使うライブラリ持ってきて各野菜に対応させるくらいの粒度かな
やりたいこととライブラリでできることのバランスを考えるのも、技量が要りますよね。勘所というか。例えば、Twitterでツイートしたいなら公式のライブラリをそのまま使うのがいいけど、ボーリングしてるときに手を乾かしたいならプリミティブな命令を組み合わせるのが応用が効いてロバストな作りになる。
めちゃくちゃ面白かったです!
QRコードを手書きする課題と深さ4程度の決定木を書く課題があったの思い出した
あれはまだマシな方だったんだな...
COMET IIのハンドアセンブルをやらされたのはいい思い出
ハンドアセンブルは、8080時代のやりました😄
22:55
ここの水野さんの推測に鳥肌立った
全然何にも分からない分野でこれを考えつくというのは、「教養は錆びつかない」じゃないけど「知性は土を選ばない」的なものを感じた
外在する世界を分割して意味持たせる言語空間と、何も無い空間に指令を積み重ねて意味を持たせるコンピュータ言語の空間。
イメージは逆で正しい気がする。。
水野さんの理解力と例える力が聞き手として素晴らしい
自分は言語学オタクのプログラマーなのだが、言語学オタクとしてもプログラマーとしてもlojbanという人工言語をとても面白いと感じている。
堀元さんと水野さんがこの人工言語を知ったらどう感じるのか一度聞いてみたい。
因みにlojbanは元々は特にサピア=ウォーフ仮説の調査のために設計され、現在の文法はPEGで記述されている。
「鍋overflow」笑いました。
「どんなライブラリあります?」から始めるのが今どきですね。私の時代はカプセル化といったことが今ほどじゃなかったから「どんなライブラリから作ります?」でしたw
「車輪の再開発」はおそらく「オリジナルの車やバイクを作る時に」という前提があると思います。
自社で開発を重ねてきたホイールがある車メーカーでもない限り、たとえ技術的にブラックボックスだとしてもありもので済ませる方がベターということですね
ライブラリについても、「多くの人が使う過程で不具合が取り除かれ、洗練され、安定して使われているもの」というのがメリットとして大きいという趣旨かなと思います。
当然、マイナーなライブラリを使うときはリスクもリターンもそれなりですw
10:10 「どんなライブラリあります?」はサピア回で出てきた「パターン」の話になっていく気がします。
「あなたの想定しているカレーってどういうカレーですか?私が作らせようとしてる=想起しているカレー(意味)と私が作ろうとしてるカレーに重なる部分ありますか?」
ライブラリとか関数とかって、数学で言えば「公式」ですね。
高校までの数学ってほとんどプログラミングしかしてないような。新しい言語(概念・定義)を導入して、色んなライブラリや関数(公式や定理、解き方)を聞いて使ってみるって。
ただ、数学には「公式は自分で導出できるから丸暗記するな」学派がいて、辛うじて数学は人間1人の仕事の量で導出できますけど、プログラミング言語でそれやろうとすると一生かかっても終わらないからライブラリや関数を使って、ライブラリや関数を自分で作る変わりに使う方にクリエイティビティを発揮してるだけですね。
今回説明された「プログラミングの本質」は機械語やアセンブリ言語で書かれていた時代のものとは全く別物ですね。
前回同様に、書くべき命令の「量が増える」ことでプログラミングの「質が変わった」といえそうですね。
C言語とか、コンピューターが読めればいいだけだから、正しい動作すれば、どう書いても構わないと思っていたら、実は、人が読むことの方が多いんですよね。人が読みやすく書けとはよく言われますね。自分で書いたソースコードであっても、昔書いた関数を使ってやろうと思ったら、組み込めなくて、ソースコードを読み始めると、何これ分からんとなって、結局、同じ動作の関数をまた書くとか、ありました。
未来の自分は他人。
高校までって勉強する内容をネットで調べることになんとなく忌避感というか良くないことみたいなイメージがあるけど、大学なり専門学校なりで情報系に進学すると寧ろネットで調べ物できないと勉強が進まなくなるよね
確かに生物の神経伝達も01でコントロールされていて、筋肉への指令は1秒間当たりの興奮(活動電流)の頻度によって収縮の強さをコントロールしてたり。
触覚の受容器(機械チャネル)は刺激の大きさを反応する神経の数や神経の興奮の頻度で表したり。
神経間の隙間(シナプス)も一方通行なので半導体的だなと思ったり。
コンピューターとの相似性は収斂進化なのかな?
15:48 「木を切れ」という一つのライブラリを分析すると
この世すべての木の種類が登録してあるライブラリ
が入っていて、さらにその中には
この世すべての常用針葉樹が登録してあるライブラリ
が入っていて、さらにその中には
この世すべての杉が登録してあるライブラリ
が入っていて、さらにその中には
ニホンスギとは何かを定義しているライブラリ
が入っているってことなんだろうな。
ニホンスギの判別という
特定の限られた用途にしか使えないライブラリたちの集合があるから
「木を切る」という抽象的で大きな命令を可能にするライブラリが存在できる。
ライブラリは動作ではなく、動作を行うもののカテゴリで定義されるイメージ
なので「林業」ライブラリみたいなので「林業従事者A」「チェーンソーB」
「木材C(ニホンスギ)」を定義し、「林業従事者A」のプロパティに「チェーンソーB」を設定して
「林業従事者A」の「木を切る」メソッドに「木材C」を渡して「伐採林D(ニホンスギ)」を取得する、みたいな
カレー作りライブラリのくだり、水野さんの察しが良すぎてこっちまでニヤニヤしてしまった
13:20 Surgeon SimulatorとQWOP思い出した(指や足動かすのにアホほどの入力と精密さを要求してくるバカゲー)
この二人の話、面白くてずっと聞いていたいから、40分ほどの話でも、すぐに終わりが来ちゃった感じがする。
いつも終わった後「もっと聞きて~!」
プログラミング言語の本質は、計算機への命令を簡単にするために、複数の命令をまとめること、という説明が非常に腑に落ちました。ならば、まとめる範囲はどこまで広げることができるのだろうか、と考えてしまいました。
例えば、まとめる範囲が手続きであれば、構造化、データ型であれば、抽象データ型、両方に広げれば、オブジェクト指向型プログラミングと言えます。また、こうして考えると、まとめる範囲とは、抽象化する範囲でもあります。そうなると、関数型プログラミングで領域特化型言語を作っているときには、抽象化の範囲は言語そのものであり、まとめる範囲はプログラミングそのものなのだろうか、などと空想が広がります。
今回は、非常に面白い話をありがとうございました。次回の「プログラミング言語は言語?」も楽しみにしております。
待ってました!!!!!
集中してくれ!のくだりが笑いました🤣
「どんなライブラリあります?」わかるわぁw
プログラミングなんてやっていることは、「代入」「分岐」「繰り返し」「関数呼び出し(ライブラリ呼び出し)」しか無いから難しいことは何もねえよ、と言われたことが懐かしい。「代入」「分岐」「繰り返し」なんて、すぐに身につくもんなんであとの成長はどれだけライブラリを駆使するかになってくる部分もありますからねぇ・・・
slコマンドは例えるなら
間違えて「イモジャガをくれ」とコンピュータに命令するとコンピュータは「イモジャガ」なるものを世界中に探しに行って帰ってこなくなってしまうので、家の冷蔵庫に「イモジャガ」を置いておくことでそれを回避する
みたいなイメージですかね
良いコメントありがとうございます!
slコマンドはそういう話ではなくて単にジョークなんですが、発想としてはすごく良くて、アルゴリズムの世界では「イモジャガ」を置くこともあります!専門用語で「番兵」と呼ばれますね。
(堀元)
車輪の再開発辺りで蝉の声に気付いてしまった
本当にめっちゃ撮り溜めてるんやな
関係ないけど「玉ねぎundefined」の語感が好きすぎて一人でツボってた
今話題になっている「A君は155cm、B君は160cm、C君は165cm、D君は170cm、E君は175cmです。C君の次に背の高いのは?」の答えがB君派とD君派に真っ二つに分かれている件、これを取り上げてもらえませんか?
仕事でプログラミングをしていると、カレー作りライブラリがなくて自分で作ることがほとんどなので、確かに既存のライブラリを使ってカレーを作るんですが、その際の知見を自分がカレー作りライブラリとしてまとめて公開することを心がけています。ライブラリを作る人と使う人というのも明確に分かれているものではないですね。堀元さんは承知の上でお話されているとは思いますが。
昭和時代、まだファミコンとかなかったころ、AND回路とかOR回路を組み合わせて1桁の足し算装置を作りました。プリント基板5枚ぐらい組み立てました。
自分で紙で筆算で計算すりゃいいじゃんとはいうものの、自分で作った足し算装置で1桁の足し算ができたときはうれしかった。
引き算は難しいからできないの。
エンジニアが聞いても面白い会でした😌😌😌
カレー作りを具体的にするっていう所で、ラーメンズの「シャンパンタワーとあやとりとロールケーキ」を思い出しました。具体的な指示というのがいかににめんどくさいのかがわかりやすくコントにされてる。
英語でもreinvent the wheel と表現し、意味は「無駄に一からやり直す」ですね。会話でも自然に出てくるフレーズなのですが、なるほど、日本ではエンジニアの間で普及しているんですね。
英語から輸入した表現です。