構造化プログラミングが、混沌だったフローチャートに秩序を与えた【プログラミングパラダイム・シフト2】#65

「プログラミングパラダイム・シフト」シリーズ第2回。「構造化プログラミングはカオスに秩序をもたらした」「3つのルールだけで絡み合ったヒモが解ける」「機械中心主義から人間中心主義へ」など、構造化プログラミングの威力を語っています。
【サムネイル画像】
フローチャートは『RUNCIBLE-algebraic translation on a limited computer』より引用
【目次】
0:00 つまらないタイトルを扇情的に
1:27 機械語とC言語のたとえ
3:27 機械語はジャンプしまくっている
13:34 カオスに秩序をもたらしたパラダイム
20:04 ダイクストラもルターも不本意にバズった
23:17 3つのルールで書くだけ
33:48 必ずしも進化することがいいワケではない
46:07 機械中心主義から人間中心主義へ
49:07 次回からが本番
【参考文献】
○コーディングを支える技術
amzn.to/3TscsJp
○オブジェクト指向の考え方 5th Edition
amzn.to/3lpDaFQ
○WEB+DB PRESS Vol.132
amzn.to/3JtYkuv
○プログラミング言語大全
amzn.to/3yNiYRf
○はじめてのLisp関数型プログラミング
amzn.to/3yNj3V3
〇RUNCIBLE-algebraic translation on a limited computer
dl.acm.org/doi/10.1145/368481...
動画内のフローチャートの引用元
○息吹
amzn.to/40mP1E0
【サポーターコミュニティ加入はこちらから】
yurugengo.com/support
【親チャンネル:ゆる言語学ラジオ】
/ @yurugengo
【フランチャイズプロジェクト:ゆる学徒ハウス】
/ @yurugakuto
【おたよりフォーム】
forms.gle/BLEZpLcdEPmoZTH4A
※皆様からの楽しいおたよりをお待ちしています!
【お仕事依頼はこちら!】
info@pedantic.jp
【堀元見プロフィール】
慶應義塾大学理工学部卒。専門は情報工学。WEBにコンテンツを作り散らかすことで生計を立てている。現在の主な収入源は「アカデミックに人の悪口を書くnote有料マガジン」。
Twitter→ / kenhori2
noteマガジン→note.com/kenhori2/m/m125fc452...
個人KZread→ / @kenhorimoto
【水野太貴プロフィール】
名古屋大学文学部卒。専門は言語学。
某大手出版社で編集者として勤務。言語学の知識が本業に活きてるかと思いきや、そうでもない。
Twitter→ / yuru_mizuno
【姉妹チャンネル】
◯ゆる音楽学ラジオ( / @yuruongaku )
◯ゆる民俗学ラジオ ( / @yuruminzoku )
◯ゆる天文学ラジオ ( / @yurutenmon )
◯ゆる書道学ラジオ ( / @yurushodo )
◯ゆる生態学ラジオ ( / @yuruseitai )
◯ゆる哲学ラジオ (open.spotify.com/show/7t8NNVq...)
#プログラミングパラダイム・シフト #ゆるコンピュータ科学ラジオ_プログラミングパラダイム・シフト

