Размер видео: 1280 X 720853 X 480640 X 360
Показать панель управления
Автовоспроизведение
Автоповтор
【参考文献】○コーディングを支える技術amzn.to/3TscsJp○オブジェクト指向の考え方 5th Editionamzn.to/3lpDaFQ○WEB+DB PRESS Vol.132amzn.to/3JtYkuv○プログラミング言語大全amzn.to/3yNiYRf○はじめてのLisp関数型プログラミングamzn.to/3yNj3V3〇アルゴリズムとデータ構造amzn.to/3yLrwbx〇科学革命の構造amzn.to/3lohiup【サポーターコミュニティ加入はこちらから】yurugengo.com/support【おたよりフォーム】forms.gle/BLEZpLcdEPmoZTH4A※皆様からの楽しいおたよりをお待ちしています!
4:30 「学部卒のバカで自意識が放送大学」ってフレーズ尖り散らかしてていいな
意味はよくわからないけど意図はよくわかるよね。例えば、半導体摩擦で『京』の最速化は10年遅れた、みたいな「技術開発にも政治と人間関係がある話」なんかバカにしている感じが良く伝わってくる
ゆる言語ラジオとゆるコンピュータ学ラジオの大きな違いはコメント欄から鑑みるとプログラムは詳しい人が多い。どうやって素人にプログラムの話をするのかの部分を楽しんでいる対して言語学は多くの人にとって未知で知らない話を聞く事を楽しんでいる。
どこまで"ゆる"さを許容するかを探りながら話す感じ好き。😊
「次回も見て下さい。本当のパラダイムシフトを見せてあげますよ」安定の山岡動画
FORTRANの次に登場したのに現代の動的型付け言語の特徴をすべて持っていたLispのオーパーツさよ...
楽しみに待ってました
あらゆる事柄について明言を避け続けた結果なにも喋れなくなり、1時間無言のラジオになる未来
これが「ラジオ収録する衒学者の問題」ですね
@@komenukabass 収録が終わらずにそのまま餓死してしまう
めっちゃ面白くてチャンネル登録させてもらいました・・それで過去動画が気になってず~っと探したら第1回の「コンピュータ科学をやるのに、コンピュータは不要」の回にたどり着き、見ていたら堀元氏の大学時代の教科書が登場してその本を水野氏が適当に開いたページを読んだらダイクストラの名前が出てきて・・あ!・・なんという偶然!・・となりました・・おもろ~~ちなみに小生・現在70歳・20歳代の頃8bitマイコンや放電プリンターなどをを見たくて秋葉原までよく通いました・・
34:00同音異義語を気を付けてる堀元さんが「方が」と誤認しやすい「萌芽」を言っちゃう珍しい瞬間
38:44 で「手間がかかるのに(マシン語やアセンブリ言語で)ゲームを作るやつはいない」と言っていましたが、実際のところ、少なくともゲームボーイくらいの時代までは主にアセンブリ言語でゲームが作られていたかと思います。初代ポケモンとかもアセンブリ言語で書かれているはずです。他にも記憶の限りだとスペースインベーダーなんかはハンドアセンブリングでマシン語に落とし込んでいたそうです。昔のゲーム開発すごすぎです。
故岩田社長がマザー2でC言語を導入した話はいいですよね「今のコード(アセンブリ)を利用するなら2年かかりますが、 1から(C言語で)組むなら半年で済みます」と言って有言実行した話
昔々PC88とFM7が戦っていた頃は、マシン語で書かれているというのがウリになっていました。ゲームのパッケージにマシン語とだけ書かれていたのを思い出す
@@gochuui1そうなんだ、、ただただ岩田さんがスーパーマンだったという文脈なんだと思ってました。
水野さんがおっしゃっていた「plus 8 2」は、ポーランド記法でしょうか。私だけかもですが、日本語で計算するときは脳内で「8と2をたす」と考えるので、逆ポーランド記法の方が分かりやすいと聞いたことがあります。つまり「8 2 plus」。そういった電卓も実際にありますね。
私情報工学専攻の還暦じいさんですが、BASIC で遊び授業はFORTRAN とかで、卒論にはLISP とかPASCAL 使ってました。構造化凄いと思いました。「アルゴリズムとデータ構造」は名著ですね。「データ構造とアルゴリズム」という本も持ってる。どちらも初版です。あの頃はこれが大事だという転換期だったのかな。
いまさら気づいたけど堀元さんがpixel使ってるの完全に解釈一致だな
「パラダイム」という用語は元々はむしろ自然言語の文法用語で「語形変化表」(ラテン語などで動詞が時制やら人称やらアスペクトやらで変化する活用表をイメージしてください)のことですよ。つまり「パラダイムが違う」というのは「表の見出し自体が違う」ということだと思います。例えば,日本語だと「動詞」は「未然形」「連用形」などの見出しを付けて表にすることができますが,英語だと隣接する別の要素(接続詞の有無など)によって動詞の形が変わらないのでその表自体が使い物にならない,というのが「パラダイムが違う」の原義に近いと思います。
水野さんは、シンプルで最適なたとえに落とし込む才能を時々見せますね。電話番号のたとえは感心してしまいました。
この回、なぜオタクの会話が不快なのかが分かってしまう内容だったので自省した(こういう風に後から括弧で補足を付けたくなる性分があり、それと通底するものがあると感じたから)
宗教改革の説明、ルターが教会を批判した後フリードリヒ3世に匿ってもらっているときにドイツ語に翻訳したのが正しい順番だった気がします
コマンドの羅列でしかなかったところに二股ニョキニョキな文法が発生してぶち上がる水野さんが見たい
わかる〜
水野さんモノマネするときだけ威勢よくなるのすき
私が出た大学(工学部情報科)では、最初はPascalでプログラミングの基礎やアルゴリズムとデータ構造をやり、C言語はその後でした。プログラミングとしての作法をPascalで学んだあと、実践向けとしてC言語をやったためか、スムーズにいきました。
私が出た大学でも、最初はPascalでプログラミングの基礎やアルゴリズムとデータ構造をやりましたねぇ…担当教官が変わったらC言語になったと聞きましたが(笑)
今回の話を聞いていて、コンパイラを解説するシリーズを聞いてみたいなと思った。なんでプログラミング言語が機械語になって動くのか?抽象木構造による意味解析....生成文法シリーズの時みたいに、互いの分野のつながりで盛り上がりそう。テンションが上がってるお二人が目に浮かぶ
水野さんの聞き手としての能力が高すぎることがよく分かるチャンネル
13:48 堀元のパラダイムシフトが起こった瞬間
最初に機械語の困難を克服したのは、構造化プログラミングが提唱されるまえのFORTRAN(大文字ででないといけない)なんかだと思います…という期待通りのツッコミをしておきます😁
マシン語→アセンブリ→FORTRAN→C の順で紹介されると思ってました
@@早川眠人 そうですね。今回「GoTO文」が出てこなかったのは意外でした。Dijkstraは何と言っても「Go To Statement Considered Harmful」ですから。
@@yoshiyoshi8980 この流れで行くと、次回はプログラムフローの構造化よりデータの構造化を中心に解説されそうです。
@@早川眠人 Cは不要。Cは高級言語というには違和感が強くむしろ先祖帰りしているすら感がある。マシン語→アセンブリ→FORTRAN→4GL
@@kenjih1408 39:51 堀元さんはC言語に詳しそうです
堀元さん、「ちがいます」と言う前の「うん、うん」て相槌、わかりやすww
Rust って言うほど関数型かな?関数型のフレーバーはあるけど基本的には手続き型では。C++と同程度にはCと地続きだよね。
関数型プログラミングも出来るっていう感じだと思います。多分マルチパラダイムを目指して作られているのでどっちつかずな記法になってるんだと思います。
記法は手続きですけど、中身はかなり関数型じゃないですかね??確かに純粋関数型ではないですけども。例えば型システム(trait)はHaskellの型クラスを簡易にしたような枠組みで、OOPの継承ベースとは全く違いますよね。そのあたりはOOPに慣れてるとかなり苦労すると思います。
やめて、堀元さんをいじめないでww
手続き型に関数型のパラダイムからいいところ取りした、と言うのが一番正確かと思います。なので、マルチパラダイム言語と呼ぶのが一番いいのかなと。
命令セットの話は踏み込まずRISC(MIPSなど)とCISC(x86など)の比較と歴史、ぐらいに留めてお話すれば(特にドロドロ骨肉の争いという部分が)めっちゃ面白いと思います!
水野さんコンピューターのこと全く知らないのに、質問とかコメントとか鋭すぎるだろ…
日本語と英語駅はそんなに変わらないとは言うけど私には、単語の作り方が英語は手続型、日本語はオブジェクト指向だと思う。一旦覚えれば、新語も作りやすいし、漢字のおかげでオブジェクト指向なので他人の新語の理解も比較的容易、新語の残りやすさはたんに語呂がいいとか、その時に求められているかとかで決まる。歩きスマホとかは日本語だと単語になってるけど、英語だとMobile zombieみたいな熟語でしか表現できない。日本語は人間視点、英語は神視点みたいな違いはある。
ドイツ語のクソ長い単語は漢字の羅列で新語が出来るのと同じ構造してるんよ(笑)
自然言語における最大のパラダイムシフトは、おそらく「文字使用」なのだろうと思います。残念ながら・非文字使用の詳細な資料が原理的に存在しないので、検証が非常に困難・長いスパンで変化していくので、短期的な状態を観察しただけでは見出せないのだろうと思いますが。
構造化プログラミングやgoto文がらみは「いや、実はそういう意味じゃない」みたいな話がたくさんあって沼だった記憶が…。堀元さんがさらに歯切れが悪くなりそうで楽しみ、いえ、心配です
ソフトウエアアーキテクチャやエンタープライズアーキテクチャって言葉もあるし、システムに関する設計や設計思想は全てアーキテクチャという括りのイメージ
水野さん、こんなにナチュラルに相槌で方言出るの初めてでは??めっちゃいい👍🏼👍🏼
コンピュータの最初の高級言語は科学技術計算用のFORTRANだよね…、その後、事務計算用のCOBOLが出来たと思うのだけど…ウン十年前の学生時代にFORTRANとPC黎明期だったのでBASICは習ったなぁ…C言語は会社入ってから知ったよ…構造化プログラム言語だと個人的にはQuick BASIC、その後にVisual BASICを独学で使えるようになったね…
アンシャントロマンは魔法攻撃力と魔法防御力が逆になってるので住所マスターがいたのかもしれない。
現代のパラダイムシフトとして話題のGPT-4って迂闊に触れにくいから後回しの解説の方が良さそうな気がするけど逆にざっとした認識で曖昧でーすを発揮してもらいたい気持ちもある
今、自然言語プログラミングにパラダイムシフトが起きてますね
いつか来るいつか来るとフワッと思ってたものが、一気に接近してきてる感じある
最近、世界変わりましたよね
チョムスキーがボロクソに叩いていたから扱いづらいのでは
Googleが生み出したBERTだけでもすごいシフトだったのに…はるか遠い昔のように感じる
日本の治安が悪くなったってのはパラダイムシフトですね笑
ゆるコンピューター科学ラジオもゆる言語学ラジオも面白すぎるので電車やカフェで観るものじゃないな
プログラミング言語は意図を持って作られるから、意識してパラダイムをシフトさせることがあるというのが自然言語と違うのかなと思う(自然言語はいくら差異があってもパラダイムが違うとは言わない気がする)あえて言うなら言文一致運動とか、韓国語で漢字をやめてハングルにするとか、そういう意図を持った運動がパラダイム・シフトにあたるんじゃないかと思った
フィンランド語は所謂膠着語に分類されているが、今まさに徐々に屈折語の特徴が大きく占めるような変化の途中だ。みたいな言説は何で見かけたんだっけか……
アーキテクチャは2つの意味がある。1つはハードウェア的なものでCPUの内部がどの様な構成になっているか。もう1つは、命令セットがどうなっているかです。
この脱線芸を楽しく聞けるときは、僕の調子が良い日イラッとしたら調子悪い日
初めてさわったプログラミング言語が行番号BASICでGOTO文で好き勝手に処理が飛ぶスパゲティプログラムを読んだことある自分には構造化プログラミングはまさにパラダイム・シフト
その後他の言語を知ると、構造化プログラミングがパラダイムシフトではなく宗教改革程度の変化だというのが分かるようになる。
ダイクストラというと "Goto Statements Considered Harmful" をついつい想像しがちになるけど、パラダイムシフトとなると、多分、関心の分離を提唱した1974年の "On the role of scientific thought" の話の方かなあ。。
命令を間違えてしまっても、紙テープをちぎって正しい命令をセロテープで止めれば動くよね(見たことないけど)
37:07 唐突なアルテリオス計算式で笑っちゃった
37:12 攻撃力-防御力で単純にダメージを算出する方式はごく一部の界隈でアルテリオス方式と呼ばれたりします。攻撃力が足りないとマジで0ダメージしか出ないのでRTA走者泣かせのシステムですね。
逆にチャートを組みやすいのでRTAは安定するイメージがあります
C言語のどこが画期的だったか、って考えたことがなかったので(後続の言語と比べられやすいから)新鮮でした。良い動画。
C言語は低級言語である→うーんC言語は高級言語である→うーんC言語は高級なアセンブリ→うん
C言語は高級言語です。Forthでさえ高級言語です。アセンブリ言語以外は高級言語です。
ゆる言語学学ラジオからこちらに来ました。自然言語ってみんながかかわってる問題だけど、コンピューター言語は特定の人しか扱わない分野だから、難しい感じですね。
フロントエンドエンジニアなのでパラダイムシフトといえば「宣言的UI」が思い浮かびました。
CPUアーキテクチャとは別に、ソフトウェア構造のレイヤでも「ソフトウェアアーキテクチャ」という用語がありますね。
大学の講義でコンピューターアーキテクチャは何も残っていなくてコンプレックスがあるので、やってくれたら大変ありがたいです。そしてオブジェクト指向も掴みだけでも勉強したいのに、独学ではそれが難しかったのでありがたすぎる。
面白くて記憶に残ってためになる、のに、実用的な知識へ至るまでの経路が非常に長いというのがミソ。ここが良い
自然言語でパラダイムシフトを起こすと不自然言語になる気がする例えば、「他人の脳内に直接命令文を書いて実行できる」みたいな人間アーキテクチャを変更するレベルの改変が必要になって原始人や赤さんの言語習得まで遡った設計思想改革をしないといけないような気が
ファイヤーがレベルアップで覚える技がにらみつける、という有名なミスにはこういう理由もあったのかも...
楽しみに待ってました!!!まだ最初しか聞いてませんが構造化とかよりオブジェクト・関数型とかのほうが実感として違うなーと感じたかも。
マジックナンバー…って思ってたら説明あってよかった😊
どうにかしがみついてみたけど、見事に振り落とされました!
自然言語でパラダイムが違うのは、向き位置を示すのに上下左右前後と云う相対的語彙を用いるのでなく、東西南北と云う絶対的語彙を用いる様なもの。
ノイマン以前は、堀元流で言うと「足す(Plus)」の次に「動かす(Move)」ではケーブル(機械の配線)をつなぎ換えた。ウソのようなホントの話で、ひとつのデカい計算機にできる動作(命令)はひとつしかなかったからね。ボタン押すと番地(レジストリ)の値がひとつ変わる。次にケーブル踏んで長さが足りなかったりしていた(らしい)。今でもテレビの配線で新しい機械を買ってくるたびやり直すけど、ちょうどそんな感じのまさに肉体労働だよ。プログラム内蔵型は革命だったんだね。
パラダイムは自然言語だとたぶん「名詞が存在するか否か」「動詞が存在するか否か」みたいな話だと思う。仮に自分が、これの(自分のnative言語と)違う言語を覚えさせられて、単語とかの語彙の記憶や発音に(なぜか)困らない状況だとしても、何をどう言えば「言いたいこと」を言えるのかが凄く判りづらいって事態に陥る気がする。
類似するパラダイムシフトとすれば現在・過去・未来を表現(区別)できるか否かみたいな?できないと迷い道にくねくねしそうです。
この回、全体的に失敗例えの森で草
シャベルとスコップが地域によって反対の意味になる事例を思い出しました私はスコップは移植ゴテの派閥に属してます。
「攻撃力-防御力=ダメージ」の計算式は、アルテリオス計算式といいます()
その計算式に名前あるんかい
最初のコンピュータ問題回楽しみです
水野さんの「変なのー」、超かわいい、デス。
オブジェクト指向言語としては 動的オブジェクト指向環境 であるとこの smalltalk を -> Mac ,Windows へと繋がっていく
次回以降で、C++をオブジェクト指向言語とみなす文脈が出てきたら、それは違うというコメントがそこそこ大量発生するんだろうなぁ。(個人的にはC++はクラスも扱えるというだけで、言語レベルではオブジェクト指向とは言えないという立ち位置です)
15:19 構造化言語と関数型言語の差だと、日本語や英語などの自然言語と(形式言語としての)数式が非常に近いと思います。構造化言語が逐語的に読み下せるのに対して、関数型言語はまさに数式を定義して関数を変数に代入して他の関数を適用、みたいにそれぞれの対比も合いますし、自然言語が得意な文系の人が数式は見ただけで頭が痛くなるのも近い。
アセンブリや機械語が身近にあった昔は奇怪語とか魔人語とか言ってたな
37:07 ふんふんと聞いてて、ここのアルテリオス計算式でニヤッとしてしまった
4月からソフトウェア開発会社に勤めていくことになるので、これから勉強する必要のあるオブジェクト指向の話、ありがたい。
自然言語だとたぶん或る言語の祖語が過去のどこかに必ずあるんだろうけど、プログラムは人造言語だから未だ実在が全く無い抽象的な設計思想(パラダイム?)からいきなり新言語が編み出されることも稀にある気がする。
プログラミング言語のパラダイムのたとえって日本語の古文→単語や活用は違うところがあっても、事物の捉え方(神の目線がない)という意味では同じパラダイムにいるから、完璧ではないにしろ読めなくはない。プログラム言語のパラダイムは、日本語も神の視点で語られるようになった。という感覚が近いのでは?
ところで、アセンブリ言語をマスターしてからC言語を勉強した時、こう思いました。アセンブリ言語なら簡単にこう書けるのに、なんでC言語じゃできないんだ。
今のノーコードプログラミングでも結構言われてることですね。
2:29 命令セットの話は「CPUアーキテクチャ」であって一般的にコンピュータサイエンスの世界でもアーキテクチャ」と言ったらもっと広い意味での設計思想そのものの方を指します。アプリケーションのアーキテクチャ、フレームワークのアーキテクチャといった使い方を普通にしますよ。
命令セットの話はそのまま「命令セットアーキテクチャ」って言わね?設計をデザインと言わずにアーキテクチャ(建築)って呼ぶのが好きな業界だよね。ワイが通ってた大学は建築科が無かったから、建築関連のダイレクトメールが情報科のアーキテクチャ研究室に届くって教授がぼやいてた(笑)
設計をデザインって言わないのはUIデザインとかビジュアルデザイン、グラフィカルデザインの方のデザインと混同しちゃうからと聞いたことがありますね。本当かどうかは知らないし、単に最初に名付けた人が気取って建築用語を転用した可能性もありますがw
@@nyannyan2332 「建築用語」ではなく、単語として「architecture 」=「建築」です。もちろんコンピューター業界で多用されるのは以下②の方の意味ですが…google翻訳から引用:architecture の定義①the art or practice of designing and constructing buildings. ②the complex or carefully designed structure of something.
水野さんがDNSの思想に勝手にたどり着くwww
プログラミング勉強できる気がしてきたので聖書買ってきます
国語辞典、まだ「アー」までしか進んでないの好き
パラダイムシフトは「構造化プログラミング」より、データとアルゴリズムの主従関係を逆転させた「オブジェクト指向」の方が適切ではないでしょうか。データとアルゴリズムをセットで考えろというのは構造化の延長ではありますが、視点が変わったのはオブジェクト指向なので。第3回で登場ですね。
科学革命の構造、みすず書房さんより6月に新版が発売されますね。買ってみようと思います。
13:52 プログラミング言語は頻繁に言語干渉する印象があります。自分がJSやC++をよくやるからそう感じるだけかもですが
日本人が英語が喋れる様になっても、パラダイムシフトは起きない。考え方まで変化しないって事だと思う。
良作の予感!(視聴前)
アーキテクチャを意識するプログラムをやったことないからアーキテクチャの話は興味あります。
日本語とラテン語は厳密に言えば語順が違いますが、大きな枠組みで見れば、概ね同じ語順、語順入れ替えしたとしても意味が通じます。
Cが偉いというのは間違いないけど、その前にFORTRANは?
4:24 C++「呼んだ?」 Java・C#・Rust「おめーのことだ」
コンピューターの話を一般的な物事で例えようとしても長くなるから難しいですね。例えば「混ぜる」というプログラム、「混ぜる物」というデータを一枚の原稿用紙という限られたメモリに書こうとします。「混ぜる」は3文字で済むだろうと思うかもしれませんがそう簡単ではないですね。ちょっと強引ですがプログラムではこういうレベルで書いているので長くなるのを実感して欲しいです。-------腕を上げ人差し指と親指で混ぜる棒を挟める位置まで移動する。人差し指と親指が閉じる方向に移動するように筋肉を動かし棒が持てるまで力を混める。腕をかき混る対象が入っているビーカーの上まで移動する。混ぜる棒が垂直になるように手の角度を変える。棒が垂直になったら棒の先がビーカーのそこに着く寸前まで腕を下げる。手を円状に移動する。(←ここまでがプログラム「混ぜる」。大雑把な上、筋肉を動かすとか腕を移動するとかやることのレベルが統一してないのは大目に見てください)砂糖、塩、小麦粉(←データ「混ぜる物」)-------上記を一枚の原稿用紙に書くのが(昔の)プログラムです。命令(やること)が長くなると原稿用紙の余白が少なくなり、データを書く部分が無くなってしまいます。ダメだwこれで理解できる人は居なさそう🤣🤣🤣
2人より遥かに年上なのに友達の電話番号覚えたことない・・・ブワッ
堀「アーキテクチャについても今後やる…」水「興味ない」
水野さんが知らず知らずポーランド記法にたどり着いていることに吃驚。
最近検証されたドラクエ3のぱふぱふで65536コールド+α引かれる現象も参照番地を間違えていたためでしたね
パラダイムシフトが3つというと、構造化→オブジェクト指向→関数型ですかね?Haskellはいいぞ…!Prolog?Coq?そんなものはなかった。
C と Pascal は 語族が一緒ですよー手続き型構造化言語で その 祖語 として Algol が在るでしょー
サムネの全要素がツボすぎる。
47:02 ???「水野さん、私が本当のパラダイムシフトについて教えてあげますよ」
水野さんのリアクションから途中から堀元さんが神保マオに聞こえてきた
【参考文献】
○コーディングを支える技術
amzn.to/3TscsJp
○オブジェクト指向の考え方 5th Edition
amzn.to/3lpDaFQ
○WEB+DB PRESS Vol.132
amzn.to/3JtYkuv
○プログラミング言語大全
amzn.to/3yNiYRf
○はじめてのLisp関数型プログラミング
amzn.to/3yNj3V3
〇アルゴリズムとデータ構造
amzn.to/3yLrwbx
〇科学革命の構造
amzn.to/3lohiup
【サポーターコミュニティ加入はこちらから】
yurugengo.com/support
【おたよりフォーム】
forms.gle/BLEZpLcdEPmoZTH4A
※皆様からの楽しいおたよりをお待ちしています!
4:30 「学部卒のバカで自意識が放送大学」ってフレーズ尖り散らかしてていいな
意味はよくわからないけど意図はよくわかるよね。例えば、半導体摩擦で『京』の最速化は10年遅れた、みたいな「技術開発にも政治と人間関係がある話」なんかバカにしている感じが良く伝わってくる
ゆる言語ラジオとゆるコンピュータ学ラジオの大きな違いは
コメント欄から鑑みると
プログラムは詳しい人が多い。
どうやって素人にプログラムの話をするのかの部分を楽しんでいる
対して言語学は多くの人にとって未知で知らない話を聞く事を楽しんでいる。
どこまで"ゆる"さを許容するかを探りながら話す感じ好き。😊
「次回も見て下さい。本当のパラダイムシフトを見せてあげますよ」
安定の山岡動画
FORTRANの次に登場したのに現代の動的型付け言語の特徴をすべて持っていたLispのオーパーツさよ...
楽しみに待ってました
あらゆる事柄について明言を避け続けた結果
なにも喋れなくなり、1時間無言のラジオになる未来
これが「ラジオ収録する衒学者の問題」ですね
@@komenukabass 収録が終わらずにそのまま餓死してしまう
めっちゃ面白くてチャンネル登録させてもらいました・・
それで過去動画が気になってず~っと探したら第1回の
「コンピュータ科学をやるのに、コンピュータは不要」の回にたどり着き、見ていたら堀元氏の大学時代の教科書が登場してその本を水野氏が適当に開いたページを読んだらダイクストラの名前が出てきて・・あ!・・なんという偶然!・・
となりました・・おもろ~~
ちなみに小生・現在70歳・20歳代の頃8bitマイコンや放電プリンターなどをを見たくて秋葉原までよく通いました・・
34:00同音異義語を気を付けてる堀元さんが「方が」と誤認しやすい「萌芽」を言っちゃう珍しい瞬間
38:44 で「手間がかかるのに(マシン語やアセンブリ言語で)ゲームを作るやつはいない」と言っていましたが、実際のところ、少なくともゲームボーイくらいの時代までは主にアセンブリ言語でゲームが作られていたかと思います。初代ポケモンとかもアセンブリ言語で書かれているはずです。他にも記憶の限りだとスペースインベーダーなんかはハンドアセンブリングでマシン語に落とし込んでいたそうです。昔のゲーム開発すごすぎです。
故岩田社長がマザー2でC言語を導入した話はいいですよね
「今のコード(アセンブリ)を利用するなら2年かかりますが、
1から(C言語で)組むなら半年で済みます」と言って
有言実行した話
昔々PC88とFM7が戦っていた頃は、マシン語で書かれているというのがウリになっていました。
ゲームのパッケージにマシン語とだけ書かれていたのを思い出す
@@gochuui1
そうなんだ、、
ただただ岩田さんがスーパーマンだったという文脈なんだと思ってました。
水野さんがおっしゃっていた「plus 8 2」は、ポーランド記法でしょうか。
私だけかもですが、日本語で計算するときは脳内で「8と2をたす」と考えるので、逆ポーランド記法の方が分かりやすいと聞いたことがあります。つまり「8 2 plus」。そういった電卓も実際にありますね。
私情報工学専攻の還暦じいさんですが、BASIC で遊び授業はFORTRAN とかで、卒論にはLISP とかPASCAL 使ってました。構造化凄いと思いました。「アルゴリズムとデータ構造」は名著ですね。「データ構造とアルゴリズム」という本も持ってる。どちらも初版です。あの頃はこれが大事だという転換期だったのかな。
いまさら気づいたけど堀元さんがpixel使ってるの完全に解釈一致だな
「パラダイム」という用語は元々はむしろ自然言語の文法用語で「語形変化表」(ラテン語などで動詞が時制やら人称やらアスペクトやらで変化する活用表をイメージしてください)のことですよ。つまり「パラダイムが違う」というのは「表の見出し自体が違う」ということだと思います。例えば,日本語だと「動詞」は「未然形」「連用形」などの見出しを付けて表にすることができますが,英語だと隣接する別の要素(接続詞の有無など)によって動詞の形が変わらないのでその表自体が使い物にならない,というのが「パラダイムが違う」の原義に近いと思います。
水野さんは、シンプルで最適なたとえに落とし込む才能を時々見せますね。電話番号のたとえは感心してしまいました。
この回、なぜオタクの会話が不快なのかが分かってしまう内容だったので自省した(こういう風に後から括弧で補足を付けたくなる性分があり、それと通底するものがあると感じたから)
宗教改革の説明、ルターが教会を批判した後フリードリヒ3世に匿ってもらっているときにドイツ語に翻訳したのが正しい順番だった気がします
コマンドの羅列でしかなかったところに二股ニョキニョキな文法が発生してぶち上がる水野さんが見たい
わかる〜
水野さんモノマネするときだけ威勢よくなるのすき
私が出た大学(工学部情報科)では、最初はPascalでプログラミングの基礎やアルゴリズムとデータ構造をやり、C言語はその後でした。
プログラミングとしての作法をPascalで学んだあと、実践向けとしてC言語をやったためか、スムーズにいきました。
私が出た大学でも、最初はPascalでプログラミングの基礎やアルゴリズムとデータ構造をやりましたねぇ…
担当教官が変わったらC言語になったと聞きましたが(笑)
今回の話を聞いていて、コンパイラを解説するシリーズを聞いてみたいなと思った。
なんでプログラミング言語が機械語になって動くのか?
抽象木構造による意味解析....生成文法シリーズの時みたいに、互いの分野のつながりで盛り上がりそう。
テンションが上がってるお二人が目に浮かぶ
水野さんの聞き手としての能力が高すぎることがよく分かるチャンネル
13:48 堀元のパラダイムシフトが起こった瞬間
最初に機械語の困難を克服したのは、構造化プログラミングが提唱されるまえのFORTRAN(大文字ででないといけない)なんかだと思います…という期待通りのツッコミをしておきます😁
マシン語→アセンブリ→FORTRAN→C の順で紹介されると思ってました
@@早川眠人 そうですね。今回「GoTO文」が出てこなかったのは意外でした。Dijkstraは何と言っても「Go To Statement Considered Harmful」ですから。
@@yoshiyoshi8980
この流れで行くと、次回はプログラムフローの構造化よりデータの構造化を中心に解説されそうです。
@@早川眠人 Cは不要。Cは高級言語というには違和感が強くむしろ先祖帰りしているすら感がある。
マシン語→アセンブリ→FORTRAN→4GL
@@kenjih1408
39:51 堀元さんはC言語に詳しそうです
堀元さん、「ちがいます」と言う前の「うん、うん」て相槌、わかりやすww
Rust って言うほど関数型かな?関数型のフレーバーはあるけど基本的には手続き型では。C++と同程度にはCと地続きだよね。
関数型プログラミングも出来るっていう感じだと思います。多分マルチパラダイムを目指して作られているのでどっちつかずな記法になってるんだと思います。
記法は手続きですけど、中身はかなり関数型じゃないですかね??確かに純粋関数型ではないですけども。
例えば型システム(trait)はHaskellの型クラスを簡易にしたような枠組みで、OOPの継承ベースとは全く違いますよね。そのあたりはOOPに慣れてるとかなり苦労すると思います。
やめて、堀元さんをいじめないでww
手続き型に関数型のパラダイムからいいところ取りした、と言うのが一番正確かと思います。
なので、マルチパラダイム言語と呼ぶのが一番いいのかなと。
命令セットの話は踏み込まずRISC(MIPSなど)とCISC(x86など)の比較と歴史、ぐらいに留めてお話すれば(特にドロドロ骨肉の争いという部分が)めっちゃ面白いと思います!
水野さんコンピューターのこと全く知らないのに、質問とかコメントとか鋭すぎるだろ…
日本語と英語駅はそんなに変わらないとは言うけど私には、単語の作り方が英語は手続型、日本語はオブジェクト指向だと思う。
一旦覚えれば、新語も作りやすいし、漢字のおかげでオブジェクト指向なので他人の新語の理解も比較的容易、新語の残りやすさはたんに語呂がいいとか、その時に求められているかとかで決まる。
歩きスマホとかは日本語だと単語になってるけど、英語だとMobile zombieみたいな熟語でしか表現できない。
日本語は人間視点、英語は神視点みたいな違いはある。
ドイツ語のクソ長い単語は漢字の羅列で新語が出来るのと同じ構造してるんよ(笑)
自然言語における最大のパラダイムシフトは、おそらく「文字使用」なのだろうと思います。
残念ながら
・非文字使用の詳細な資料が原理的に存在しないので、検証が非常に困難
・長いスパンで変化していくので、短期的な状態を観察しただけでは見出せない
のだろうと思いますが。
構造化プログラミングやgoto文がらみは「いや、実はそういう意味じゃない」みたいな話がたくさんあって沼だった記憶が…。堀元さんがさらに歯切れが悪くなりそうで楽しみ、いえ、心配です
ソフトウエアアーキテクチャやエンタープライズアーキテクチャって言葉もあるし、システムに関する設計や設計思想は全てアーキテクチャという括りのイメージ
水野さん、こんなにナチュラルに相槌で方言出るの初めてでは??めっちゃいい👍🏼👍🏼
コンピュータの最初の高級言語は科学技術計算用のFORTRANだよね…、その後、事務計算用のCOBOLが出来たと思うのだけど…
ウン十年前の学生時代にFORTRANとPC黎明期だったのでBASICは習ったなぁ…
C言語は会社入ってから知ったよ…
構造化プログラム言語だと個人的にはQuick BASIC、その後にVisual BASICを独学で使えるようになったね…
アンシャントロマンは魔法攻撃力と魔法防御力が逆になってるので住所マスターがいたのかもしれない。
現代のパラダイムシフトとして話題のGPT-4って迂闊に触れにくいから後回しの解説の方が良さそうな気がするけど逆にざっとした認識で曖昧でーすを発揮してもらいたい気持ちもある
今、自然言語プログラミングにパラダイムシフトが起きてますね
いつか来るいつか来るとフワッと思ってたものが、一気に接近してきてる感じある
最近、世界変わりましたよね
チョムスキーがボロクソに叩いていたから扱いづらいのでは
Googleが生み出したBERTだけでもすごいシフトだったのに…はるか遠い昔のように感じる
日本の治安が悪くなったってのはパラダイムシフトですね笑
ゆるコンピューター科学ラジオもゆる言語学ラジオも面白すぎるので電車やカフェで観るものじゃないな
プログラミング言語は意図を持って作られるから、意識してパラダイムをシフトさせることがあるというのが自然言語と違うのかなと思う(自然言語はいくら差異があってもパラダイムが違うとは言わない気がする)
あえて言うなら言文一致運動とか、韓国語で漢字をやめてハングルにするとか、そういう意図を持った運動がパラダイム・シフトにあたるんじゃないかと思った
フィンランド語は所謂膠着語に分類されているが、今まさに徐々に屈折語の特徴が大きく占めるような変化の途中だ。みたいな言説は何で見かけたんだっけか……
アーキテクチャは2つの意味がある。1つはハードウェア的なものでCPUの内部がどの様な構成になっているか。もう1つは、命令セットがどうなっているかです。
この脱線芸を楽しく聞けるときは、僕の調子が良い日
イラッとしたら調子悪い日
初めてさわったプログラミング言語が行番号BASICでGOTO文で好き勝手に処理が飛ぶスパゲティプログラムを読んだことある自分には構造化プログラミングはまさにパラダイム・シフト
その後他の言語を知ると、構造化プログラミングがパラダイムシフトではなく宗教改革程度の変化だというのが分かるようになる。
ダイクストラというと "Goto Statements Considered Harmful" をついつい想像しがちになるけど、パラダイムシフトとなると、多分、関心の分離を提唱した1974年の "On the role of scientific thought" の話の方かなあ。。
命令を間違えてしまっても、紙テープをちぎって正しい命令をセロテープで止めれば動くよね(見たことないけど)
37:07 唐突なアルテリオス計算式で笑っちゃった
37:12 攻撃力-防御力で単純にダメージを算出する方式はごく一部の界隈でアルテリオス方式と呼ばれたりします。攻撃力が足りないとマジで0ダメージしか出ないのでRTA走者泣かせのシステムですね。
逆にチャートを組みやすいのでRTAは安定するイメージがあります
C言語のどこが画期的だったか、って考えたことがなかったので(後続の言語と比べられやすいから)新鮮でした。良い動画。
C言語は低級言語である→うーん
C言語は高級言語である→うーん
C言語は高級なアセンブリ→うん
C言語は高級言語です。Forthでさえ高級言語です。アセンブリ言語以外は高級言語です。
ゆる言語学学ラジオからこちらに来ました。自然言語ってみんながかかわってる問題だけど、コンピューター言語は特定の人しか扱わない分野だから、難しい感じですね。
フロントエンドエンジニアなのでパラダイムシフトといえば「宣言的UI」が思い浮かびました。
CPUアーキテクチャとは別に、ソフトウェア構造のレイヤでも「ソフトウェアアーキテクチャ」という用語がありますね。
大学の講義でコンピューターアーキテクチャは何も残っていなくてコンプレックスがあるので、やってくれたら大変ありがたいです。
そしてオブジェクト指向も掴みだけでも勉強したいのに、独学ではそれが難しかったのでありがたすぎる。
面白くて記憶に残ってためになる、のに、実用的な知識へ至るまでの経路が非常に長いというのがミソ。ここが良い
自然言語でパラダイムシフトを起こすと不自然言語になる気がする
例えば、「他人の脳内に直接命令文を書いて実行できる」みたいな
人間アーキテクチャを変更するレベルの改変が必要になって
原始人や赤さんの言語習得まで遡った設計思想改革をしないといけないような気が
ファイヤーがレベルアップで覚える技がにらみつける、という有名なミスにはこういう理由もあったのかも...
楽しみに待ってました!!!
まだ最初しか聞いてませんが構造化とかよりオブジェクト・関数型とかのほうが実感として違うなーと感じたかも。
マジックナンバー…
って思ってたら説明あってよかった😊
どうにかしがみついてみたけど、見事に振り落とされました!
自然言語でパラダイムが違うのは、向き位置を示すのに上下左右前後と云う相対的語彙を用いるのでなく、東西南北と云う絶対的語彙を用いる様なもの。
ノイマン以前は、堀元流で言うと「足す(Plus)」の次に「動かす(Move)」ではケーブル(機械の配線)をつなぎ換えた。
ウソのようなホントの話で、ひとつのデカい計算機にできる動作(命令)はひとつしかなかったからね。ボタン押すと番地(レジストリ)の値がひとつ変わる。次にケーブル踏んで長さが足りなかったりしていた(らしい)。
今でもテレビの配線で新しい機械を買ってくるたびやり直すけど、ちょうどそんな感じのまさに肉体労働だよ。プログラム内蔵型は革命だったんだね。
パラダイムは自然言語だとたぶん「名詞が存在するか否か」「動詞が存在するか否か」みたいな話だと思う。
仮に自分が、これの(自分のnative言語と)違う言語を覚えさせられて、
単語とかの語彙の記憶や発音に(なぜか)困らない状況だとしても、
何をどう言えば「言いたいこと」を言えるのかが凄く判りづらいって事態に陥る気がする。
類似するパラダイムシフトとすれば現在・過去・未来を表現(区別)できるか否かみたいな?
できないと迷い道にくねくねしそうです。
この回、全体的に失敗例えの森で草
シャベルとスコップが地域によって反対の意味になる事例を思い出しました
私はスコップは移植ゴテの派閥に属してます。
「攻撃力-防御力=ダメージ」の計算式は、アルテリオス計算式といいます()
その計算式に名前あるんかい
最初のコンピュータ問題回楽しみです
水野さんの「変なのー」、超かわいい、デス。
オブジェクト指向言語としては 動的オブジェクト指向環境 であるとこの smalltalk を -> Mac ,Windows へと繋がっていく
次回以降で、C++をオブジェクト指向言語とみなす文脈が出てきたら、それは違うというコメントがそこそこ大量発生するんだろうなぁ。(個人的にはC++はクラスも扱えるというだけで、言語レベルではオブジェクト指向とは言えないという立ち位置です)
15:19 構造化言語と関数型言語の差だと、日本語や英語などの自然言語と(形式言語としての)数式が非常に近いと思います。
構造化言語が逐語的に読み下せるのに対して、関数型言語はまさに数式を定義して関数を変数に代入して他の関数を適用、みたいにそれぞれの対比も合いますし、
自然言語が得意な文系の人が数式は見ただけで頭が痛くなるのも近い。
アセンブリや機械語が身近にあった昔は
奇怪語とか魔人語とか言ってたな
37:07 ふんふんと聞いてて、ここのアルテリオス計算式でニヤッとしてしまった
4月からソフトウェア開発会社に勤めていくことになるので、これから勉強する必要のあるオブジェクト指向の話、ありがたい。
自然言語だとたぶん或る言語の祖語が過去のどこかに必ずあるんだろうけど、プログラムは人造言語だから未だ実在が全く無い抽象的な設計思想(パラダイム?)からいきなり新言語が編み出されることも稀にある気がする。
プログラミング言語のパラダイムのたとえって
日本語の古文→単語や活用は違うところがあっても、事物の捉え方(神の目線がない)という意味では同じパラダイムにいるから、完璧ではないにしろ読めなくはない。
プログラム言語のパラダイムは、日本語も神の視点で語られるようになった。という感覚が近いのでは?
ところで、アセンブリ言語をマスターしてからC言語を勉強した時、こう思いました。
アセンブリ言語なら簡単にこう書けるのに、なんでC言語じゃできないんだ。
今のノーコードプログラミングでも結構言われてることですね。
2:29 命令セットの話は「CPUアーキテクチャ」であって一般的にコンピュータサイエンスの世界でもアーキテクチャ」と言ったらもっと広い意味での設計思想そのものの方を指します。アプリケーションのアーキテクチャ、フレームワークのアーキテクチャといった使い方を普通にしますよ。
命令セットの話はそのまま「命令セットアーキテクチャ」って言わね?
設計をデザインと言わずにアーキテクチャ(建築)って呼ぶのが好きな業界だよね。
ワイが通ってた大学は建築科が無かったから、建築関連のダイレクトメールが情報科のアーキテクチャ研究室に届くって教授がぼやいてた(笑)
設計をデザインって言わないのはUIデザインとかビジュアルデザイン、グラフィカルデザインの方のデザインと混同しちゃうからと聞いたことがありますね。本当かどうかは知らないし、単に最初に名付けた人が気取って建築用語を転用した可能性もありますがw
@@nyannyan2332
「建築用語」ではなく、単語として「architecture 」=「建築」です。
もちろんコンピューター業界で多用されるのは以下②の方の意味ですが…
google翻訳から引用:
architecture の定義
①the art or practice of designing and constructing buildings.
②the complex or carefully designed structure of something.
水野さんがDNSの思想に勝手にたどり着くwww
プログラミング勉強できる気がしてきたので聖書買ってきます
国語辞典、まだ「アー」までしか進んでないの好き
パラダイムシフトは「構造化プログラミング」より、データとアルゴリズムの主従関係を逆転させた「オブジェクト指向」の方が適切ではないでしょうか。
データとアルゴリズムをセットで考えろというのは構造化の延長ではありますが、視点が変わったのはオブジェクト指向なので。
第3回で登場ですね。
科学革命の構造、みすず書房さんより6月に新版が発売されますね。
買ってみようと思います。
13:52 プログラミング言語は頻繁に言語干渉する印象があります。自分がJSやC++をよくやるからそう感じるだけかもですが
日本人が英語が喋れる様になっても、パラダイムシフトは起きない。考え方まで変化しないって事だと思う。
良作の予感!(視聴前)
アーキテクチャを意識するプログラムをやったことないからアーキテクチャの話は興味あります。
日本語とラテン語は厳密に言えば語順が違いますが、大きな枠組みで見れば、概ね同じ語順、語順入れ替えしたとしても意味が通じます。
Cが偉いというのは間違いないけど、その前にFORTRANは?
4:24 C++「呼んだ?」 Java・C#・Rust「おめーのことだ」
コンピューターの話を一般的な物事で例えようとしても長くなるから難しいですね。
例えば「混ぜる」というプログラム、「混ぜる物」というデータを一枚の原稿用紙という限られたメモリに書こうとします。
「混ぜる」は3文字で済むだろうと思うかもしれませんがそう簡単ではないですね。
ちょっと強引ですがプログラムではこういうレベルで書いているので長くなるのを実感して欲しいです。
-------
腕を上げ人差し指と親指で混ぜる棒を挟める位置まで移動する。
人差し指と親指が閉じる方向に移動するように筋肉を動かし棒が持てるまで力を混める。
腕をかき混る対象が入っているビーカーの上まで移動する。
混ぜる棒が垂直になるように手の角度を変える。
棒が垂直になったら棒の先がビーカーのそこに着く寸前まで腕を下げる。
手を円状に移動する。(←ここまでがプログラム「混ぜる」。大雑把な上、筋肉を動かすとか腕を移動するとかやることのレベルが統一してないのは大目に見てください)
砂糖、塩、小麦粉(←データ「混ぜる物」)
-------
上記を一枚の原稿用紙に書くのが(昔の)プログラムです。命令(やること)が長くなると原稿用紙の余白が少なくなり、データを書く部分が無くなってしまいます。
ダメだwこれで理解できる人は居なさそう🤣🤣🤣
2人より遥かに年上なのに友達の電話番号覚えたことない・・・ブワッ
堀「アーキテクチャについても今後やる…」
水「興味ない」
水野さんが知らず知らずポーランド記法にたどり着いていることに吃驚。
最近検証されたドラクエ3のぱふぱふで65536コールド+α引かれる現象も参照番地を間違えていたためでしたね
パラダイムシフトが3つというと、構造化→オブジェクト指向→関数型ですかね?Haskellはいいぞ…!
Prolog?Coq?そんなものはなかった。
C と Pascal は 語族が一緒ですよー
手続き型構造化言語で その 祖語 として Algol が在るでしょー
サムネの全要素がツボすぎる。
47:02
???「水野さん、私が本当のパラダイムシフトについて教えてあげますよ」
水野さんのリアクションから途中から堀元さんが神保マオに聞こえてきた