Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ソフトウェアと「動的平衡」 / software-and-dynamic-equilibrium

ソフトウェアと「動的平衡」 / software-and-dynamic-equilibrium

生物学における「動的平衡」をヒントとして、ソフトウェアに求められる性質やその特徴を考えてみる

参考資料:
・『新版 動的平衡: 生命はなぜそこに宿るのか』福岡伸一
・『科学者が発言するということ』八代嘉美 https://synodos.jp/science/1578/2
・『生体運動マシナリー図鑑』 http://motility-machinery.jp/?p=345
・『Dr. Alan Kay on the Meaning of "Object-Oriented Programming"』 Alan Kay http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en
・『prototypes vs classes was: Re: Sun's HotSpot』 Alan Kay http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html
・『「ソフトウェア工学」は矛盾語法か?』 Alan Kay http://metatoys.org/oxymoron/oxymoron.html
・『オブジェクト指向の概念の発明者は誰ですか?(改訂版)』 @sumim https://sumim.hatenablog.com/entry/20040525/p1
・『多能性幹細胞の種類』 SKIP (Stemcell Knowledge & Information Porta) https://skip.stemcellinformatics.org/knowledge/basic/06/
・『Clean Architecture 達人に学ぶソフトウェアの構造と設計』 Robert C. Martin(著) 角 征典、高木 正弘(訳)

philomagi

March 02, 2021
Tweet

More Decks by philomagi

Other Decks in Programming