Пікірлер: 299

  • @YuYuYu-Yu
    @YuYuYu-Yu Жыл бұрын

    「Aは有害である」(A considered harmful)というタイトルそれ自体もバズって、「~は有害である」というタイトルの論文が大量に出て来て、やがて「『~は有害である』は有害である」("Considered harmful" considered harmful)という論文まで出て来たらしい。

  • @pasolinipier2291

    @pasolinipier2291

    Жыл бұрын

    「買ってはいけない」に対する「『買ってはいけない』は買ってはいけない」みたい。

  • @yurucom

    @yurucom

    Жыл бұрын

    めちゃくちゃいいうんちく!!

  • @haruya.H

    @haruya.H

    Жыл бұрын

    9割本、本質本みたいなのがいつの世にもあるんですね…

  • @ken_to_delicat

    @ken_to_delicat

    Жыл бұрын

    黒島先生が収集するやつー!

  • @tork1a11e

    @tork1a11e

    Жыл бұрын

    『環境問題のウソ』って本が流行ったあと、『環境問題のウソのウソ』って本が出たのと似たものを感じる。

  • @tochan2520
    @tochan2520 Жыл бұрын

    12:35 このフローチャート見て「美しい」「なんてわかりやすいんだ」と思っていた世代です。懐かしいです。

  • @kkk0kkk2
    @kkk0kkk2 Жыл бұрын

    ボーッと聴いてたら「鼻白らむ」が「鼻血RAM」に聞こえて 「鼻血RAM」と「鼻血ROM」で議論してる二人がいるのかと思った。

  • @user-id6yv2nh5m

    @user-id6yv2nh5m

    3 ай бұрын

    ボーっと読んでたら「鼻白らむ」がVtuberの名前に見えて また変なキャラクターを作り出した二人がいるのかと思った

  • @J_CHICKEN137
    @J_CHICKEN137 Жыл бұрын

    ゆるコンピュータ科学ラジオあるある ・脇道、脇道の脇道と逸れていっても、ちゃんと階層を把握していて正しく戻ってこれる堀元さん ・goto文で台本ブレイクする水野さん

  • @mentosukoala

    @mentosukoala

    Жыл бұрын

    gotoで無理やり戻ってる気もする

  • @kensuketomioka2321
    @kensuketomioka2321 Жыл бұрын

    だいたいどの言語でも、 変数と関数の定義に加えてif for while の構文が書けたら最低限使えるけど、それが偶然じゃなくて、あらゆるフローチャートを記述できると数学的に証明されてるのは面白いな

  • @alwaysoutofbase5255
    @alwaysoutofbase5255 Жыл бұрын

    出てくる喩えが極めて正確ですね。お二人の聡明さが滲み出ている。

  • @yu100nabeyan
    @yu100nabeyan Жыл бұрын

    江戸川ダイキストラ「go toは害悪だから〜」 はただのコロナ政策批判で笑う

  • @user-fu7ps7ix7u

    @user-fu7ps7ix7u

    Жыл бұрын

    名前からバシバシ来る泡沫政党のヤバい奴感

  • @SKYLINE4R35
    @SKYLINE4R35 Жыл бұрын

    こういう番組の登録者が5万余りいるのが、昔々趣味でマシン語書いてた身としては嬉しい。 絶対番地にジャンプする大きなデメリットの一つは、デバッグ後に処理を追加することになったらそれ以降の番地が一斉にずれること。その修正が大きな手間だった。(処理が減った場合は NOPなど「何も処理しない命令」を埋めたりして一時しのぎしたり、そうすると貴重なメモリを無駄遣いすることになったりとか) 何もかもが皆懐かしい・・・

  • @SonodaMai74

    @SonodaMai74

    Жыл бұрын

    相対ジャンプを使えば多少は・・・修正箇所が減る・・・ うん、なつかしい;; JP と JR でしょうか。 < Z80が大好きだった

  • @SKYLINE4R35

    @SKYLINE4R35

    11 ай бұрын

    @@SonodaMai74 私もZ80(PC-6001)で育ちました。そもそもCPUという「計算機」でゲームができるのがなぜなのかわからなくて、市販のゲームを全部「レポート用紙にハンド逆アセンブル」したのが私の基礎知識の一部になってるのは間違いない。それを全部解析して理解したときは仕組みに激感動した。今も忘れない思い出。

  • @unknown00kuv
    @unknown00kuv Жыл бұрын

    構造化プログラミングが「自由度の高いはずのジャンプ命令をあえて禁止したことで、かえってプログラミング言語のパラダイムシフトに発展した」のも面白いけど、 21:34 の水野さんの話を引用して「ジャンプ命令を禁止することを実は多くの人々も望んでいて、それが広まる土壌があった」から受け入れられたというのも面白いところだと思う。

  • @forestbutter3332

    @forestbutter3332

    Ай бұрын

    プログラミングをやっている身としてはgo to等のジャンプは極めてスパゲティコードになりやすい 結局のところ、コードを読む時に人は上から下へ読むと言う方向性がジャンプ禁止したいと言う欲求の根源だと思う

  • @user-jh7kp7vg6h
    @user-jh7kp7vg6h Жыл бұрын

    自分は情報よりの人間なのですが、こうやってある程度言語学の知見がある人の視点が面白すぎて無限に見れる

  • @lonestar930
    @lonestar930 Жыл бұрын

    義務教育にプログラミングを入れると論理的思考力が身につくと言われる理由を、 プログラミング素人の水野さんが初見でコンピューターサイエンティストより上手く説明できていることに皮肉を感じる。

  • @mudaso-heavy-user
    @mudaso-heavy-user Жыл бұрын

    楽しみに待ってました

  • @KeppyNaushika
    @KeppyNaushika Жыл бұрын

    18:16 「GoTo文に代わる一手法」→「GoTo文は有害である☆」は草

  • @user-zd2sq9bj9p
    @user-zd2sq9bj9p Жыл бұрын

    水野さんに一度C言語入門をしてもらって、世間で難しいと言われるポインタとかをどう理解するか、各概念にどう反応するかを見てみたいな。堀元さんの説明の仕方にもよるだろうけど、プリンとか言い出さない限りサクッといけそう 個人的な宗派としてはRustに入門してもらいたいが

  • @user-tp9hz4fc2p
    @user-tp9hz4fc2p Жыл бұрын

    息吹を読んで、 「思い出は全部記憶しているけどね、記憶は全部は思い出せないんだ」 という言葉の深さを改めて感じましたw by高校生

  • @user-tp9hz4fc2p

    @user-tp9hz4fc2p

    Жыл бұрын

    「すべてがFになる」より引用

  • @brokenRadio1219
    @brokenRadio1219 Жыл бұрын

    待ってたました

  • @tenkawakiirobou
    @tenkawakiirobou Жыл бұрын

    持ってる情報と閃きだけで構造化プログラミングのほぼ回答を持ってくるとは…!

  • @user-po1pd4or8m
    @user-po1pd4or8m Жыл бұрын

    初めてこのチャンネルを見ましたが、こういうのを待ってましたという感じです! 本職SEですが、ITの勉強ができてゆるく家事とかしながらラジオ感覚で聞けるの無いかなと思っていました。普通に解説している動画とかはあると思うんですけど、講義形式の動画はよし勉強するぞと腰を据えないといけなくて結局見なくなっちゃうんですよね。 例え話や脱線、いいと思います。色んな知識が組み合わさって楽しく聞けるというのがこのチャンネルの良いところだと思うので、むしろ自然言語に例えたり、関係のないSFの話をするくらいのほうがラジオ感覚で気楽に聴けると思います。 関係ないですが水野さんの声は後藤達也さんに似ていますね。

  • @levokrool2667
    @levokrool2667 Жыл бұрын

    これはゆる言語ラジオのゲーム化の伏線回ですね

  • @k_madoka
    @k_madoka Жыл бұрын

    今回もおもしろかったです

  • @user-uh5gb5fg2i
    @user-uh5gb5fg2i Жыл бұрын

    C言語は、今でこそ「マシン語の次レベルの言語の代表格」みたいな扱いだけど、 それは「鳥類は代表的な恐竜」みたいな話で、登場当時のC言語はいっぱいあるうちの1つに過ぎなかったんだよな。

  • @minami_alinko

    @minami_alinko

    25 күн бұрын

    >今でこそ「マシン語の次レベルの言語の代表格」 「今でこそ」……1980年代半ばにはもうそんなじゃなかったですか? 高速化が必要なところでは適宜C言語からアセンブラに切り替えてコードを書くということがしやすかったからですね。

  • @user-ry5tn6vs2l
    @user-ry5tn6vs2l Жыл бұрын

    「制限すると表現の幅が増える」 「制限するとできることが増える」って言うのは、数学でも同じですね〜 一般の位相空間を距離空間に制限すると、距離が使えるのでできることが増えるんですよね。

  • @US-wb8yp

    @US-wb8yp

    Жыл бұрын

    抽象的な議論は普遍的だけど言える内容は少ない。 具体的な話に制限すると限定的だけど言えることが多い。 みたいなことですかね。 他にもたとえば抽象的な集合論で議論できる命題は少ないけど、より具体的に群、体、ベクトル空間って話を制限してくと言える命題は多くなる。言葉をお借りすると、できることが増える

  • @user-hk9uk4hb1d
    @user-hk9uk4hb1d Жыл бұрын

    最後のまとめの部分から、最近はやりのChatGPTも元を正せば よりナチュラルな自然言語を機械語に変換して実行されているあたり、 より機械中心主義から人間中心主義になったとも考えられて面白い動画でした

  • @rayfiyo
    @rayfiyo Жыл бұрын

    38:50 堀元が『息吹』にgotoした瞬間

  • @keykay43
    @keykay43 Жыл бұрын

    学生の頃、プログラミングをやってる友人が自主ゼミのとき数学でインデントを使ってましたね。長い証明のときは「Aを証明するための、補題Bを証明するための、場合b1のときの……」みたいになって、何の証明してるんだ?になりがちなので、何にせよ階層性を意識するのは人間の認知にあってるのかも

  • @user-nc9xb4gx8p
    @user-nc9xb4gx8p Жыл бұрын

    待ってた

  • @ryoryo9239
    @ryoryo923924 күн бұрын

    39:32 テッドチャンのその物語、その対比を読んでみたいです。歴史を記録したから、負けた国は戦争の戦後の孫までも、戦勝国を恨んだり、戦勝国はずっと上から目線になるのでは?と思ったりしてたので、それをすでに描いた物語があると知ってとても読んで見たくなりました!!

  • @damasu_tarokaja
    @damasu_tarokaja Жыл бұрын

    Dijkstraは表記揺れでダイキストラとも書かれることに注意

  • @abu48823
    @abu48823 Жыл бұрын

    そしてジャンプ地獄から解放された人類は今度はネスト地獄に悩まされるのであった…

  • @user-fn3xo1pl9n
    @user-fn3xo1pl9n Жыл бұрын

    プログラミング的思考とかプログラミング教育とかやってる人たちが「順次処理、条件分岐、繰り返し」とよく言ってるのは、このダイクストラさんの話がベースになってるのか。

  • @TAKOYAGl
    @TAKOYAGl Жыл бұрын

    息吹面白そうだったので他の欲しかった本に混ぜて早速買いました!

  • @user-wz1st7ky8j
    @user-wz1st7ky8j Жыл бұрын

    次回のオブジェクト指向楽しみだな🙆‍♂️

  • @multifeb13
    @multifeb13 Жыл бұрын

    「カノッサの屈辱」でフジテレビの深夜番組を思い出す世代

  • @user-gm1zn5og2k

    @user-gm1zn5og2k

    Жыл бұрын

    「やあ皆さん、私の研究室へようこそ」懐かしいてすね。学生のころ、池袋でカノッサの屈辱展をやっていて、見に行ったのを覚えています。

  • @andanish3009
    @andanish3009 Жыл бұрын

    次回の堀元さん「オブジェクト指向はマニュファクチュアだ!」

  • @user-hp7fd9vr9b
    @user-hp7fd9vr9b4 ай бұрын

    深掘をちゃんと手偏で書いてくれている堀元さんに好感が持てる

  • @user-kl4qy8jb9m
    @user-kl4qy8jb9m Жыл бұрын

    興味深いですね。確かに図みたいにブロックを見ていることに気付きました。ほとんどのエディタでインデントブロックの補助線が出ますし、2次元的な情報として捉えようとされていますね。ところで次回出てくるかもしれないJavaは goto を予約語としているけどなんもなし、という形で封印していますね。昔、おじさんプログラマがオブジェクト指向もよく分かんねえしgotoも使えねえしよぉみたいなことを言っていたのを思い出しました。あのおじさんもgotoは害悪だと深層では思っていたのだろうか

  • @miturusatozaki5490
    @miturusatozaki5490 Жыл бұрын

    オブジェクト指向言語へのパラダイスシフトは、個人経営で仕入れから陳列、会計まで一人で何でもやってた八百屋さんが、スーパーマーケットに変わってそれぞれの業務を専任の担当者がこなす様になった感じだと思う。 忙しい部署に人を増やしたり、暇になったら簡単に首切れる様になった。 あと他(違うプログラム)からも専門性を持った人を即戦力としてリクルートしやすくなった。

  • @miturusatozaki5490

    @miturusatozaki5490

    Жыл бұрын

    Afterism発現。 蒸気機関(マルチスレッド)の普及による、仕事の分業化(オブジェクト指向)。 つまり、オブジェクト指向は産業革命だ! エウレカ!

  • @shigecky
    @shigecky Жыл бұрын

    「宗教改革」 待ちに待った「プリン」の対義語が出た

  • @satoru3893
    @satoru3893 Жыл бұрын

    キリスト教はCSの例えに絶妙に親和性が高くてオモロい

  • @sugar_day
    @sugar_day Жыл бұрын

    マシン語の処理はゲームブックに似てるなと思いました。

  • @user-nh9xk1rc8u
    @user-nh9xk1rc8u Жыл бұрын

    水野さんは1次元的に表現するしかないというけど 本の目次も2次元的表現してる

  • @cdr6281

    @cdr6281

    Жыл бұрын

    目次を音読してみてください。適切なポーズを取らないと読めないはずですよ。それがインデントの代わりです。

  • @256yayo
    @256yayo Жыл бұрын

    自由を縛ると、楽になったり簡単になったりすることは結構ありそう。

  • @furusatonotkokyou

    @furusatonotkokyou

    Жыл бұрын

    AからBの最短経路の道の一部を取り壊すことで、仕方なく多少遠回りの道にみんながバラけてくれるから、結果渋滞が減った(逆に道を作るを渋滞が増えた)とかある …ちょっと違うかな

  • @RIAFeed

    @RIAFeed

    Жыл бұрын

    Railsなんかそうですね、細かいルールに従えばフレームワークがよきに計らってくれるやつ。ルールから外れると地獄ですが。

  • @yu100nabeyan

    @yu100nabeyan

    Жыл бұрын

    何してもいいよ、何描いてもいいよって言われるのが一番困りますね

  • @keramischmond

    @keramischmond

    Жыл бұрын

    「夕飯何でもいいよ」が一番困りますもんね 「鶏肉の消費期限が今日で、人参と玉ネギの半端があって、冷凍ブロッコリーが袋に半分……よし今日はシチュー!」みたいに制限を加えていってメニューを決める日々です

  • @furusatonotkokyou

    @furusatonotkokyou

    Жыл бұрын

    @@keramischmond 今ふと思ったんですけど、晩飯何がいい?って聞かれてる方も自由度高すぎて、何でもいいって答えてしまうのかと… 晩飯、〇〇と◇◇と△△どれがいい?みたいに聞くと答えてくれそう

  • @haruka_52
    @haruka_52 Жыл бұрын

    16:41 dijkstraという姓は、北海沿岸のドイツとオランダにまたがる地域を治めていたフリースラント由来の名前らしいです。 で、エドガー・ダイクストラはどちらかというと、オランダ人とのことです。

  • @laystorin123
    @laystorin123 Жыл бұрын

    私の頭の中では 処理を1つの流れの中で全部やっていたのが初期のプログラミング 処理をまとめてオブジェクト化して個別処理するのが1つのパラダイムシフト そのオブジェクトがマルチタスクで並行して動くのが2つ目のパラダイムリスト 最後に、各処理が別マシン(DB、サーバ、クライアント等)で分割処理するのが現状ですかね

  • @NekonyanDesu
    @NekonyanDesu Жыл бұрын

    機械語のジャンプは昔よくあったゲームブックみたいだな。RPGがテーマだったりする子供向けの本で この行動Aをするなら何ページに飛ぶ。この行動Bをするなら何ページに飛ぶってのがたくさん書いてあって物語が分岐する。 機械語を知らないんだけど、実際には機械語は命令自体もアドレスで表されるのかな。しかも2進数だったり16進数で書くのかな?かなり大変そう。

  • @user-kl7hd2vv3e

    @user-kl7hd2vv3e

    Жыл бұрын

    アドレスに命令が入ってる感じ その命令を16進数表記とかで記す感じだね

  • @NekonyanDesu

    @NekonyanDesu

    Жыл бұрын

    ​@@user-kl7hd2vv3e 教えてくださってどうもありがとうございます。とても難しいんですね

  • @akai_000
    @akai_00023 күн бұрын

    処理フローチャートが地下鉄みたいっていう場面がありましたが、現在の路線図の表現形式を作り出したのはハリー・ベックさんというロンドン地下鉄の信号整備エンジニアの人だったらしいので、何か通じるものがあるのかもですね

  • @leomt1314
    @leomt1314 Жыл бұрын

    ルールの発明って重要なんやな

  • @fukumi2002
    @fukumi20028 ай бұрын

    Go To Considered Harmfulっていうbe動詞を抜かした書きかたが新聞記事の見出しっぽくて煽りスキル高い

  • @unun2621
    @unun26217 ай бұрын

    プログラミング学び始めのほんとに最初のころに、なんでここに戻るっていう書き方はできないんだ!って思った記憶があったことを思い出した 今はすっかり染まってしまったことを考えると、GOTOはなくても問題ない余計な表現なのに、自然言語で指示するときは自然な表現なので使ってしまうのかもしれない

  • @keitoy2292
    @keitoy2292 Жыл бұрын

    一応、C言語にもラベルを使ったgotoは組み込まれているので、書こうと思えば書けなくはない。 ただ、「関数で名前を付けて、mainで呼び出す」という形式は、機械言語でも、回路によるプログラムでも、やっていたこと。 両方を知っている人からすれば、gotoで一つの文章の中でジャンプするよりも、完全に分けてくれた方が楽だよね。という話で、それこそ、別のモジュールに計算させて、並列で動かしてしまえばいいじゃん。という結果になってしまったりする。 機械言語なら、やろうと思えば帰ってくるまでの時間を比較的簡単に計算できるので、投げて、帰ってくるまでの時間に他の処理をやって、とかもできる。当時と比べれば格段にハイスペックになった現代のPCでやる必要性は一切ないし、スペックを計算に入れれば現代のPCでも帰ってくるまでの時間を計算することが出来なくはないが、かなりめんどくさいので、普通はやらない。

  • @nopAtmark
    @nopAtmark Жыл бұрын

    多くの人を動かす時には、制約を設けて秩序を保つ。 プログラミングに限らず世の中のプロジェクトは標準化や規約で成り立ってる。 オブジェクト指向プログラミングは継承して変わっていく感じからダーウィンの進化論あたりかな?

  • @moroha10085
    @moroha10085 Жыл бұрын

    今Rustの学習してるけど、このパラダイムシフトってRustと一緒だ。選択と反復の概念を導入して可読性を上げたのがc言語。所有権と借用の概念を導入してメモリ安全性を上げたのがRust。

  • @minami_alinko

    @minami_alinko

    25 күн бұрын

    >選択と反復の概念を導入して可読性を上げたのがc言語 ちがいます。 選択や反復はC言語以前の高級言語にはとっくに導入されてました。 (C言語よりよほど古いALGOL60にもFORTRAN IVにも当然ある) 可読性はC言語より前に生まれたPascalやCOBOLのほうが上です。 C言語なんてすぐ読みにくくなる言語だからこそ、「国際難読化Cコードコンテスト」とい奇祭があるくらいで。 当時のプログラマには「ソフトウェアの開発技法」というものがまとまっていなかったんですよ。それを、エドガー・ダイクストラやハーラン・ミルズがそれぞれ別個に「構造化プログラミング」を提唱しました。 一般的な”構造化プログラミング”の理解のされかたはミルズのほうに近くて、ダイクストラが提唱したのはもっと範囲が広いものでしたが、ごっちゃにされた。 ダイクストラにとって、goto悪玉論より「構造化プログラミング」が意図しない形でバズり倒したことのほうが気にくわず、後年、ダイクストラはミルズと(Pascal開発者であり「Go To Statement Considered Harmful」に題名を差し替えた犯人でもある)ニクラウス・ヴィルトへの恨み節を書いています。 パラダイムシフトが起きたとすれば「プログラミング言語」ではなく「コーディング手法の確立」なんですよ。

  • @hiroyukippp7380
    @hiroyukippp7380 Жыл бұрын

    オブジェクト指向は天地創造ですね(ヒカリアレ)

  • @lonrwin8789
    @lonrwin8789 Жыл бұрын

    プログラミングの進化はプログラムを機械語に翻訳するコンパイラの進化とも思う、それで人と機械が近くなった 果てはchatGPTのようなAIによって自然言語でプログラムできるようになっていくのかな、インターステラーのロボットみたいに

  • @applejack0094
    @applejack0094 Жыл бұрын

    大学(農学部)のプログラミングの授業でc言語やってる時に先生からgotoはやめろって言われて当時はよくわかんなかったけど、よくわかりました

  • @user-ff7sz4ql5p
    @user-ff7sz4ql5p Жыл бұрын

    21:32 ごく最近のバズりの一つに いわゆる“ひろゆき現象”があるが、その是非はともかく この現象も現状に不満を持った人が多くいたという土壌があったからこそ これほど大きなブームにまでなってしまったんだろうと思う

  • @gutsnosada

    @gutsnosada

    Жыл бұрын

    近い構造だけど少し違う結論を堀元さんがnote(とどっかの雑誌のインタビュー)で話してた気がする ひろゆきとビジネス書は同じ目的で消費されている、みたいな

  • @hidef1321
    @hidef1321 Жыл бұрын

    オブジェクト指向命名者アラン・ケイにどこまで比重を置くかで、たとえ話も変わってくるなぁ。

  • @manbongo1588
    @manbongo158827 күн бұрын

    人間が胎児の時、大脳ニューロンが極大になってなんでも覚えられる状態だけれど 成長とともにどんどんニューロンは減っていって出来ることが制限されることで人間として洗練された可能性が広がる、みたいな話を思い出しました

  • @actwkusunoki
    @actwkusunoki Жыл бұрын

    関係ない話を延々垂れ流されるのに対し、必死に元に戻そうと苦心する江戸川ダイクン、おもろい。

  • @jukusato
    @jukusato Жыл бұрын

    昔、アメリカの専門雑誌を読んでいる先輩が「プログラムはGOTO文を使ってはいけないんだ」と言っていて、「GOTO文を使わなきゃプログラムは作れないじゃないか!何を言ってるんだ?」と思いました。それから数年たち、日本でもGOTO文なしプログラムは当たり前になりました。

  • @SYALIREA
    @SYALIREA Жыл бұрын

    水野「若手の頃は言われましたよ(若手)」

  • @user-pq2db8xc9l
    @user-pq2db8xc9l Жыл бұрын

    表記体系の話は、慣例読みを思い出しました。口頭の単語(音列としての単語)上位だった時代のもので、表記ありきの現代ではもうほとんど起こらない現象ですね 難読地名が読みにくいというだけで改変されていくのは歴史が消えていくみたいで悲しい気持ちになります

  • @isamich1535

    @isamich1535

    7 ай бұрын

    地名については、「読みにくい」というか、呼ばれていたものに後から漢字を当てたのがほとんどだと思うので、漢字が変わるのはやむを得ないのかな?

  • @hiroteruyoshihara1370
    @hiroteruyoshihara1370 Жыл бұрын

    構造化プログラミングはハードウェアのアーキテクチャーにも影響を与えたと思いますよ。CPUは知りませんが、DSPではループの回数がプログラムで任意に決まっていればループ内の命令をカウンターを使って回数回だけ実行するような仕様になっているプロセッサーがあったと思います。条件分岐でループから抜ける場合は分岐予測を如何に正確に行うかでパイプラインがフラッシュされるペナルティーを最小に抑えるかと言うハードウェアの話になるので構造化プログラミングとは関係ないですけどね。

  • @contactMiu
    @contactMiu Жыл бұрын

    構造化プログラミングの説明をするなら、構造化プログラミングで書かれていないC言語のコードと、構造化プログラミングで書かれたC言語のコードを比較しないと、C言語が生まれたことや、if文やfor文が導入されたことが構造化プログラミングだと勘違いする人が出そうな気がします。

  • @plasoto
    @plasoto Жыл бұрын

    「すごろくみたい」むっちゃわかる!

  • @sabak7390
    @sabak7390 Жыл бұрын

    初心者の頃、何も知らずにフローチャートを書いたら、自然とスパゲッティーコードになった記憶があるので、 アルゴリズムを考える上で構造化定理の原則を適用することは必ずしも人間には自明でないことなのかもしれないですね。 当時のコンパイラは最適化なんて全く効いてないといっても過言ではなかったでしょうから、 その時代の人たちはgoto文を排除することで起きるパフォーマンスの低下をどのように考えたのかなど、 気になることが色々ありますね。

  • @hayakawa_mint

    @hayakawa_mint

    Жыл бұрын

    FORTRANなどは、かなり初期から最適化が進んでいた。ループ中の演算をベクター命令にしたりしていた。構造化されたプログラムは、コンパイラにとっても局所最適化の対象を見つけ易く寧ろ歓迎されていた。

  • @nagasesion
    @nagasesion Жыл бұрын

    機械語のjmpは,CPUに依存するけど大抵かなりプリミティブで,「レジスタの値が0なら,ラベル地点へジャンプ」しか能が無いので,比較して大きければをやりたいとなると,引き算して0以下になるかどうか,みたいな処理をする必要があって更に3ステップぐらい分割される印象がある.

  • @user-pb7db2yu1q
    @user-pb7db2yu1q Жыл бұрын

    goto文を使うなという事でここまで話せるとは凄い。goto文はアセンブリ言語では使いまくるけど、C以後だと、あえてwhile文にてbreakやcontinueを強引に使う事で実現してたりしますね。

  • @akinaka7543
    @akinaka7543 Жыл бұрын

    12:23 そうなのよねえ。パラダイムシフトしないと、なんぼ図解しても判り易くならないのよね…(遠い目

  • @user-takoyakidaisuki
    @user-takoyakidaisuki Жыл бұрын

    何番に飛ぶって昔よく本屋に並んでたゲームブックに似てますね。このアイテムを使うなら581へ、みたいな。

  • @user-bd7ij9jh3n
    @user-bd7ij9jh3n Жыл бұрын

    なんとかゆきさんとかなんとか斗司夫さんの切り抜きでよく見かける奴だ なんとかゆき「質問者さんは〇〇なので☓☓するよりも△△したほうがいいと思いますね」 切り抜き「☓☓する人は馬鹿です!!△△しろ」

  • @rintya1518
    @rintya1518 Жыл бұрын

    マイコン管理で番地管理参照をまとめる役職が部活にあった

  • @user-yt4pi5mc9n
    @user-yt4pi5mc9n Жыл бұрын

    ノイマン型アーキテクチャも、当時の技術者は大体同じようなことを思っていてノイマンはそれをまとめただけという話も大学の講義で聞いたことあります。(もちろんまとめる功績も偉大ですが

  • @MedakaNoBoo

    @MedakaNoBoo

    Жыл бұрын

    わかりやすい表現としてだろうね。ノイマンの功績は数学での証明にあったと思うよ

  • @daiyuki7235
    @daiyuki7235 Жыл бұрын

    テッドチャン読書会でもやってテッドチャン喋りたい欲を昇華させた方が良いのかもしれない

  • @issuiamano
    @issuiamano Жыл бұрын

    「オブジェクト指向」は産業革命と予想。

  • @mariel0171
    @mariel0171 Жыл бұрын

    そういえば、ナーシャ・ジベリは住所マスターでもあったな・・・。

  • @hemangandhi4596
    @hemangandhi4596 Жыл бұрын

    30:11 の階層構造の話しに関する例ですけど、構造化プログラミング言語にも最初に階層が曖昧でした。英語でdangling else problemと呼ばれるALGOL言語に起こった問題です。ALGOL以来のプログラミング言語作りに影響される問題です。今のルールはyou should not have an ambiguous grammarみたいで、「ソースコードの捉え方が一つしかない方がいい」といいう意味です。

  • @MrDeho666
    @MrDeho666 Жыл бұрын

    「軸足に置くものを変えたという意味でも」という言及が47:27にあるけれど、むしろそれがパラダイム・シフトなのかなと思ったり。

  • @user-pq2db8xc9l
    @user-pq2db8xc9l Жыл бұрын

    漢文もレ点と一二点で事足りてるもんなあ

  • @kensuketomioka2321
    @kensuketomioka2321 Жыл бұрын

    ポケモンを使うとプログラミングの説明がしやすそうです オブジェクト指向の説明にも適してそうですね(e.g. ポケモン一般→種族としてのピカチュウ→手持ちのピカチュウ と変数やメソッドが継承される)

  • @ryojitakei71
    @ryojitakei71 Жыл бұрын

    MSXでBASICを使って、1行ごとに文頭に適当な行番号(10,20,30,40…)を付けて「120 if A = 0 then goto180 else goto 240」みたいなプログラムを書いていた小学生の僕にダイクストラが「そのやり方めっちゃクソやで」って教えてくれていれば今頃ぼくも立派なプログラマになっていたかも知れません。

  • @user-oh1vk2lc9d
    @user-oh1vk2lc9d Жыл бұрын

    当時のBASICとかのgoto文とアセンブリのjmpの意味合いは違う気がするんですよね。機械語においてjmp命令に相当するものは今も当たり前に使われているし、それ自体はメモリの仕組み上現代のコンピュータアーキテクチャとしては自然なわけだけど、それを高級言語にそのまま適応していたことが問題なわけで。

  • @lefthand3754
    @lefthand3754 Жыл бұрын

    今まさに、エンジニアリングはAIがやる時代へのパラダイムシフトが始まってるのかもです

  • @MedakaNoBoo

    @MedakaNoBoo

    Жыл бұрын

    AGIのパラダイムシフトは「たまにウソをつく」ことじゃないかなあ。呪文から相手が喜びそうな答えを見つけ出してくる。つまり、人間のウソ(建前と本音)を学習してゆく子どもが「善悪を判断しウソを使い分ける」ができるようになる過程をみているような気がする。

  • @raim3436
    @raim34362 ай бұрын

    vbaでやたら大きいプロジェクトをやってた時にコーディング規約でgotoやめろって書いてあったのを思い出しました。いやエラーのときはメッセージ出したいねんなんで禁止なん?って思ってましたけどこれか!パラダイム後だからわからなかったんですね…。

  • @gamma9472
    @gamma9472 Жыл бұрын

    宗教改革は、それまでは聖職者の解釈という媒介物を介してしか教義の本質(聖書の記述)に触れられなかったのが、誰もが聖書に直接アクセスできるようになったという変化なので、プログラミング言語の進歩とは逆の変化じゃないですか? プログラミング言語はコンピュータ内部の処理を意識しなくてもよくなるように進歩しているので、宗教のたとえで言うなら、聖書の抽象的な記述を日常的な言葉に変換してわかりやすく説明してくれる優秀な聖職者が現れたという状況だと思います。

  • @user-iv9cs7gw1d
    @user-iv9cs7gw1d Жыл бұрын

    プログラマーが馬鹿にするVBAも同じで、ループ処理の中にIF分を入れて、分岐でSelectCaseを入れつつ、当てはまらない場合は条件を飛ばして次のループに移行するGoToを差し込むは、何かと便利です。

  • @user-tp2yo3bb1u
    @user-tp2yo3bb1u Жыл бұрын

    人間が行っていた住所マスターの仕事を人間が意識しないで良いように機械が行うようになった、という感じかな? 番地の存在そのものを人から隠した、とも言えるし、人を番地管理から解放した、とも言える。 プログラムの書き方が変わったのは、人間と機械の役割分担を変えるに伴って、人と機械のやり取りの窓口の決まり(インターフェース)が新しくなった、とも言える気がする。

  • @shinsogayborg
    @shinsogayborgАй бұрын

    N88BASICでGOTOしまくっていたあの頃。時代は流れいつのまにかGOTOが無くなり、パニックになった記憶があります。

  • @user-uj9dx1ig8c
    @user-uj9dx1ig8c Жыл бұрын

    世界史たとえは大体フランス革命って言っておけば当たる

  • @MedakaNoBoo

    @MedakaNoBoo

    Жыл бұрын

    世界史たとえは大抵イギリス産業革命って言っておけば当たる……

  • @user-fn8rx6wc5w
    @user-fn8rx6wc5w Жыл бұрын

    明石家さんまさんが「☓ペケ」をおでこに書いた後、「☓1」のハードルが下がり時代が大きく動いた。

  • @user-yb4xk7ng5m
    @user-yb4xk7ng5m4 ай бұрын

    機械語のフローチャートは俺が昔RPGツクールで作ってたイベントフローチャートみたいだ

  • @chimkio
    @chimkio Жыл бұрын

    すごろく、って例えカンペキだな

  • @user-en3ji8lf2h
    @user-en3ji8lf2h Жыл бұрын

    ところで自分は、構造化プログラミングを叩き込まれた後に、別の職場でマシン語を書いた。 この時は、条件分岐やループ構造をマクロで準備して、マシン語で構造化プログラミングしたものです。 でもマシン語で何が面倒って、掛け算や割り算を含む計算が・・・

  • @ousakatoru
    @ousakatoru Жыл бұрын

    出来上がったプログラムが混沌しているか秩序なしなのかは、手法ではなく設計者のセンスで来まる。 ルールを決めさえすればセンスがなくても、わかりやすく美しくなるという考えは幻想である。

  • @RIAFeed

    @RIAFeed

    Жыл бұрын

    現実はそういったセンスの持ち主は限られていて、実務では色んな人が紛れ込むので、(コーディング)ルールどころかそもそもやりたくても出来ないレベルで(言語仕様を)規制しないとすぐ混沌とするんだよなぁって感じですよね。

  • @gutsnosada

    @gutsnosada

    Жыл бұрын

    同程度の可読性を維持するために必要な努力とセンスの量が違う、という話ではないですかね?

  • @unknown00kuv

    @unknown00kuv

    Жыл бұрын

    そしてそれらの領域に入り込んだ人たちが総じて「ワタシハ〇〇チョットデキル」と言うようになる。

  • @thesaito2721
    @thesaito2721 Жыл бұрын

    オブジェクト指向というと活版印刷の発明かな? 40〜50代のマイコンマニアはベーシックの洗礼を受けてるからこな最初のパラダイムシフト前の思想から抜け出せないよね、はい私です

  • @sion3697
    @sion3697Ай бұрын

    「昔のフローチャート カス!」に空目した

  • @masahikak
    @masahikak Жыл бұрын

    go to 使わないと書けない、とおもってたのは当時の幼い自分はBAISCのせいだと思ってました。Cを使うようになって自然とgo to使わなくなったから

  • @user-ri9he6es4z
    @user-ri9he6es4z6 ай бұрын

    実際に最初期の高水準プログラミング言語ALGOLはわかりやすい表現方法としてチョムスキーの文脈自由文法を参考にしてる チョムスキーの生成文法は代数学によって自然言語を説明する試みだからアルゴリズムを人間にわかりやすく表現したいっていうプログラミング言語のニーズにどんぴしゃだしね

  • @pompe-o
    @pompe-o Жыл бұрын

    オブジェクト指向の起こりを歴史で例えるならフォードの大量生産じゃないかと予想

  • @falconno6554

    @falconno6554

    Жыл бұрын

    もしくは太古の昔のPCから今のPCみたいなたとえになるか (リンゴマークのあの会社の元社長さんが大頭するまで自作PC的なものしかなかったようですし…)

  • @MedakaNoBoo

    @MedakaNoBoo

    Жыл бұрын

    受注生産から大量生産の転換期に生まれた技術ってことね、部品化とベルトコンベア生産だね。なるほど

  • @matanki153cm
    @matanki153cm Жыл бұрын

    12:31 Knuth subway🚇 これ拡大したんですけど・・・もしかして手書きなのかしら・・・ひぇー・・・ 水野さんが指摘されたインデントによる構造の視覚化と自然言語の文法処理との関連性、なんだかんだ堀元さん含め多くのプログラム経験者になると、自然言語を書く際にも文章を構造化する癖がつくんじゃないかと思います。並列的なパーツは同じインデントにいないとキモいよな~っていう感覚が、直列化した文章を記述する際にもセンサーとして働いたり、箇条書きにまとめるのがうまくなったり・・・

Келесі