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