Transcript

  1. 発表者 @Philomagi • WEB系プログラマ • 自称フロントエンド寄り ◦ 最近のマイブームは SelfとSmalltalk ◦

    Haskell と Golang にも最近手を出し始めた • たまにtwitterで怪電波を垂れ流してます 2
  2. • 生物学の文脈における言葉 ◦ 福岡伸一氏によって提示された言葉 ◦ 『新版 動的平衡』(福岡伸一)など • 一方、物理学・化学で既に「動的平衡」という言葉は定義さ れていたらしい

    ◦ しかしその意味は、福岡伸一の言う「動的平衡」とは異なる ◦ 既存の言葉を導入しながら、しかし既存とは異なる意味を与えてしまってい るという点について、福岡氏への批判もある 「動的平衡」という言葉 5
  3. 30 真のソフトウェア工学が開発されるまでの次善の策は、 あらゆる要素について極端に遅延結合な動的システム を使って開発する事だ。(...) そして沢山の偉大なアイデアは、70 年代の初期に XEROX PARC で Squeak

    の祖先である Smalltalk -- 最 初の完全にオブジェクト指向な開発操作環境 -- の発明 にも使われた。 Squeak はこの遅延結合をさらに押し進めたものだ。 『「ソフトウェア工学」は矛盾語法か?』より 「動的平衡」と遅延結合
  4. 31 真のソフトウェア工学が開発されるまでの次善の策は、 あらゆる要素について極端に遅延結合な動的システム を使って開発する事だ。(...) そして沢山の偉大なアイデアは、70 年代の初期に XEROX PARC で Squeak

    の祖先である Smalltalk -- 最 初の完全にオブジェクト指向な開発操作環境 -- の発明 にも使われた。 Squeak はこの遅延結合をさらに押し進めたものだ。 『「ソフトウェア工学」は矛盾語法か?』より 「動的平衡」と遅延結合
  5. 35 生命の「動的平衡」、オブジェクトの「メッセージ」 生命は、機械のようにいくつもの部品を組み立てただけではないという、厳 然たる事実がある。 (中略) その生命現象においては、機械とは違って、全体は部分の総和以上のなに ものかである。1+1は2ではなく、2プラスα。そのプラスαは何か。それはどこ から来るのか。 (中略) プラスαとは、端的に言えば、情報とエネルギーの出入りである。生物を物

    質のレベルからだけ考えると、ミクロなパーツからなるプラモデルに見えてし まう。しかし、パーツとパーツのあいだには、エネルギーと情報がやりとりさ れている。それがプラスαである。 生命現象のすべてはエネルギーと情報が織りなすその「効果」のほうにあ る。 『新版 動的平衡 生命はなぜそこに宿るのか』- p.145-147
  6. 36 生命の「動的平衡」、オブジェクトの「メッセージ」 生命は、機械のようにいくつもの部品を組み立てただけではないという、厳 然たる事実がある。 (中略) その生命現象においては、機械とは違って、全体は部分の総和以上のなに ものかである。1+1は2ではなく、2プラスα。そのプラスαは何か。それはどこ から来るのか。 (中略) プラスαとは、端的に言えば、情報とエネルギーの出入りである。生物を物

    質のレベルからだけ考えると、ミクロなパーツからなるプラモデルに見えてし まう。しかし、パーツとパーツのあいだには、エネルギーと情報がやりとりさ れている。それがプラスαである。 生命現象のすべてはエネルギーと情報が織りなすその「効果」のほうにあ る。 『新版 動的平衡 生命はなぜそこに宿るのか』- p.145-147
  7. I thought of objects being like biological cells and/or individual

    computers on a network, only able to communicate with messages. オブジェクトとは、ネットワーク上の生物細胞や個々のコン ピュータのようなもので、メッセージでしか通信できないものだと 考えていました。 『Dr. Alan Kay on the Meaning of "Object-Oriented Programming』より 日本語はDeepL + 発表者による 40 生命の「動的平衡」、オブジェクトの「メッセージ」
  8. 41 The big idea is "messaging" (...). (...) The key

    in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be . 大きなアイデアは「メッセージング」です(...)。 (...) 偉大で成長可能なシステムを作るための鍵は、モジュールの内部特性や振る舞いが どうあるべきかよりも、そのモジュールがどのようにコミュニケーションをとるかを設計 することにあります。 『prototypes vs classes was: Re: Sun's HotSpot』より 日本語はDeepL + 発表者による 生命の「動的平衡」、オブジェクトの「メッセージ」
  9. 42 The big idea is "messaging" (...). (...) The key

    in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be . 大きなアイデアは「メッセージング」です(...)。 (...) 偉大で成長可能なシステムを作るための鍵は、モジュールの内部特性や振る舞いが どうあるべきかよりも、そのモジュールがどのようにコミュニケーションをとるかを設計 することにあります。 『prototypes vs classes was: Re: Sun's HotSpot』より 日本語はDeepL + 発表者による 生命の「動的平衡」、オブジェクトの「メッセージ」
  10. • 『新版 動的平衡: 生命はなぜそこに宿るのか』 ◦ 福岡伸一 • 『科学者が発言するということ』 ◦ 八代嘉美

    ◦ https://synodos.jp/science/1578/2 • 『生体運動マシナリー図鑑』 ◦ http://motility-machinery.jp/?p=345 • 『Dr. Alan Kay on the Meaning of "Object-Oriented Programming"』 ◦ Alan Kay ◦ http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en • 『prototypes vs classes was: Re: Sun's HotSpot』 ◦ Alan Kay ◦ http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html 参考資料 47
  11. 参考資料 48 • 『「ソフトウェア工学」は矛盾語法か?』 ◦ Alan Kay ◦ http://metatoys.org/oxymoron/oxymoron.html •

    『オブジェクト指向の概念の発明者は誰ですか? (改訂版)』 ◦ @sumim ◦ https://sumim.hatenablog.com/entry/20040525/p1 • 『多能性幹細胞の種類』 ◦ SKIP (Stemcell Knowledge & Information Porta) ◦ https://skip.stemcellinformatics.org/knowledge/basic/06/ • 『Clean Architecture 達人に学ぶソフトウェアの構造と設計』 ◦ Robert C. Martin(著) ◦ 角 征典、高木 正弘(訳)