Reactive Programmingはデータフローマシンのソフトウェア版。Dataflow and Reactive Programming Systems, ReactiveX, Rx, RxJava, RxJsなど
2017-09-13


ASAHIネット([URL] )のjouwa/salonから。
---
 「Reactビギナーズガイド」のお買い上げがあって、JavaScriptのReact(いろんなReactがあるので、ReactJSと書くことにする)関係、そして、Reactive Programming関係をまとめようと思ったが、ReactJS関係は、昨年から今年にかけて、洋書は、あまりに出すぎて、情動失禁状態。\(^O^)/
 なので、ReactJSは、股の機械にして、今回は、もっと原理的、根本的、本質的なところ、データフローやReactive Programmingの解説本を。
 原理的、根本的なところ、本質的なところが理解できれば、ReactJSなんてのは、小手先の話なので、すぐ理解できるはず。\(^O^)/

 なお、ReactJSの数少ない日本語書籍は、いずれも、オライリー・ジャパン。
[URL]
Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門 単行本(ソフトカバー) 〓 2017/3/11
Stoyan Stefanov (著), 牧野 聡 (翻訳)
 オライリー・ジャパンにある紹介。
[URL]
Reactビギナーズガイド
――コンポーネントベースのフロントエンド開発入門

[URL]
入門 React ―コンポーネントベースのWebフロントエンド開発 大型本 〓 2015/4/3
Frankie Bagnardi (著), Jonathan Beebe (著), Richard Feldman (著), Tom Hallett (著), Simon HOjberg (著), Karl Mikkelsen (著), 宮崎 空 (翻訳)
 オライリー・ジャパンにある紹介。
[URL]
入門 React
――コンポーネントベースのWebフロントエンド開発

 さて、原理的、根本的、本質的な話のこと。
 関数型言語のブーム(Functional Programming, FP)があり、一昨年くらいから、
リアクティブプログラミング(Reactive Programming, RP)
関数型リアクティブプログラミング(Functional Reactive Programming, FRP)
が、話題になってきて、RxJSやRxJavaもあちこちで紹介されるようになった。
 それで、当時、気になって、調べた。
 ぼくの結論は、
「Reactive Programmingは、データフローマシンのソフトウェア版」
「Reactive Programmingは、データフローマシンのソフトウェアによる再発明」
 いずれにせよ、データフローのサブセット、一部の概念。
 データフローという、Reactive Programmingより、もっと原理的、根本的、本質的で広い概念のうち、一部を取り出して、ソフトウェアで実装したものが、Reactive Programming。そして、ReactJSになると、さらにその中で、ウェブアプリのフロントエンド部分に絞って使ったもの。というのが、ぼくの理解。
 要は、原理的、根本的、本質的な部分である、データフローがわかれば、ほかは、一丁上がり。\(^O^)/

 原理的、根本的、本質的な話として、今から35年から40年くらい前、1970年代から1980年代、ぼくの学生時代、非ノイマンアーキテクチャのマシンや、Lispマシン、Prologマシンといった高水準言語マシンの研究が盛んだった。
 そういう研究の中に、データフローマシンもあった。

関連:
[URL]
IBMのワトソン(Watson)も、Prologで動いている\(^O^)/
[URL]
超漢字、英語、エスペラント語対応キット無償提供。映画「TRON LEGACY」

 データフローマシンは、クロックで同期するマシンではなく、非同期動作のマシン。クロックレスコンピュータとも言われていた。
 研究の背景は、クロックを上げて高速化する手法は、いずれかの将来、クロック周波数の上限によって、性能が頭打ちになる。だから、クロックがない非同期動作のマシンが必要になるというわけ。

続きを読む


コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット