オブジェクト指向は万能の薬ではなかった。関数型の流行へ。【プログラミングパラダイム・シフト5】#68

  Рет қаралды 117,146

ゆるコンピュータ科学ラジオ

ゆるコンピュータ科学ラジオ

Күн бұрын

Пікірлер: 442
@yurucom
@yurucom Жыл бұрын
【参考文献】 ○コーディングを支える技術 amzn.to/3TscsJp ○オブジェクト指向の考え方 5th Edition amzn.to/3lpDaFQ ○WEB+DB PRESS Vol.132 amzn.to/3JtYkuv ○プログラミング言語大全 amzn.to/3yNiYRf ○はじめてのLisp関数型プログラミング amzn.to/3yNj3V3 ○完本 1976年のアントニオ猪木 amzn.to/3ziioes 【サポーターコミュニティ加入はこちらから】 yurugengo.com/support 【おたよりフォーム】 forms.gle/BLEZpLcdEPmoZTH4A ※皆様からの楽しいおたよりをお待ちしています!
@xenos013
@xenos013 Жыл бұрын
11:10 副作用は関数が外部のデータを変更することなので「魔法を使うとMPが減る」ことが副作用であって「MPのせいで出力が変わる」は参照透過性がないだけかと
@nayutaito9421
@nayutaito9421 Жыл бұрын
関数型に「堀元」を入れると毎回「挫折した堀元」が出てくるのも参照透過性
@toneryo
@toneryo Жыл бұрын
関数型の堀本は関数型を永遠に習得できない
@すこっと-n3m
@すこっと-n3m Жыл бұрын
内部変数「習熟度」が100以上になるまでループさせたいけど、内部変数「やる気」が一定値以上になるまでウェイトするし、習熟度up関数の中で呼ばれるダニングクルーガー関数によって、「習熟度」が一定以上になると習熟度の上がり方に補正が掛かり、「やる気」までマイナスされてしまってTimeoutExceptionして挫折がスローされちゃう
@LetsFeelAllRight
@LetsFeelAllRight Жыл бұрын
「堀本・挫折」とか「堀本・習得」とか入れってこと??
@kussytessy
@kussytessy Жыл бұрын
def horimoto(technology): return 挫折
@kettle9265
@kettle9265 Жыл бұрын
​@@kussytessy全部挫折してて草
@中継地点
@中継地点 Жыл бұрын
ぶっちゃけて言うと、多くの実用的な言語が関数型やオブジェクト指向などのパラダイムのいいとこどりをした結果、書き方としてはどれも似通ってしまい、言語間の差異がGCの有無、静(動)的型付け、実行環境、コミュニティなどの違いでしかなくなってしまった。 ScalaはJavaやKotlinとそれらを共有しており強みを主張できなくなった。
@渡邉欽之
@渡邉欽之 4 ай бұрын
いや、Scalaは全然違うよ。 Javaやkotolinでは高階型を容易に扱えない。
@中継地点
@中継地点 3 ай бұрын
@@渡邉欽之 そうだね。でもそれには需要がないんだろうね。
@Mira_Gumi
@Mira_Gumi Жыл бұрын
19:30 「チャンネル登録者数が一人だとして」で過激な発言を誘導するの、ChatGPTの裏技と同じ手法で面白い
@たきたん-r1x
@たきたん-r1x Жыл бұрын
堀元さんは超優秀なAIだったというオチ?!
@zaki50
@zaki50 Жыл бұрын
プログラミング言語の進化はダウングレードの歴史というのはまさにその通りだと思う。初期の何でもできる言語だと全体の構造を把握していないと安全に修正できなくなるので、コードが複雑になってくると人間の限界を超えてしまう。そこでできることや影響範囲を制限することで理解のための負荷を減らしつつ、同等のものを作れるようにするための概念や機能が追加されていくことの繰り返し。
@kkaratei
@kkaratei 15 күн бұрын
出来ることが制限されると言うことは、現実的には不用意なバグがコンパイラで弾かれるという効能も大きい。例えば変数の宣言が必須の言語なら、変数名のタイプミスでバグることは無い。
@Aki.K.
@Aki.K. Жыл бұрын
誰が何を解説してもどこかから異論が出そうな話題の解説お疲れさまでした。 自分がちょっと気になったのは、ここら辺の話題はこういう解説だけを聞いていても本質的にわかる事が絶対ないだろうという部分です。 あくまでも自分の場合ですが、理論で覚えたんじゃなくて身体で覚えたっていう感覚があります。 本当に理解したい人は、理論と一緒に実際に自分でたくさん読み書きする事が必要だというのを伝えたいですね。
@stockton1115
@stockton1115 Жыл бұрын
1970年代のアメリカでパーティのDJをしていた青年が、歌のない間奏(ブレイク)部分で観客がめっちゃ盛り上がり踊っていることに着目し、同じ曲のレコードを2枚並べブレイク部分だけを繰り返し流したところ大変盛り上がった。 これが音楽史におけるパラダイムシフトの一つ「ブレイクビーツ」の発明かなと。 ブレイクビーツの発明はダンスやラップミュージックの発展などHipHop文化を産むキッカケになった。
@user-ux4bm3ii9x
@user-ux4bm3ii9x Жыл бұрын
今回コンピュータ科学ラジオの中で一番勉強になったな!と楽しいシリーズでした!!ありがとうございます
@chankoo7407
@chankoo7407 Жыл бұрын
最高な回でした。 佐藤知一さんという方が書かれている「タイム・コンサルタントの日誌から」というブログで「ITは西洋哲学の非嫡子だ。だから、ITを専門の仕事とする人は、西洋哲学を少しは勉強しなければならない。」という投稿があり、これに影響を受けて少しずつ西洋哲学を学んでおりましたが未だ自分の中で合点しきれていなかった矢先、今回の動画の内容がめちゃめちゃ理解のヒントになりました。 ありがとうございました。
@user-nn7rm8om9g
@user-nn7rm8om9g Жыл бұрын
水野さんの「理解力」と「例え力」が神がかっていますね! おかげで凡人の私も、オブジェクト指向の問題点と、関数型言語の難しさが、なんとなくわかりました!
@mosquito5831
@mosquito5831 Жыл бұрын
25:19 汚したい訳じゃない。と、怪我したい訳じゃない。をかけてますね。すごい。
@ken05216
@ken05216 Жыл бұрын
null安全性の話をしてほしいです! 個人的には「関数型とはなにか」を勉強しようとすると抽象的すぎて挫折しやすい気がしますが、「その処理、Haskellだとこう書けます」を学んでいくのが新しい考え方にたくさん出会えて楽しいと思います。 他の方のコメントで「仕事に使うべきではない」、といった強い意見もありますが、そう構えずに選択肢を増やすのもいいかなと思います。
@Josh_K_Languid
@Josh_K_Languid Жыл бұрын
めっき業界の技術革新は様々な産業、それこそコンピューターや電子産業のパラダイムシフトの一翼を担っていて奥が深いですよ。
@antama9488
@antama9488 Жыл бұрын
検索からきました。プログラム歴一ヶ月。 話がとても整理されてて、わーこの人ら頭いい……って思った。 なんかぼんやり疑問に思ってたことがスルスルっと説明されていくの気持ちいいです。
@すっとんきょー
@すっとんきょー Жыл бұрын
非エンジニアですが、感動が伝わってきました 良いシリーズだと思います
@kaz-jn7ro
@kaz-jn7ro Жыл бұрын
8:25 Rustは関数型ではなくてマルチパラダイム(オブジェクト指向も関数型も使える)ですね。 すごく雑にいうと、一切速度を犠牲にせずにCの課題だった安全性や利便性を向上させた言語といったところで 現実的にCを代替しうる初の言語として採用例が増えています。 関数型のパラダイムを含んでいるという側面は人気の理由にはあまり関係無い気がします
@moroha10085
@moroha10085 Жыл бұрын
そうですよね。Rustって関数型のエッセンスがあるだけですよね。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
Rust を関数型という時点で、中身が無茶苦茶なのがよくわかる。ゆる言語のまじめさの対局を行くのがこのチャネルですね。
@ああ-o1g8h
@ああ-o1g8h Жыл бұрын
@@kiyotakainaba48 堀元さん自体が前からずっと無茶苦茶 せめて Erlang とかの名前を出してくれれば……
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
@@ああ-o1g8h Erlang 知らない方に賭けるな。Web+db で取り上げられてないもん。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
でも、この世から Erlang 消えると、携帯基地局の約半分は消えるんだよなあ。 はじめて、スウェーデンのLundという町に行った時、本当に交換機の source が Erlang で書かれてるの見せられて、仰け反った。
@miner1227
@miner1227 Жыл бұрын
プログラミング言語の思想本といえば ・7つの言語 7つの世界 (Bruce A. Tate, まつもとゆきひろ, 田和 勝) が良書ですね。題材はRuby、Io、Prolog、Scala、Erlang、Clojure、Haskellです。
@miner1227
@miner1227 Жыл бұрын
ちなみに著者の一人、まつもとゆきひろさんはRubyの作者です
@kkaratei
@kkaratei 15 күн бұрын
翻訳の監修ですね。厳密には。
@hidesanh1601
@hidesanh1601 Жыл бұрын
最近このチャンネルを知り楽しく拝聴させていただいています。30年前の学生時代、Pascalで構造化プログラミングを学びTeXで修論を書き就職してからオブジェクト指向を知り戸惑った事を思い出しました。90年代にコンピュータ業界から離れましたが懐かしいです。
@mudaso-heavy-user
@mudaso-heavy-user Жыл бұрын
楽しみに待ってました
@SS-ij5dk
@SS-ij5dk Жыл бұрын
GW前にこのチャンネルに気付き、今日追いつきました!わかりやすく、お二人の掛け合いが楽しいです。今後も応援してます!
@shoyofilms
@shoyofilms Жыл бұрын
ゲームはパラダイムシフトの宝庫だと思います。技術の進歩でどんどん凄い3Dのグラフィックとかが作られるようになっても、同時に2Dのチープなゲームが人気になったりするし、 とにかくあらゆるところで発想の転換が評価される世界です。 一番好きなのはペルソナ5っていうゲームがゲーム内容はそれまでのシリーズの延長にあるような内容なのに UIが当時の画面上からなるべくUIを減らすっていう流行に逆行したド派手なUIを採用したらRPGをあまりやらない人にも好評になったという話 (一応ペルソナシリーズは昔からUIに力を入れていたのですが革新さが話題になったのは5からかと)
@BLUELUNA001
@BLUELUNA001 Жыл бұрын
ゲームの話であればMMORPGなんかもそうですね。 第1世代ではどこでもPvPできたり持ち物を落としたり盗まれたりといったファンタジー世界におけるリアリティーと自由度の高さの追求が主眼でしたが、第2世代ではゲームとしての遊びやすさの為にむしろリアリティーと自由度には制限が課せられた作品が多くなったと思われます。
@inazuchi500
@inazuchi500 Ай бұрын
ゲームの自由度はゲーム性とバランスの取りやすさ(運営の柔軟性・取り回し)についても考えますし… 要するにゲームそのものやシステムが複雑になったことによってゲームを提供する側が面倒を見切れない部分が増えてきたため、わざと不自由化させることでコストカットしてる側面もあると思いますね
@sattoman
@sattoman Жыл бұрын
プログラミング初学者にどの言語を勉強すればよいかという質問に対して、冗談半分に「英語」と答えることがありましたが、chatGPTの登場でその説がより強固になったと感じるのが最近のパラダイムシフトです
@kuma056
@kuma056 Жыл бұрын
「英語」と「日本語」って答えることがある。
@haine102
@haine102 Жыл бұрын
初学者にポイントなのは、彼の言うように、その冗談は初めから半分本気だったということ。
@木南木のんき
@木南木のんき Жыл бұрын
英語がUIになったってことだしね、GUIの代わりで
@user-tk4nv7zy6z
@user-tk4nv7zy6z Жыл бұрын
AI学習によって英語の学習の効率化が進んでより自然な形で翻訳される様になるから関係ないよ。 そもそも英語7年選手でも意思疎通がうまく取れていないんだから英語勉強するよりもAIに丸投げのほうがいいに決まっている。 読書する習慣つけたりとか、英語以外の勉強をすることに尽力したほうが明らかにリターンが大きい。
@sattoman
@sattoman Жыл бұрын
@@user-tk4nv7zy6z 正確には英語で情報収集すること、英語を使うことを躊躇わないことが重要ですね。英語による情報量は圧倒的だし、chatGPTへの質問も英語を使った方が精度が高いんですよね。
@TA-mr8kv
@TA-mr8kv Жыл бұрын
関数型の高階関数と再帰ははデータ構造をリストかツリーに誘導できるので並列処理に強くていいですよね、Erlangtとかまさに典型ですし...。いまだに並列・分散化のための決定版みたいなのは出てきてないので関数型の発展に期待です。なにも考えなくてもスケールしてくれるプログラムとかになればいいですね。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
Erlang はスウェーデン語で、the language みたいな意味なので、最後に t は付きません。まあ、map が適用できるってのが、高階関数の売りだから、そりゃ並列化に向くはずですよね。マッカーシーもさすがにここまでは、考えてなかっただろうなあ。 しかしまあ、Simula といい、Erlang といい、パラダイムシフトで取り上げられる言語に北欧発が多いこと。
@user-xn4ng2mm1d
@user-xn4ng2mm1d Жыл бұрын
構造化プログラミングもオブジェクト指向プログラミングも、「お作法」なんですよね。 「他にもやり方があるけれど、このやり方しかしないことにする」として混乱を防ぐ。 特定のやり方しか使われなければ、プログラムの見通しが良くなります。記述に秩序が生まれるので、プログラムを読んでいて何をしているか分からないとなる確率が減るからです。 人間の頭の思考力は有限なので、決まりは少ない方が楽です。 どんな風に決まり事を少なくするかが、それぞれのパラダイムのアイデアの違いなんだと思います。 「いかようにも書ける」のは自由でいい気がしますが、サルトル風に言うと、「プログラマは自由の刑に処せられている」状態になって、実はしんどいのですよね。
@user-re9mh1co6b
@user-re9mh1co6b Жыл бұрын
8:25 Rustが関数型だと言ってたけど、 関数型の特徴を多く持っているだけでマルチパラダイム言語なんですよね。
@HitYoutube
@HitYoutube Жыл бұрын
まあRustはCを置き換えるんじゃあというのが前に出すぎていて そういう印象で刷り込まれがちというのはあるかも。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
つか、better C を作ろうとしたときに、メモリモデルをきちんと乗りこなせるようにしたら、関数型がぴったりだったねえ、ってだけですよね。まあ、いまさら、ラムダの使えない言語でプログラム書こうとも思わないけどw ねっからの Ruster からしたら、ここまで、Rust のことを貶めてくれるのは、芸術的とも思える。恐らく、メモリーリークで困ったこととかもないんだろうな、この人。
@user-re9mh1co6b
@user-re9mh1co6b Жыл бұрын
RusterではなくRustaceanでは(どうでもいい)
@寺内宏之
@寺内宏之 3 ай бұрын
関数型の触りは勉強しました。 Reactなどは関数型っぽく記述しますよね。 例えば、MapやFilter、Reduceなんかは関数型の初期のものだと思います。 パイプを使って小さな関数を束ねて大きな関数を作って、それで処理すると、 その大きな関数が何をやっているのかは、小さな関数の名前を見るだけでわかるので、結構便利です。
@rawegg
@rawegg Жыл бұрын
ジャズの世界のパラダイムシフトは概ね構造が複雑になる方向に向かっていくのが常だったのですが、ここ最近のジャズのムーブメントの一部では逆に純粋な要素を積上げていくようなミニマルミュージックの影響が強くなりつつあって、オブジェクト指向から関数型へのパラダイムシフトとリンクするところがあるなと感じますね。
@kuribo-6051
@kuribo-6051 Жыл бұрын
私が一番感じるパラダイムシフトはサーバについてです。 昔は物理サーバが一般的でしたが、CPUが仮想化をサポートしたあたりからVmwareなどによる仮想化が急にホットになったと思います。その後ブレードサーバによる仮想化と集約があって、しばらく仮想化の時代でしたが、開発環境としてDockerが流行ってコンテナ化の時代に来たと思ったらオーケストレーションツールのk8sが来て、今は大きなサービスのほとんどのサーバはコンテナで動いているのではないかなと思います。 言語もそうですがインフラも流行り廃りが激しいですね。
@kkaratei
@kkaratei 15 күн бұрын
汎用機の時代からVMは有りました(作ってました)。が当時の目的は、仮想化したOSとメモリ空間で開発中のアプリのテストが出来る。見たいな使い方。今のVMもほぼコストダウンが目的で夢が無いですな。
@viewercontents-sy7ho
@viewercontents-sy7ho Жыл бұрын
自分で関数型のこと調べてもチンプンカンプンだったから 今日は関数型のことちょっと知れるんじゃないかと思ったのに堀元さんも同じぐらいの理解度で笑った こういうオブジェクト指向難民結構いるんじゃないか?
@OneMeterNutz
@OneMeterNutz Жыл бұрын
一部の職人エンジニアにしか使いこなせない技術ってパラダイムとしては浸透し難いと思うなあ。学びやすさとか開発のしやすさってプログラムの世界じゃかなり重要ですよね。
@済民かなえ
@済民かなえ Жыл бұрын
それこそ学び方のパラダイムシフトが起きないと無理だと思います。
@FoxInFlame
@FoxInFlame Жыл бұрын
大学の情報学科の学部一年の最初の講義が「関数型プログラミングとHaskell」だったの、今考えたらめっちゃラッキー
@karaswe1l
@karaswe1l Жыл бұрын
19:15 堀元配慮スイッチで遊ぶ水野さん
@chromarock5928
@chromarock5928 Жыл бұрын
RustはLinuxカーネルにも一部採用されつつあり、勉強しなきゃと思っています。最近の自分の中のパラダイムシフトはワンパンで割と本格的なカルボナーラが作れることを知ったときですね
@chromarock5928
@chromarock5928 Жыл бұрын
@@vonneumann6161 確かにたとえがまずかったので変えました。日本語難しいですね
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
いや、ワンパンのカルボナーラは、十分パラダイムシフトだと思いますよ。ただ、あれって使うパスタを選ぶんだよな、茹で上がりの時間が厳密だから。
@Vノ字
@Vノ字 Жыл бұрын
将棋の戦術パラダイムシフト。 ・盤面中央の勢力争いが重要だ(江戸〜昭和初期) →・中央の歩を突くと角を打ち込まれる隙ができるからやめよう(〜昭和後期) →・金銀を密集させた強固な守りが最強(〜平成) →・金銀をバランス良く配置して隙を作らないほうがもっと優秀(〜令和) →・なら結局は盤面中央の勢力争いが勝負の要になるんじゃね?(今)
@GivemeGenuine
@GivemeGenuine Жыл бұрын
white spaceの話、全てのコードは"透明"なのに"参照透過性"はゼロになってるの面白いですね
@haine102
@haine102 Жыл бұрын
その概念ですらwhite spaceになっているんですね。
@oxy2745
@oxy2745 Жыл бұрын
私はScala大好きなプログラマーなのでバイアス入りまくってますが「Scalaは難しい」とか「Scalaは終わった」という発言をする事が「関数型理解して乗り越えました」感を演出するパフォーマンスのようになってしまっていて、そういった界隈の表面的な雰囲気だけで学習すべき言語から除外されてしまっているのに危機感を持っています。 実際のところは、Javaの膨大で枯れたライブラリやエコシステムを利用することができる、オブジェクト指向と関数型パラダイムをいいとこ取りしたような言語なので、とても良い言語です。 現在、goやrustが流行っているのはマイクロサービスアーキテクチャの潮流と、クラウドベンダーがインフラでのマイクロサービスアーキテクチャのサポートを強化して現実的にマイクロサービスアーキテクチャで運用することが可能になってきた頃合いだからという背景があります。
@keisukesugi5085
@keisukesugi5085 Жыл бұрын
折り紙における蛇腹折りの導入と写実的な作風はパラダイムシフトかもしれない。一方で高度な抽象化への回帰も面白い。
@user-qk5ic1we3h
@user-qk5ic1we3h Жыл бұрын
21:52 計算容量が増えたことによって変わった事を挙げるとすれば、「プログラマがメモリの管理をあまり考えなくても良い仕組み」が生まれた事だと思います。 その仕組みが組み込まれている言語では、メモリ管理よりも他の事にリソースが割けるようになり、カジュアルにプログラミングできるようになりました。 「メモリの事よりも他の事を気にした方が良い」という考え方が変わったので、これもパラダイムシフトと言えるのではないでしょうか。
@kkaratei
@kkaratei 15 күн бұрын
最近の若いものはサイズとか速度とか無頓着で困る。それで通用するのは学校の課題レベルのプログラムだけだ。実務の世界では常にギリギリのマシンで現実的なパフォーマンスを達成することを要求される。
@TANAKA_YASUHIRO
@TANAKA_YASUHIRO Жыл бұрын
昔のSNSには「あしあと機能」があって、LINEでも「返信する時間がなくてもとりあえず既読は付けようよ」みたいな風潮だったけど、いつの間にか「LINEを返せないときは返信するまで未読にしておく」というのが当たり前のマナーになっていて、LINEを開かなくても読めるようにアップデートされた時がマナーの転換点だったと思います🤔
@Kei-IWA_Siliconated
@Kei-IWA_Siliconated Жыл бұрын
送るのか公開するのかの違いでは?
@1048t
@1048t Жыл бұрын
水野さんはRustをwasm化してWebページで動かせという非常に勘の鋭い宿題を提示している可能性がありますね
@haine102
@haine102 Жыл бұрын
深読み!
@ohneta
@ohneta Жыл бұрын
関数型プログラミングは1950年代のLISPの昔からあるわけで、昨今の流行りとしてマルチパラダイム言語の流れとして関数型を取り入れてる感じがありますね。JavaScrip(ECMAScript)のすごい勢いでの言語拡張を見ていると感じます。
@haruka_52
@haruka_52 Жыл бұрын
なんせLISPは2番目に古い高級言語ですもんね。 構造化言語の回で出て来たC言語より14年古く、構造化以前のGOTOスパゲティで一世を風靡したBASICよりさらに4年古い。
@ohneta
@ohneta Жыл бұрын
​@@haruka_52 私の視野が狭いだけかもしれませんが、実際のプログラミング現場での関数型プログラミングの扱いは高階関数や無名関数(ラムダ式やクロージャ)などのいいとこ取りがメインで、関数型プログラミングでのみでのシステムすべての記述はまだメインストリームではないような気がします。 またクロージャはどちらかというとオブジェクト指向の流れから来ているし、いまどきの言語は関数型と呼ばれてなくとも第一級関数が使えるものが多いのでオブジェクト指向の次のパラダイムは関数型だ!と言い切ってしまうのもどうかな?と個人的には思って聞いてました。 それでもここ10年くらいのプログラミング業界全般での流行りは関数型だし関数型風味であることは間違いないし、実際のプログラマでも堀元さんくらいの理解度で関数型風味を使っているのが実情でしょうw
@haruka_52
@haruka_52 Жыл бұрын
@@ohneta たしかに、あまりパラダイム転換にはなっていなくて、流行りの新要素くらいの感じに落ち着いてますね。 Haskellが流行り出した頃は割と思想的というか純粋関数型の世界にどっぷり浸かろうとする人たちが多かったように思いますが、今はもうちょっと実用主義的というか使える時に使うツールのひとつになった感じがします。
@tekoku3
@tekoku3 Жыл бұрын
パラダイムシフトかはわからないけど 「二六時中」が「四六時中」に変わったって話が好きです。 なんか明治くらいのバカリズムみたいな人が「あってないじゃん!」って感じで使い始めたのかなぁ等と妄想すると楽しい。
@user-sssssmoon
@user-sssssmoon Жыл бұрын
『盲亀浮木』より『盲亀浮き輪』の方が説明しやすい。パラダイムシフトしよっ
@kt-wl3xo
@kt-wl3xo Жыл бұрын
数学はパラダイムシフトの塊です。中学で学ぶユークリッド幾何に対しデカルトにより座標平面が導入されたり。自然数→整数→有理数→実数→複素数とか。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
数(すう) の拡大はむしろ、パラダイムが変わらない典型例と習いましたけど?複素数まで広げても、同じ演算が適用できる。 むしろ、シフトならデカルト座標から極座標とかでは?
@kotokoto8362
@kotokoto8362 Жыл бұрын
パラダイムシフト、理系基礎学問・コンピュータ・情報科学界隈だとarXiv(プレプリントサーバ)でしょうか。 今日投稿したら明日には誰でも無料でその論文が読めるのは革命的だと思います。 「論文を投稿したら査読があり数カ月後に雑誌に掲載されお金払わないと読めない」 というパラダイムを覆しました。(※arXivも一応査読はあるが、落ちることはほぼない) 雑誌社がそれを許すというのも考えてみるとすごい話だと思います。 現在では月に18,000本を超える投稿があります。 機械学習・AI関連の発展が目覚ましいことの一端はarXivにあると思います。
@mukadenodaiou
@mukadenodaiou Жыл бұрын
16:57 みんながこぞってすごいH本買ってはツイートしてたの思い出した
@spike2.tracker
@spike2.tracker Жыл бұрын
はじめてのCからのすごいH
@yo11111111111
@yo11111111111 Жыл бұрын
Scalaをメイン言語で仕事してます。Javaと互換性があるので、業務ではかなり役に立ってますよ。 私も関数型には苦労した口で、モナドがすんなり分かる人は天才だと思う。参考書では理解できず、習うより慣れろで、何度も書いては直しを繰り返してようやく感覚がつかめた感じです。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
モナドは参考書を読めば読むほど判らなくなる。少し大きめの scala native な人の書いたソースを読むと、なーんだ、と思うけど、ひとに説明しようと思うと、また判らなくなるw
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
なので、人に教える時は、「はい、必要なモナドの使い方だけを覚えましょう」と言うことにしてる。io と maybe くらいで良いじゃんw
@Kei-IWA_Siliconated
@Kei-IWA_Siliconated Жыл бұрын
何を言ってるのかわからねぇが、 また制限という自由度ダウングレードで人間に平易化するバラダイムシフト・準パラダイムシフトが起こる臭いを嗅ぎ付けたぜぇ…
@average334
@average334 Жыл бұрын
堀元さんくらいの勉強上手い人でも、関数型言語の勉強難しいって言ってくれるのめちゃくちゃ安心する
@星人注射
@星人注射 Жыл бұрын
オブジェクト式言語はバグを取ろうとすればするほど増えていくという根源的な欠点があるw
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
だって、関数型じゃない言語取り上げて、勉強しようとしてるから。モーターボートの免許取って、車の運転は難しいとか言ってるようなもん。
@kazuselen
@kazuselen 11 ай бұрын
@@kiyotakainaba48まず君がちゃんと日本語を理解しないとダメだぞ
@くりーむ-u3k
@くりーむ-u3k Жыл бұрын
関数型言語ができるごく一部の優秀な人と、万人向けで裾野の広いオブジェクト指向プログラミングという二極化が進むと思っています。 平凡な人々が設計に対して共通認識を持ちやすいのはオブジェクト指向なんですよねぇ
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
一列に並んでるデータに、同じ処理を適用する、っていかにもコンピュータらしい処理を、素直に書けない oo より、map 一発で素直に書ける関数型言語の方が、コンピュータの勉強には良いけどね。
@toneryo
@toneryo Жыл бұрын
関数型は難しすぎて流行らないと踏んでいます。そのレベルまでたどり着くプログラマが少なすぎます。 私も勉強して挫折した口ですが、関数型言語って本当に融通が利かないので、一発で正しい書き方にたどり着かないと動きません。 とりあえず動くプログラムを書いて、必要に応じてリファクタリングという手順を踏めないのが辛いです。 他のプログラミング言語で経験を積んだベテランが悪いコードを書かないための矯正器具みたいな印象です。
@キシダサトコ
@キシダサトコ Жыл бұрын
58歳イラストレーターです。「コンピューターで絵が描けるようになった」がパラダイムシフトでした。これによってアナログの画材を持たなくて良くなり無限の絵の具を手に入れたこと、データで納品が可能になったこと、何より修正が飛躍的に楽になったことは大きな恩恵です。 これらにより私のアナログイラストはすっかりダウングレードして、めっちゃ下手くそになりました。
@biasch2
@biasch2 Жыл бұрын
日曜午前の仕事は、ゆるコンピュータ科学ラジオのおかげで嫌いじゃない
@atridott
@atridott Жыл бұрын
ほんまこれ
@kuma056
@kuma056 Жыл бұрын
もしかして「令和のパソコンサンデー」か?
@matetaiyo4126
@matetaiyo4126 Жыл бұрын
[訂正1]ガベージコレクションはオブジェクト指向よりもっと前からあるようです。 [訂正2]といよりHaskellもGC使っているようです。。。 Rustの話に繋げるのであれば是非ともメモリ管理の話をしていただきたかった。昔はメモリマップなるものを自作していたらしく本編でもそれとなく取り上げてくださっていたけれども、ガベージコレクションとオブジェクト指向がたまたま同じ時期に流行ったというだけでGCが主流になってしまいメモリを意識しなくてよくなりすぎたため、昨今の障害の根本原因の多くがメモリリークやヌルポに起因するようになった背景もありRustが脚光を浴びるようになったと感じています。これは非エンジニアにとってはとてもマニアックな領域の話でピンと来ないかも知れないですが、僕を含めて最近のエンジニアはあまり実感が湧かない話だと思っています。
@蛙星-y4d
@蛙星-y4d Жыл бұрын
組み込み系で30年ぐらい前にメモリマップ書いてました。当時は手書き。 メモリが数Mバイトしか使えないので、その中でいかにデータを扱うかを考えてました。 その頃に比べるとメモリへの配慮は薄くなってますね。 ただし、メモリ管理その他もろもろの考慮から開放されて、複雑なものを作れるように開発者のリソースを使えるようになっています。 メモリがどう動いているかカプセル化されるのは、ほとんどの場合は助かるのですが、困った時に分からんのは、手に負えなくて泣きたくなります。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
えと、ガベコレは LISP からあったんで oo なんかより圧倒的に古いんですけど... 最近、給料貰わないソフト書く時に Rust しか使わないのは、仰るとおりメモリ管理の真っ当さではありますが。組み込みで、ガベコレは、勘弁なのよねえ。それと、人の書いたプログラムを、Rust に移植すると、意図しないメモリリークのネタとか発見出来るのも楽しい。
@matetaiyo4126
@matetaiyo4126 Жыл бұрын
@@kiyotakainaba48 おお!そうだったんですか!不勉強でした。。。 ありがとうございます!訂正しておきます! オブジェクト指向から10~20年前だったんですね。
@mudaso-heavy-user
@mudaso-heavy-user Жыл бұрын
23:16 ホントだ!プログラミング言語は官能小説と全く一緒だ!(確信)
@yoke9162
@yoke9162 Жыл бұрын
参照透過性の問題で関数型言語が流行ってしまうと、オブジェクト指向神話の再現になりそう… ちなみに、oopと言いつつ名前空間の管理くらいにしか使ってないことも多い(特にDB絡むと)ので、関数型言語が流行っても実態は変わらない気がします
@kuma056
@kuma056 Жыл бұрын
結局は「銀の弾丸などない 」と。 ※ たしか「再発射」の方で(当時はまだ未発達だとは言え)オブジェクト指向にも触れてたはず。
@user-gn6so8bs3g
@user-gn6so8bs3g Жыл бұрын
聖子ちゃんなんかの神聖な存在の時代から秋元康が会いに行けるアイドルにしたのはパラダイムシフトですかね?
@むーくん-q1c
@むーくん-q1c Жыл бұрын
たしかにダウングレードしてる。
@nkgwsy
@nkgwsy Жыл бұрын
秋元康の前に、つんくがいる気がします。 それまでは手の届かない憧れの存在だった物が、モーニング娘。の登場で応援する物に変わり、そこに会いに行けるというコンセプトが来てファンとの距離が一気に縮まって、昨今の「推し」の文化に発展してきたのかなぁ、と。
@ioritobeta6293
@ioritobeta6293 Жыл бұрын
やっぱり関数型言語の話だ〜!予想当たりました😊 楽しく聞かせていただきます〜
@blackhowling782
@blackhowling782 Жыл бұрын
趣味でプログラムを嗜む程度なので、オブジェクト指向から関数型に戻ってる流れを知らなかったです😅 ぶっちゃけ何でもかんでもオブジェクト化とか微妙だなと思ってたので納得しかないです😁
@bookers4064
@bookers4064 Жыл бұрын
良くできたOOPでは、状態(属性)と振る舞い(関数)が同じ関心事で一つにまとまっていますが・・・ 『副作用』はカプセル化された内部の状態が可変(Mutable)であり、それが振る舞い(関数)によって書き換わることで、同じ振る舞い(関数)でも返す結果が異なることを示します。これは単一のオブジェクトで起こる問題です。クラスは同一でもインスタンスが異なるオブジェクト指向では、その複雑さはより増していきます。 特にUIの状態と振る舞いにオブジェクト指向を適用した場合、この問題が起こりやすいです。 具体的には、繰り返しの画面操作によって再現性が低い特殊な状態で振る舞いが実行されることがしばしば発生し、それが問題へと繋がります。また、その再現テストも困難です。 最近では言語ではなく、フレームワークで不変性(Immutable)な状態と関数型を強制するものが、UIフレームワークとして人気を集めています。
@windymelt
@windymelt Жыл бұрын
普段Scalaを書いているエンジニアです。オブジェクト指向はルネサンスだという例えがありましたが、よい例えですね。 物事の具体的な表現に迫るオブジェクト指向とは対照的に、関数型言語は普遍的な性質や特性を抽象的に取り出してきて、それを物事に合わせて定式化して組み合わせる、というアプローチを取りがちなので、とっつきにくい部分がありますよね(例えば、「なにかを写すもの」という枠組みであるファンクタという概念が登場したりします)。 そういうわけなので、考え方をがらりと変えないと大変な部分がありますね。 ちなみにScalaはJSに変換する技術が出現したりネイティブコンパイルする技術が登場したりと、地味ですがどんどん進化しているようです。
@白梅みさと
@白梅みさと Жыл бұрын
ガンダムが勧善懲悪からのパラダイムシフトと言われています。(ウルトラセブンにも地球外生命との共時構造が挿入されていました)
@user-hb7sn1lb8w
@user-hb7sn1lb8w Жыл бұрын
パラダイムシフトの関連を考えてたはずなんですが、ダウングレード方向の進化は車で似た事が起こってるなと思いました、 MT→AT(ギヤ選択の制限)アクセルの電子化(エンジン制御のカプセル化) カーナビとハンドルやブレーキの自動制御(車の位置選択の制限) 明らかな間違いを排除する為の進化とマシンを要素単位で細かくコントロールする方法の制限のトレードオフ、 超低レイヤー領域では使い手、作り手の技術的な需要があったり理解が求められる分野が残っている所など。 急速に進化した年代も似てますね。
@haruka_52
@haruka_52 Жыл бұрын
11:10 「参照透過性」の定義が少し足りていなくて、参照透過性というのはある式と式の結果を置き換えても結果が変わらない事です。 この定義の不足している部分が「副作用」にも絡んでいて、じゃあ主作用は何かというと参照透過性を語るときに出てくる式の結果です。 関数の作用が式から式の値を返す以外の作用を持っていると、式を式の値で置き換えた時に主作用以外の作用=副作用が得られなくなってしまうので透過的で無くなるのです。 だからprint(10)は必ず同じ結果になりますが、参照透過性を持ちません。 式を値に置き換えると失われる、標準出力への出力が副作用です。
@tenrai3065
@tenrai3065 Жыл бұрын
22:10 技術ではなく発想で変化する話について、技術が発達したおかけで効率を考慮する必要がなくなったり、実現可能となったりすることが、新しい発想を促したり発想を実装でき、パラダイムシフトが進む原因となったと思います。
@user-sibatako0402
@user-sibatako0402 Жыл бұрын
登山初心者なのでこんな大それたことを書くのは恐縮なのですが、極地法からアルパインスタイルへの転換はヒマラヤ登山史のパラダイムシフトではないかと思います。 現在はカプセルスタイルという上記の2つの中間のような方法が採られることもあるそうです。(ヒマラヤではない場所の話かもしれません。あいまいです)これ以上書こうとするとボロが出るので控えます
@マイラー-m4w
@マイラー-m4w Жыл бұрын
チャンネル登録者数別解説、今後もやって欲しいです。
@ユタカ-y8p
@ユタカ-y8p Жыл бұрын
待ってた!
@自遊
@自遊 8 ай бұрын
オブジェクト指向プログラミングにハマってプログラムしているので、参考になりました。関数型プログラミングのイメージを理解できればと考えますが、難しそうですね。
@mugitoro_wasabi
@mugitoro_wasabi Жыл бұрын
線形型と依存型を持つ関数型言語とか始めるとめちゃくちゃ面白いですよ。処理系あんまりありませんけど。
@currysita
@currysita 7 ай бұрын
ちょっと勉強する必要があってこの動画を見たんですが、水野さんの頭の良さに驚きました。その観点が思いつくのすげえ。人生2週目なのでは。
@Fhtfethhfdhjgf
@Fhtfethhfdhjgf 11 ай бұрын
PLCのラダーとexcelのVBAしか知らないので、オブジェクト指向という単語は知っていても内容まではちんぷんかんぷんでした。今回のシリーズはとても面白かったです。
@kurukruatama-moutuaruto
@kurukruatama-moutuaruto 8 ай бұрын
非プログラマだけどプログラマが普段何してるか、どんな勉強をしてどんな考えなのかわかるのがとても良い
@umanizer
@umanizer Жыл бұрын
趣味プログラマーですが、楽しくてたまりません。 関数型言語触った事ないけどreactに近しいなと思いました。
@yt-ci9sw
@yt-ci9sw Жыл бұрын
にわかですが、関数型は低級言語へのシフトダウンの様な感じですかねぇ。 モジュール化の楽さというのもあるので透過性の高いオブジェクト指向が出てくる気がします。 個人的に思うパラダイムシフトはPCを一般生活で使用する様になったこと。 とっかかりはOSあっての前提ですが、ワープロと通信とゲームだったのかな? 後のスマホ普及への下地も作っているので大きいと思います。
@hiliteorz
@hiliteorz Жыл бұрын
若い時はエンジニア仕事でしたが、リーマンショックで会社が無くなってからは非エンジニア仕事をしています。 僕の好きなパラダイムシフトはボードゲームですね。 人類の文明と一緒に発出してから綿々と受け継がれてきたボードゲームは、初期は権力者の遊戯という立場でした。 その後、権力者だけでは無く、庶民にも降りて来て、全ての人類の遊びとして普及していきました。 次に、商業の発展と共に会社の商品という立場にシフトしていきます。 その後、ボードゲームの作者の知名度向上の為に、作者達が組合の様な物を立ち上げ、ゲームのパッケージに作者名を乗せる様に交渉が始まり、欧州で実現します。その瞬間にボードゲームは会社の商品では無く、作者の作品になっていきます。 その後、90年代後半に、名作と言われる様なゲームが作家性を売りに台頭してきて、ボードゲームは完全に作者の作品という立場にシフトしていきます。 この頃はデジタルゲームに押されてボードゲームが売れなくなってきた危機的状況の中、インターネットの普及により、良いボードゲームの噂が世界レベルで広がっていくという状況が、仇敵である筈の”デジタル”の力を借りる事が出来た幸運もありました。 更に現代では、ルール量の増大と共に、一作家ではルールの公平性や整合性が担保されなくなる事が散見しだし、作者とそのゲームを売り出す会社の編集者がチームを組んで、作者はアイディアを出して、編集者がデベロップを担当する分業となり、小説等の本が、作者と編集者が両輪となって制作するのと似た様な構造にシフトしていってます。 また、一部の作品では、作者がアイディアを出し、編集者がデベロップをした物を、クラウドファンディングで先行購入者を募り、一般販売に向けた初期資金の調達とマーケティングを担う、作者と編集者と先行購入者の3者でゲームを作り出す物も出て来て、もう次のシフトへ移っていると考えられる状況にもなってきています。
@ababba
@ababba Жыл бұрын
関数型プログラミング、特に数学の知識は要らない(あったら尚よし)派閥なので、頑張って挫折しないでほしい
@furusatonotkokyou
@furusatonotkokyou Жыл бұрын
バンドにおける(エレキ)ベース 大昔はベースは地味ってイメージだったのに、ラルクのtetsuあたりでベースも派手なことしていいんだみたいになって そのあたりってどっちかというとピック弾きが主流だったのに、気付いたらいつのまにか指弾きが主流になってた… これはちょっと違う話かな?
@akinaka7543
@akinaka7543 Жыл бұрын
キイハナでしかないですがジャコパストリアスさんが凄かったらしいですね。
@furusatonotkokyou
@furusatonotkokyou Жыл бұрын
@@akinaka7543 誰だろう?と思って調べると…あのthe chickenのベースの人ですか!それは凄い ちなみに海外含めるとビリーシーンとか出てきてちょっとややこしくなるかなーと思って、一応国内だけの流れでは考えたんですが…
@eisuke_kuwahata
@eisuke_kuwahata Жыл бұрын
Scala2でいろいろな使用例を経て良いとこと悪いとこを整理しながら、改めてScala3で関数型プログラミングの側面をきちんと再設計しているのが面白いですね。 ということで関数型言語が好きなパラダイムです。オブジェクト指向ももちろん使うけど。
@MTDSTR123
@MTDSTR123 Жыл бұрын
ぜひ関数型に詳しい人呼んでくださると嬉しいです 絶対見ます
@MABI0808
@MABI0808 Жыл бұрын
Haskellの入門書、通称「すごいH本」オススメです。 非プログラマの水野さんにも是非読んで頂きたいです。 最悪文書内に記載のプログラムのコードは一切読まなくても良いです。パソコンにHaskellの導入も不要です。(引数xの値の2倍の値を返す関数doubleMeなど、関数名が処理をそのまま表している定義がされているため、プログラミングが難しそうという偏見が無ければ割とイメージが掴みやすいです。勿論入門書なので本書の通りにすれば中身が理解できてなくてもプログラミングっぽいことが出来るのでそういう遊びとして気が向いたらプログラミングを触ってみても良いかも?) おすすめのポイントは三点あります。 一点目は、文がとてもフレンドリーで思わずクスッと来てしまうところです。 二点目は本書には挿絵がいくつかあるのですが、その絵が凄く可愛いです。水野さんの好みにも合うと思います。 最後に、非プログラマだけどプログラミングの入門書を1冊読んだぜ!と話の種になることでしょうか?堀本さんを差し置いて関数型プログラミングの考え方をマスターしてたら面白いですね。 C#のLinqやJavaScriptのmap/reduce、果ては最新版エクセルの関数(VBAを差し置いて!)のMap/Reduceというふうに関数型プログラミングの考え方が他の物に使われる様になっている今だからこそ、「すごいH本」を読むべきではないでしょうか! 追伸: 正式な名称はすごいHaskellたのしく学ぼう![ISBN-13 978-4274068850] です。 私はこの本を某大手サイトのポイント還元キャンペーン時に普通にエッチな本と併せて購入しました。 高階関数やモナドや圏論の話はやはり難解なので堀本さんが挫折する気持ちもよく分かるつもりです。自分も挫折中です。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
高階関数は Huskel の場合、微妙に書きにくいだけで、考え方は難しくないでしょう。 「関数返す関数」って、なんじゃそりゃ、になるんだけど、関数返す関数のリスト (答 ) を一つの引数に適用する、って一回覚えると便利さに捨てられなくなります。関数型の場合の、一番普通の繰り返しの書き方です。
@ケントマン
@ケントマン Жыл бұрын
猪木アリの話補足。 当時最強チャンピオンだった誰でも勝負を受けると言ったところに猪木が挑戦表明。 ただしアリ側は異種格闘技ということもあり猪木側に条件(ルール)を提示しあらゆる攻撃手段を封じた(非公開)。それでも勝つために猪木ができた戦い方があれぐらいしか残っていなかった。 期待していたファンとしてはがっかりだったが、アリは猪木に対して好意を持つことになり、友情の証としてアリボンバイエという曲を猪木に贈った。それが猪木ボンバイエ。
@notmikis
@notmikis Жыл бұрын
DTM界隈のパラダイムシフトは、ソフトシンセとボーカロイドの登場ですね。 それまではMIDIシーケンサーでハードのマルチシンセを鳴らすのがDTMだったのですが、それ以降はDAWで録音するのがDTMと呼ばれるようになりました。 あとボーカロイドには、当初は人間のボーカルの代替だったのが、初音ミクの登場によってそれ自身が主役になるというパラダイムシフトがありました。
@lonestar930
@lonestar930 Жыл бұрын
自動車会社で電気とか運動制御とかをやっているエンジニアです。 使用言語(ソフト)はMatlab/Simulinkです。 日本のソフトウェアエンジニアはエンジニアという言葉をソフトウェアエンジニアにしか使わないことに不満があります。 エンジニアとは工学系技術職を指す言葉で、メカニックやプログラマーなどのブルーカラー寄りと区別して、仕様決定などをする人を指す言葉です。 エンジニアは弁護士や医者などと同じレベルで一目置かれる職種であり、そのような言葉を限定的に使われるのは違和感があります。 水野さん取り上げてください。 職業と職業名ってまさに文化における概念と一緒で、定義されないと存在が難しくなります(面白科学おじさんとか)。結構面白いネタじゃないですか?
@syo5100
@syo5100 Жыл бұрын
22:50 「プログラミングの基礎の基礎」とかプログラミング言語を書くほどじゃないけれど、プログラミングする上で何が大変なのかを説明している本として近いジャンルなのかなあ
@haruka_52
@haruka_52 Жыл бұрын
8:40 関数型を新しいパラダイムと言ったら投げようと思ってマサカリ研いでたのに間一髪の髪回避来ました(´・ω・`) 最近の流行はOOブームの後だから「新しい流行」は正しいし、地雷原をうまく駆け抜けてる
@HitYoutube
@HitYoutube Жыл бұрын
堀元さんには様々な質問をChatGPTに打ち込んで出てきた回答について論評を語る ChatGPT教養悪口本回をゆるコンピュータ科学ラジオでやってほしいところですね。
@Madara_Baku
@Madara_Baku Жыл бұрын
利他的行動の解釈のパラダイムシフトが「利己的な遺伝子」By リチャード・ドーキンス によって起こりました。 行動主体に不利益な行動の利益を受ける対象が、「利他的行動行動をする個体? その個体の属する群れ? それとも種?」という長年の議論に「個体が持つ遺伝子の一部」が正解という主張が成されました。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
その前のパラダイムシフトは、用無用説から脱却した自然選択説ですね。 両方とも、後になって数値シミュレーションで、実現可能性も実証されていますし。
@HiroshiSako
@HiroshiSako Жыл бұрын
事前条件、事後条件、不変条件を考えずにオブジェクト指向を考えるので内部状態の影響を受けて難しくなるのですよね。たとえば MP の件でいえば 魔法を発動できる事前条件は発動するに必要な MP があることです。なお MP の内部実現方法は隠蔽されているので外部からテストする人は気にする必要はありません。外部から観察したときに EnoughMP = true が確認できればよいだけです。こうした事前条件、事後条件、不変条件は契約による設計(DbC)という概念に登場するものです。ちななみにオブジェクト指向と関数型の概念は対立するものではなく、オブジェクト指向に関数型をうまく組み合わせると大変強力です 😀なおオブジェクト指向が万能ではないことには同意します。
@user-wt3yu7ym4h
@user-wt3yu7ym4h Жыл бұрын
プログラミング言語の思想とても面白いでした。本出したら絶対買いますよ。
@ranten-oukoku
@ranten-oukoku Жыл бұрын
サムネが、「脱却」というよりは「解脱」なんよ…
@エレキング-p5h
@エレキング-p5h 9 ай бұрын
好きなパラダイムシフトは、クラウドコンピューティングです。これによって、あんましサーバに詳しくない人でもクラウドでサーバ立ててスケーラブルにウェブをサービス運用できる時代になったと思っています。
@ゆっぴー-o5u
@ゆっぴー-o5u Жыл бұрын
パラダイムシフトとは少し異なる気はしますが、学生ロボコンの界隈で現状大きな転換点を迎えつつあると感じています。というのも、モーターと減速機(ギア)がセットになっているギアードモーターというものの中で特にロボコンで使いやすいものを販売していた業者が廃業したのです。今後ロボコンで使用されるアクチュエータに関しては追いかけると少し面白いのかなと思います
@akinaka7543
@akinaka7543 Жыл бұрын
たぶん大きくないけど漫画やラノベのタイトルのつけかたのパラダイムも何通りかありそう。「奇数文字が売れるのだ時代」「4文字時代("らぶひな"とか)」「くそ長い説明調の時代」
@GroundAxe
@GroundAxe 3 күн бұрын
オブジェクト指向は設計者がオブジェクトの粒度と依存関係について正確に対処する必要があって、これは結局自分でやって保守してみて身につくものだろうとは思います。行き着く先は多分デザインパターンで言うところのコンポジットとマネージャーなんかだとは思いますが。
@アイスが食べたい-f6v
@アイスが食べたい-f6v 10 ай бұрын
Scala,便利そうだな、と思いつつまだ勉強していない。 アクセシビリティが豊富なところとかが魅力的。
@Ralsesta
@Ralsesta Жыл бұрын
穢したいわけじゃないし、怪我したいわけじゃないんですね
@QPSAexpress
@QPSAexpress Жыл бұрын
関数型は emacs + lisp で触って挫折しました。 思考回路の切り替えができなかったのと目が慣れませんでした。
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
うーむ、確かに。 infix ばかり触ってると、S 式はきついですね。 まあ、Lisp は高級言語じゃなくって、中級言語だから。 逆に、アセンブラの次が、lisp なんて人にはあまり違和感なく受け入れられたんですよね、昔は。
@taro_yamada180
@taro_yamada180 3 ай бұрын
スノーボードとは違ってスケートボードは足と板(いわゆるボードの事、スケトボードではデッキと言う)がくっ付いていない。 その状態でジャンプしようとしても足と板が離れてしまうから昔は板を掴んでジャンプをしていた。 しかし、ある時アラン・オーリー・ゲルファンドと言う少年がジャンプする時に板の後ろ側を後ろ側の足で下に弾いて、 斜めに傾いた板を前側の足で前に押す(こする)と板を掴まなくても足から離れずにジャンプする事に気づいた。 その時は平地ではなくて、皆さまがハーフパイプと言われると思いつくような場所での技ではあった。 そして、その後にスケートボード界の神の一人であるロドニー・ミューレンが1981年にまっ平な路面で アラン・オーリー・ゲルファンドがやったように板を掴まずスケートボードでジャンプする技を開発した。 これによってスケートボードは皆さんが想像するようなスタイルで遊ぶスポーツになった。 ちなみにこの技はアラン・オーリー・ゲルファンドにちなんでオーリーと呼ばれる。 そして平地でこのオーリーを開発したロドニー・ミューレンはこのオーリーをヒントに 平地で板を掴まずにジャンプしながら板を色んな方向に回転させる技を立て続けに開発した。 そしてそれらの技は今でもスケートボードを始めたばかりの少年たちのあこがれの技だ。
@otanoshimi4
@otanoshimi4 Жыл бұрын
身近なプログラムでは、システムコールを呼ばなければ出力も出来ないので、関数型プログラムっていうのは本来やりたい事の純粋な部分のプログラムの話って事なんでしょうね。 C++にラムダ関数っていうのがあるのですが、これで関数型プログラムって出来ないのでしょうか。例えばある関数の引数の部分に、べつの関数を定義し実行させるみたいな事ができるのですが。 オブジェクト指向型のデバックが難しいというのは同意です。オブジェクトに何らかの情報を組み込んでおかないと、今どのオブジェクトを見ているの?みたいな事が出てきます。
@okita0621
@okita0621 Жыл бұрын
ミニマリストプログラムと関数型の動画に期待
@sumim
@sumim Жыл бұрын
非プログラマーとの親和性など、時折ミズノさんが繰り出すコメントに「もしかしたらこの人は(今回説明の中心だったビヤーン・ストラウスストラップらの抽象データ型+継承のオブジェクト指向ではなく…)アラン・ケイが最初に提唱したメッセージングのオブジェクト指向をすでにご存知なのでは…」と妙に感心させられたりして楽しかったです。次の機会にはぜひ、ケイらのSmalltalkやその考え方(ダイナブック構想)にも言及いただければと思います!
@kiyotakainaba48
@kiyotakainaba48 Жыл бұрын
メッセージングモデル自身は、アクター理論から来ているので、元々ソフトを知ってるつもりの人、よりも思考とかのセンスのある水野さんのほうが理解はしやすいでしょうね。 ケイの偉いところは、アクター理論が Lisper の中にとどまってたのを、Simula というそれなりに普通の文法の言語に持ってきた事で、Smalltalk に仕上げたことでしょう。
@sumim
@sumim Жыл бұрын
@Kiyotaka Inaba さん、コメント痛み入ります。 ただ、残念ながらいろいろご記憶違いをなさっているようで、いささか根拠に乏しいご主張になってしまっているようにお見受けします^^; 以下、老婆心ながら。 >メッセージング~は、アクター理論から来ている ヒューイットのアクター理論は、ケイらのSmalltalk-72(とダール&ニガードのSimula)をアイデアのベースにしているので逆です。Actor Induction and Meta-evaluation [1973] のヒューイットの両者への謝辞を今一度ご確認ください。 >ケイの偉いところ ケイの「メッセージングを介し、旧来の代入スタイルを完全に排除した、新しいスタイルのプログラミング」というアイデアはSimula I のソースコードを解析するなどの中で閃いたものではありますが(The Early History of Smalltalk [1993] の「Sketchpad and Simula」および「"Object-oriented" Style」の項に関連記述あり)、そうして作られたSmalltalk-72の文法はSimula I とも 67 とも全くの別物です(同「(6) implies a LISPlike universal syntax, but…」からの記述と、SIMULA an ALGOL-Based Simulation Language [1966] や COMMON BASE LANGUAGE [1968] とをご比較的ください)。
C言語コミュニティの失敗たとえ「鼻から悪魔」【失敗たとえの森2】#69
33:09
ゆるコンピュータ科学ラジオ
Рет қаралды 64 М.
Apple peeling hack @scottsreality
00:37
_vector_
Рет қаралды 126 МЛН
GTA 5 vs GTA San Andreas Doctors🥼🚑
00:57
Xzit Thamer
Рет қаралды 32 МЛН
エンジニアあるある「友だちのサイトをとりあえず攻撃する」【雑談回1】#4
52:20
ゆるコンピュータ科学ラジオ
Рет қаралды 204 М.
関数型言語とは何か?(Haskellで学ぼう)【歴史~オブジェクト指向との比較】
50:53
ユースフル鳥羽眞嘉 / DX業務自動化チャンネル
Рет қаралды 13 М.
意味は、真理値を返す関数だった。【意味論勉強会】#336
47:06
ゆる言語学ラジオ
Рет қаралды 99 М.
読書で挫折しないコツ「ギャルになる」#355
1:22:06
ゆる言語学ラジオ
Рет қаралды 183 М.
集え!効果現象野郎!お気に入りの「○○効果」について語るよ!#63
49:42
ゆるコンピュータ科学ラジオ
Рет қаралды 85 М.
いったい何が違うの?C言語、C ++、C♯のそれぞれの特徴や違いを紹介
9:35
SAMURAI ENGINEER [侍エンジニア]
Рет қаралды 76 М.
LINEをすぐ返せない人の心理を考えよう #359
56:39
ゆる言語学ラジオ
Рет қаралды 130 М.