Reactive Programmingはデータフローマシンのソフトウェア版。Dataflow and Reactive Programming Systems, ReactiveX, Rx, RxJava, RxJsなど ― 2017年09月13日 09時21分55秒
ASAHIネット(http://asahi-net.jp )のjouwa/salonから。
---
「Reactビギナーズガイド」のお買い上げがあって、JavaScriptのReact(いろんなReactがあるので、ReactJSと書くことにする)関係、そして、Reactive Programming関係をまとめようと思ったが、ReactJS関係は、昨年から今年にかけて、洋書は、あまりに出すぎて、情動失禁状態。\(^O^)/
なので、ReactJSは、股の機械にして、今回は、もっと原理的、根本的、本質的なところ、データフローやReactive Programmingの解説本を。
原理的、根本的なところ、本質的なところが理解できれば、ReactJSなんてのは、小手先の話なので、すぐ理解できるはず。\(^O^)/
なお、ReactJSの数少ない日本語書籍は、いずれも、オライリー・ジャパン。
https://www.amazon.co.jp/exec/obidos/ASIN/4873117887/showshotcorne-22/
Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門 単行本(ソフトカバー) – 2017/3/11
Stoyan Stefanov (著), 牧野 聡 (翻訳)
オライリー・ジャパンにある紹介。
https://www.oreilly.co.jp/books/9784873117881/
Reactビギナーズガイド
――コンポーネントベースのフロントエンド開発入門
https://www.amazon.co.jp/exec/obidos/ASIN/4873117194/showshotcorne-22/
入門 React ―コンポーネントベースのWebフロントエンド開発 大型本 – 2015/4/3
Frankie Bagnardi (著), Jonathan Beebe (著), Richard Feldman (著), Tom Hallett (著), Simon HØjberg (著), Karl Mikkelsen (著), 宮崎 空 (翻訳)
オライリー・ジャパンにある紹介。
https://www.oreilly.co.jp/books/9784873117195/
入門 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マシンといった高水準言語マシンの研究が盛んだった。
そういう研究の中に、データフローマシンもあった。
関連:
http://iiyu.asablo.jp/blog/2014/07/29/7400910
IBMのワトソン(Watson)も、Prologで動いている\(^O^)/
http://iiyu.asablo.jp/blog/2009/09/01/4554249
超漢字、英語、エスペラント語対応キット無償提供。映画「TRON LEGACY」
データフローマシンは、クロックで同期するマシンではなく、非同期動作のマシン。クロックレスコンピュータとも言われていた。
研究の背景は、クロックを上げて高速化する手法は、いずれかの将来、クロック周波数の上限によって、性能が頭打ちになる。だから、クロックがない非同期動作のマシンが必要になるというわけ。
データフローマシンは、計算するデータが揃ったら、計算して、出力する。それが次のステップへのデータ入力になる。この連鎖で計算が進む。データが来るまで電気を食わないから、消費電力が少ないというのも利点とされた。
https://en.wikipedia.org/wiki/Dataflow_architecture
をみると、主流のコンピュータとしては流行らなかったが、
digital signal processing, network routing, graphics processing, telemetry
では実績がある。
デジタル信号処理のDSPや、ルータのチップは、データフローアーキテクチャの専用チップという扱い。
主流になれなかったのは、従来のCPUには、すでに膨大な数のソフトやツールがあり、それに多額の投資をし、儲けている企業がたくさんあり、いわゆるエコシステム、生態系が出来上がっていて、みな、それで飯を食っているので、それを覆すだけの経済的なメリットが出なかったわけです。
https://stackoverflow.com/questions/530180/what-happened-to-clockless-computer-chips
What happened to clockless computer chips?
の回答に、インテルが3倍速くて消費電力が半分という非同期CPUを作ったが、商売にならないと判断したというのがありますね。
https://en.wikipedia.org/wiki/Dataflow
をみると、
The most obvious example of data-flow programming is the subset known as reactive programming with spreadsheets. As a user enters new values, they are instantly transmitted to the next logical "actor" or formula for calculation.
なんてのがあるね。
関連:
http://iiyu.asablo.jp/blog/2017/09/06/8671185
VisiCalcは、世界初のスプレッドシートソフト(表計算ソフト)ではなかった!?
https://en.wikipedia.org/wiki/Asynchronous_circuit
の
https://en.wikipedia.org/wiki/Asynchronous_circuit#Asynchronous_CPU
をみると、1950年代、1960年代のマシンもあるね。
プログラミング言語に、データフローを取り入れたものもあって、ここで紹介したことがあるのは、
http://iiyu.asablo.jp/blog/2008/01/02/2541305
Oz/Mozart, CTMの補足
で書いた、プログラミング言語Ozの、その名もずばり、データフロー変数。
https://en.wikipedia.org/wiki/Oz_(programming_language)
あ、Lucidもあった。
https://en.wikipedia.org/wiki/Lucid_(programming_language)
関連:
http://iiyu.asablo.jp/blog/2008/01/02/2541270
Erlang, Oz/Mozart, Prolog, 単一化
http://iiyu.asablo.jp/blog/2008/01/02/2541305
Oz/Mozart, CTMの補足
http://iiyu.asablo.jp/blog/2006/06/12/401764
ガウディ本(CTMCP)の紹介と懐かしい話など
http://iiyu.asablo.jp/blog/2007/11/14/1908371
CTM/CTMCP/ガウディ本で気になった訳語
データフローに関係する理論、計算モデル方面で、当時、よく名前が出ていたのが、MITのHewitt(ヒューイット)先生のActorモデル。
Actorモデルの「全てのものはアクターである」という考えを、おれは、「大乗仏教だ」などと、昔、電脳騒乱節という雑誌連載で、ほざいたことがあり、一部に大ウケだった。\(^O^)/ 本になった、4,5冊出た電脳騒乱節のどこかにそれがあるはず。暇な人は、アマゾンで検索してみてください。
内容を確認してないが、タイトル的に、これかも。
https://www.amazon.co.jp/exec/obidos/ASIN/4874084567/showshotcorne-22/
電脳騒乱節〈VOL.3〉スペース空海即身成仏編 (リターンブックス) 単行本 – 1991/10
中村 正三郎 (著)
単行本
¥ 978 より
¥ 978 より 4 中古品の出品
あれれ、こっちかな。
https://www.amazon.co.jp/exec/obidos/ASIN/4874085423/showshotcorne-22/
電脳騒乱節〈オブジェクト指向臨死体験編〉 単行本 – 1993/2
中村 正三郎 (著)
単行本
¥ 202 より
¥ 202 より 6 中古品の出品
「電脳曼陀羅」や「星降る夜のパソコン情話」では、書いてないと思うんだけど。
Actorは、プログラミング言語Erlang, プログラミング言語ScalaのAkkaなど、いろんなところで実装されていますね。
ほかに、クイックソートを発明したHoare(ホーア)先生のCSP(Communicating Sequential Processes)があった。
https://ja.wikipedia.org/wiki/アクターモデル
https://ja.wikipedia.org/wiki/Communicating_Sequential_Processes
日本語の本は、ほとんど出てないみたいなので、洋書中心。
日本のアマゾンでのリンクを示しているが、何度も書くが、電子書籍で買うなら、出版社のサイトで買うほうが、Kindle以外に、PDF, EPUBもあるので便利。
●Dataflow and Reactive Programming Systems
Reactive Programmingって、データフローのソフトウェア版なんだけど、そういう解説をした本がないかなあと思って探していて、去年、見つけた本。
この本は、大変いいです。
出版社に行って、目次をみてもらうとわかるが、原理的、根本的、本質的な部分から理解したい人に、お薦め。
出版元に行って、電子書籍を買ったが、珍しく、索引がない。その点は、だめじゃん。
日本の出版社は、リフロー型の電子書籍は、索引をつけるだけの技術力、資本力がなく、手抜きのクソ電子書籍しか作れないが、欧米の出版社は、少なくともぼくがよく買う、Packt, Manning, O'Reilly Mediaは、ちゃんとやっていると思っていたが、それ以外は、案外、だめなのかもね。
https://www.amazon.co.jp/exec/obidos/ASIN/1497422442/showshotcorne-22/
Dataflow and Reactive Programming Systems: A Practical Guide to Developing Dataflow and Reactive Programming Systems (英語) ペーパーバック – 2014/4/30
Matt Carkci (著)
ペーパーバック
¥ 5,344
https://www.amazon.co.jp/exec/obidos/ASIN/B00KNZFVKQ/showshotcorne-22/
Dataflow and Reactive Programming Systems (English Edition) Kindle版
Matt Carkci (著)
Kindle版
¥ 3,054
Leanpubにある紹介。
https://leanpub.com/dataflowbook
Dataflow and Reactive Programming Systems
A Practical Guide to Developing Dataflow and Reactive Programming Systems
Matt Carkci
●Reactive Messaging Patterns with the Actor Model
次は、いかにもActorモデルの実装っぽい、分散オブジェクトのAkkaとScalaの本。
以前、調べたときより、ハードカバーは値上がりして、Kindle版は値下がりしている。
https://www.amazon.co.jp/exec/obidos/ASIN/0133846830/showshotcorne-22/
Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka (英語) ハードカバー – 2015/8/17
Vaughn Vernon (著)
ハードカバー
ハードカバー
¥ 5,780
¥ 6,171 より 3 中古品の出品
¥ 4,737 より 19 新品
以前は、
ハードカバー
¥ 4,260
¥ 10,298 より 2 中古品の出品
¥ 4,007 より 7 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B011S8YC5G/showshotcorne-22/
Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka Kindle版
Vaughn Vernon (著)
Kindle版
¥ 2,529
以前は、
¥ 3,264
■ReactiveX
いろんな言語で実装されている、Reactive Programmingのフレームワークをまとめて、ReactiveXと呼んでいる。
次の公式サイトに行くと、英語だけど、いろんな入門記事が読める。
http://reactivex.io
ReactiveX
Rxは、Reactive Extensionの略。
■Rx for .NETの本
●Introduction to Rx
.NETで実装されたRxが、ブームの先駆け。
https://www.amazon.co.jp/exec/obidos/ASIN/B008GM3YPM/showshotcorne-22/
Introduction to Rx: A step by step guide to the Reactive Extensions to .NET (English Edition) Kindle版
Lee Campbell (著)
Kindle版
¥ 1,174
●Programming Reactive Extensions and LINQ
https://www.amazon.co.jp/exec/obidos/ASIN/1430237473/showshotcorne-22/
Programming Reactive Extensions and LINQ (Expert's Voice in .NET) (英語) ペーパーバック – 2011/10/31
Jesse Liberty (著), Paul Betts (著)
ペーパーバック
¥ 4,716
¥ 4,329 より 3 中古品の出品
¥ 4,573 より 26 新品
●Rx.NET in Action
次は、出版社のManningに行って、 ディスカウントコードとして、「dresherdoc」を入れると、39%のディスカウントをしてくれるらしい。
https://www.amazon.co.jp/exec/obidos/ASIN/1617293067/showshotcorne-22/
Rx.NET in Action (英語) ペーパーバック – 2017/5/8
Erik Meijer (はしがき), Tamir Dresher (著)
ペーパーバック
¥ 4,877 より
¥ 5,771 より 1 中古品の出品
¥ 4,877 より 11 新品
Manningにある紹介。電子書籍$39.99。
https://www.manning.com/books/rx-dot-net-in-action
Rx.NET in Action
Tamir Dresher
■RxJavaの本
RxJavaで、Reactive Programmingが、知られるようになったと思う。
●RxJavaリアクティブプログラミング
珍しい日本語の本。
https://www.amazon.co.jp/exec/obidos/ASIN/4798149519/showshotcorne-22/
RxJavaリアクティブプログラミング (CodeZine BOOKS) 単行本(ソフトカバー) – 2017/2/17
須田 智之 (著)
単行本(ソフトカバー)
¥ 3,888
¥ 3,690 より 7 中古品の出品
¥ 3,888 より 4 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B06XGYSHCN/showshotcorne-22/
RxJavaリアクティブプログラミング Kindle版
須田智之 (著)
Kindle版
¥ 3,600
●RxJava Essentials
https://www.amazon.co.jp/exec/obidos/ASIN/1784399108/showshotcorne-22/
RxJava Essentials: Learn Reactive Programming to Create Awesome Android and Java Apps (英語) ペーパーバック – 2015/5/27
Ivan Morgillo (著)
ペーパーバック
¥ 2,080 より
¥ 2,080 より 4 中古品の出品
¥ 2,533 より 6 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B00YEVZ76S/showshotcorne-22/
RxJava Essentials Kindle版
Ivan Morgillo (著)
Kindle版
¥ 2,429
Packtにある紹介。いま、$23.99が、$4.80で買える! Back to Schoolセール、新学期セールだから?
https://www.packtpub.com/application-development/rxjava-essentials
RxJava Essentials
Ivan Morgillo
●Learning Rxjava
https://www.amazon.co.jp/exec/obidos/ASIN/1787120422/showshotcorne-22/
Learning Rxjava (英語) ペーパーバック – 2017/6/20
Thomas Nield (著)
ペーパーバック
¥ 5,499
¥ 5,499 より 5 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B01N1UNBME/showshotcorne-22/
Learning RxJava 1 , Kindle版
Thomas Nield (著)
Kindle版
¥ 4,503
Packtにある紹介。いま、$35.99が、$10で買える。これも、Back to Schoolセール、新学期セール?
https://www.packtpub.com/application-development/learning-rxjava
Learning RxJava
Thomas Nield
●Learning Reactive Programming With Java 8
https://www.amazon.co.jp/exec/obidos/ASIN/1785288725/showshotcorne-22/
Learning Reactive Programming With Java 8: Learn How to Use Rxjava and Its Reactive Obervables to Build Fast, Concurrent, and Powerful Applications Through Detailed Examples (英語) ペーパーバック – 2015/6/24
Nickolay Tsvetinov (著)
ペーパーバック
¥ 4,742
¥ 8,369 より 2 中古品の出品
¥ 4,484 より 7 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B00YSILAUO/showshotcorne-22/
Learning Reactive Programming with Java 8 Kindle版
Nickolay Tsvetinov (著)
Kindle版
¥ 4,391
Packtにある紹介。いま、$35.99が、$7.20で買える。これも、Back to Schoolセール、新学期セール?
https://www.packtpub.com/application-development/learning-reactive-programming-java-8
Learning Reactive Programming with Java 8
Nickolay Tsvetinov
●Reactive Java Programming
¥11,325なんて、デタラメな値段をつけている奴がいるね。
https://www.amazon.co.jp/exec/obidos/ASIN/1484214293/showshotcorne-22/
Reactive Java Programming (英語) ペーパーバック – 2016/11/4
Andrea Maglie (著)
ペーパーバック
¥ 2,927
¥ 11,325 より 1 中古品の出品
¥ 1,824 より 12 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B01M6DOV0M/showshotcorne-22/
Reactive Java Programming 1st ed. , Kindle版
Andrea Maglie (著)
Kindle版
¥ 2,710
APressにある紹介。
http://www.apress.com/us/book/9781484214299
Reactive Java Programming
Authors: Maglie, Andrea
●Reactive Programming with RxJava
https://www.amazon.co.jp/exec/obidos/ASIN/1491931655/showshotcorne-22/
Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications (英語) ペーパーバック – 2016/10/27
Tomasz Nurkiewicz (著), Ben Christensen (著)
ペーパーバック
¥ 5,308
¥ 4,355 より 5 中古品の出品
¥ 4,131 より 26 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B01LZQGIIC/showshotcorne-22/
Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications 1 , Kindle版
Tomasz Nurkiewicz (著), Ben Christensen (著)
Kindle版
¥ 3,402
オライリー本家、 O'Reilly Mediaにある紹介。
オライリー本家は、もう、自分では、電子書籍は売らず、Safariというクラウドで読んでくれという商売することになったもんね。
http://shop.oreilly.com/product/0636920042228.do
Reactive Programming with RxJava
Creating Asynchronous, Event-Based Applications
By Ben Christensen, Tomasz Nurkiewicz
Publisher: O'Reilly Media
Release Date: October 2016
Pages: 372
●Reactive Programming on Android with RxJava
https://www.amazon.co.jp/exec/obidos/ASIN/B073L5JB27/showshotcorne-22/
Reactive Programming on Android with RxJava (English Edition) Kindle版
Christopher Arriola (著), Angus Huang (著)
Kindle版
¥ 2,806 Kindle 価格
Leanpubにある紹介。
https://leanpub.com/reactiveandroid
Reactive Programming on Android with RxJava
●Grokking FRP
まだ、完成版出版前のMEAP状態だが。
https://www.amazon.co.jp/exec/obidos/ASIN/1617293369/showshotcorne-22/
Grokking FRP: With Reactivex and FRP (英語) ペーパーバック – 2017/10/31
Timo Tuominen (著)
ペーパーバック
¥ 5,330
¥ 5,330 より 1 新品
Manningにある紹介。
https://www.manning.com/books/grokking-frp
Grokking FRP
Timo Tuominen
MEAP began June 2016 Publication in October 2017 (estimated)
ISBN 9781617293368 325 pages (estimated) printed in black & white
■RxJSの本
●Reactive Programming With Rxjs
https://www.amazon.co.jp/exec/obidos/ASIN/1680501291/showshotcorne-22/
Reactive Programming With Rxjs: Untangle Your Asynchronous Javascript Code (英語) ペーパーバック – 2015/12/19
Sergi Mansilla (著), Rebecca Gulick (編集)
ペーパーバック
¥ 1,827
¥ 2,035 より 4 中古品の出品
¥ 1,342 より 11 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B01ATYZTI4/showshotcorne-22/
Reactive Programming with RxJS: Untangle Your Asynchronous JavaScript Code 1 , Kindle版
Sergi Mansilla (著)
Kindle版
¥ 1,887
●Reactive Programming With Rxjs 5
新版がある。
https://www.amazon.co.jp/exec/obidos/ASIN/1680502476/showshotcorne-22/
Reactive Programming With Rxjs 5: Untangle Your Asynchronous Javascript Code (英語) ペーパーバック – 2017/11/25
Sergi Mansilla (著)
ペーパーバック
¥ 3,921
¥ 3,921 より 1 新品
Pragmatic Bookshelfにある紹介。
https://pragprog.com/book/smreactjs5/reactive-programming-with-rxjs-5
Reactive Programming with RxJS 5
Untangle Your Asynchronous JavaScript Code
by Sergi Mansilla
●RxJS in Action
https://www.amazon.co.jp/exec/obidos/ASIN/1617293415/showshotcorne-22/
RxJS in Action: Covers Rxjs 5 (英語) ペーパーバック – 2017/8/4
Ben Lesh (はしがき), Paul P. Daniels (著), Luis Atencio (著)
ペーパーバック
¥ 5,855
¥ 4,947 より 10 新品
Manningにある紹介。
https://www.manning.com/books/rxjs-in-action
RxJS in Action
Paul P. Daniels and Luis Atencio
Foreword by Ben Lesh
July 2017 ISBN 9781617293412 352 pages printed in black & white
---
「Reactビギナーズガイド」のお買い上げがあって、JavaScriptのReact(いろんなReactがあるので、ReactJSと書くことにする)関係、そして、Reactive Programming関係をまとめようと思ったが、ReactJS関係は、昨年から今年にかけて、洋書は、あまりに出すぎて、情動失禁状態。\(^O^)/
なので、ReactJSは、股の機械にして、今回は、もっと原理的、根本的、本質的なところ、データフローやReactive Programmingの解説本を。
原理的、根本的なところ、本質的なところが理解できれば、ReactJSなんてのは、小手先の話なので、すぐ理解できるはず。\(^O^)/
なお、ReactJSの数少ない日本語書籍は、いずれも、オライリー・ジャパン。
https://www.amazon.co.jp/exec/obidos/ASIN/4873117887/showshotcorne-22/
Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門 単行本(ソフトカバー) – 2017/3/11
Stoyan Stefanov (著), 牧野 聡 (翻訳)
オライリー・ジャパンにある紹介。
https://www.oreilly.co.jp/books/9784873117881/
Reactビギナーズガイド
――コンポーネントベースのフロントエンド開発入門
https://www.amazon.co.jp/exec/obidos/ASIN/4873117194/showshotcorne-22/
入門 React ―コンポーネントベースのWebフロントエンド開発 大型本 – 2015/4/3
Frankie Bagnardi (著), Jonathan Beebe (著), Richard Feldman (著), Tom Hallett (著), Simon HØjberg (著), Karl Mikkelsen (著), 宮崎 空 (翻訳)
オライリー・ジャパンにある紹介。
https://www.oreilly.co.jp/books/9784873117195/
入門 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マシンといった高水準言語マシンの研究が盛んだった。
そういう研究の中に、データフローマシンもあった。
関連:
http://iiyu.asablo.jp/blog/2014/07/29/7400910
IBMのワトソン(Watson)も、Prologで動いている\(^O^)/
http://iiyu.asablo.jp/blog/2009/09/01/4554249
超漢字、英語、エスペラント語対応キット無償提供。映画「TRON LEGACY」
データフローマシンは、クロックで同期するマシンではなく、非同期動作のマシン。クロックレスコンピュータとも言われていた。
研究の背景は、クロックを上げて高速化する手法は、いずれかの将来、クロック周波数の上限によって、性能が頭打ちになる。だから、クロックがない非同期動作のマシンが必要になるというわけ。
データフローマシンは、計算するデータが揃ったら、計算して、出力する。それが次のステップへのデータ入力になる。この連鎖で計算が進む。データが来るまで電気を食わないから、消費電力が少ないというのも利点とされた。
https://en.wikipedia.org/wiki/Dataflow_architecture
をみると、主流のコンピュータとしては流行らなかったが、
digital signal processing, network routing, graphics processing, telemetry
では実績がある。
デジタル信号処理のDSPや、ルータのチップは、データフローアーキテクチャの専用チップという扱い。
主流になれなかったのは、従来のCPUには、すでに膨大な数のソフトやツールがあり、それに多額の投資をし、儲けている企業がたくさんあり、いわゆるエコシステム、生態系が出来上がっていて、みな、それで飯を食っているので、それを覆すだけの経済的なメリットが出なかったわけです。
https://stackoverflow.com/questions/530180/what-happened-to-clockless-computer-chips
What happened to clockless computer chips?
の回答に、インテルが3倍速くて消費電力が半分という非同期CPUを作ったが、商売にならないと判断したというのがありますね。
https://en.wikipedia.org/wiki/Dataflow
をみると、
The most obvious example of data-flow programming is the subset known as reactive programming with spreadsheets. As a user enters new values, they are instantly transmitted to the next logical "actor" or formula for calculation.
なんてのがあるね。
関連:
http://iiyu.asablo.jp/blog/2017/09/06/8671185
VisiCalcは、世界初のスプレッドシートソフト(表計算ソフト)ではなかった!?
https://en.wikipedia.org/wiki/Asynchronous_circuit
の
https://en.wikipedia.org/wiki/Asynchronous_circuit#Asynchronous_CPU
をみると、1950年代、1960年代のマシンもあるね。
プログラミング言語に、データフローを取り入れたものもあって、ここで紹介したことがあるのは、
http://iiyu.asablo.jp/blog/2008/01/02/2541305
Oz/Mozart, CTMの補足
で書いた、プログラミング言語Ozの、その名もずばり、データフロー変数。
https://en.wikipedia.org/wiki/Oz_(programming_language)
あ、Lucidもあった。
https://en.wikipedia.org/wiki/Lucid_(programming_language)
関連:
http://iiyu.asablo.jp/blog/2008/01/02/2541270
Erlang, Oz/Mozart, Prolog, 単一化
http://iiyu.asablo.jp/blog/2008/01/02/2541305
Oz/Mozart, CTMの補足
http://iiyu.asablo.jp/blog/2006/06/12/401764
ガウディ本(CTMCP)の紹介と懐かしい話など
http://iiyu.asablo.jp/blog/2007/11/14/1908371
CTM/CTMCP/ガウディ本で気になった訳語
データフローに関係する理論、計算モデル方面で、当時、よく名前が出ていたのが、MITのHewitt(ヒューイット)先生のActorモデル。
Actorモデルの「全てのものはアクターである」という考えを、おれは、「大乗仏教だ」などと、昔、電脳騒乱節という雑誌連載で、ほざいたことがあり、一部に大ウケだった。\(^O^)/ 本になった、4,5冊出た電脳騒乱節のどこかにそれがあるはず。暇な人は、アマゾンで検索してみてください。
内容を確認してないが、タイトル的に、これかも。
https://www.amazon.co.jp/exec/obidos/ASIN/4874084567/showshotcorne-22/
電脳騒乱節〈VOL.3〉スペース空海即身成仏編 (リターンブックス) 単行本 – 1991/10
中村 正三郎 (著)
単行本
¥ 978 より
¥ 978 より 4 中古品の出品
あれれ、こっちかな。
https://www.amazon.co.jp/exec/obidos/ASIN/4874085423/showshotcorne-22/
電脳騒乱節〈オブジェクト指向臨死体験編〉 単行本 – 1993/2
中村 正三郎 (著)
単行本
¥ 202 より
¥ 202 より 6 中古品の出品
「電脳曼陀羅」や「星降る夜のパソコン情話」では、書いてないと思うんだけど。
Actorは、プログラミング言語Erlang, プログラミング言語ScalaのAkkaなど、いろんなところで実装されていますね。
ほかに、クイックソートを発明したHoare(ホーア)先生のCSP(Communicating Sequential Processes)があった。
https://ja.wikipedia.org/wiki/アクターモデル
https://ja.wikipedia.org/wiki/Communicating_Sequential_Processes
日本語の本は、ほとんど出てないみたいなので、洋書中心。
日本のアマゾンでのリンクを示しているが、何度も書くが、電子書籍で買うなら、出版社のサイトで買うほうが、Kindle以外に、PDF, EPUBもあるので便利。
●Dataflow and Reactive Programming Systems
Reactive Programmingって、データフローのソフトウェア版なんだけど、そういう解説をした本がないかなあと思って探していて、去年、見つけた本。
この本は、大変いいです。
出版社に行って、目次をみてもらうとわかるが、原理的、根本的、本質的な部分から理解したい人に、お薦め。
出版元に行って、電子書籍を買ったが、珍しく、索引がない。その点は、だめじゃん。
日本の出版社は、リフロー型の電子書籍は、索引をつけるだけの技術力、資本力がなく、手抜きのクソ電子書籍しか作れないが、欧米の出版社は、少なくともぼくがよく買う、Packt, Manning, O'Reilly Mediaは、ちゃんとやっていると思っていたが、それ以外は、案外、だめなのかもね。
https://www.amazon.co.jp/exec/obidos/ASIN/1497422442/showshotcorne-22/
Dataflow and Reactive Programming Systems: A Practical Guide to Developing Dataflow and Reactive Programming Systems (英語) ペーパーバック – 2014/4/30
Matt Carkci (著)
ペーパーバック
¥ 5,344
https://www.amazon.co.jp/exec/obidos/ASIN/B00KNZFVKQ/showshotcorne-22/
Dataflow and Reactive Programming Systems (English Edition) Kindle版
Matt Carkci (著)
Kindle版
¥ 3,054
Leanpubにある紹介。
https://leanpub.com/dataflowbook
Dataflow and Reactive Programming Systems
A Practical Guide to Developing Dataflow and Reactive Programming Systems
Matt Carkci
●Reactive Messaging Patterns with the Actor Model
次は、いかにもActorモデルの実装っぽい、分散オブジェクトのAkkaとScalaの本。
以前、調べたときより、ハードカバーは値上がりして、Kindle版は値下がりしている。
https://www.amazon.co.jp/exec/obidos/ASIN/0133846830/showshotcorne-22/
Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka (英語) ハードカバー – 2015/8/17
Vaughn Vernon (著)
ハードカバー
ハードカバー
¥ 5,780
¥ 6,171 より 3 中古品の出品
¥ 4,737 より 19 新品
以前は、
ハードカバー
¥ 4,260
¥ 10,298 より 2 中古品の出品
¥ 4,007 より 7 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B011S8YC5G/showshotcorne-22/
Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka Kindle版
Vaughn Vernon (著)
Kindle版
¥ 2,529
以前は、
¥ 3,264
■ReactiveX
いろんな言語で実装されている、Reactive Programmingのフレームワークをまとめて、ReactiveXと呼んでいる。
次の公式サイトに行くと、英語だけど、いろんな入門記事が読める。
http://reactivex.io
ReactiveX
Rxは、Reactive Extensionの略。
■Rx for .NETの本
●Introduction to Rx
.NETで実装されたRxが、ブームの先駆け。
https://www.amazon.co.jp/exec/obidos/ASIN/B008GM3YPM/showshotcorne-22/
Introduction to Rx: A step by step guide to the Reactive Extensions to .NET (English Edition) Kindle版
Lee Campbell (著)
Kindle版
¥ 1,174
●Programming Reactive Extensions and LINQ
https://www.amazon.co.jp/exec/obidos/ASIN/1430237473/showshotcorne-22/
Programming Reactive Extensions and LINQ (Expert's Voice in .NET) (英語) ペーパーバック – 2011/10/31
Jesse Liberty (著), Paul Betts (著)
ペーパーバック
¥ 4,716
¥ 4,329 より 3 中古品の出品
¥ 4,573 より 26 新品
●Rx.NET in Action
次は、出版社のManningに行って、 ディスカウントコードとして、「dresherdoc」を入れると、39%のディスカウントをしてくれるらしい。
https://www.amazon.co.jp/exec/obidos/ASIN/1617293067/showshotcorne-22/
Rx.NET in Action (英語) ペーパーバック – 2017/5/8
Erik Meijer (はしがき), Tamir Dresher (著)
ペーパーバック
¥ 4,877 より
¥ 5,771 より 1 中古品の出品
¥ 4,877 より 11 新品
Manningにある紹介。電子書籍$39.99。
https://www.manning.com/books/rx-dot-net-in-action
Rx.NET in Action
Tamir Dresher
■RxJavaの本
RxJavaで、Reactive Programmingが、知られるようになったと思う。
●RxJavaリアクティブプログラミング
珍しい日本語の本。
https://www.amazon.co.jp/exec/obidos/ASIN/4798149519/showshotcorne-22/
RxJavaリアクティブプログラミング (CodeZine BOOKS) 単行本(ソフトカバー) – 2017/2/17
須田 智之 (著)
単行本(ソフトカバー)
¥ 3,888
¥ 3,690 より 7 中古品の出品
¥ 3,888 より 4 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B06XGYSHCN/showshotcorne-22/
RxJavaリアクティブプログラミング Kindle版
須田智之 (著)
Kindle版
¥ 3,600
●RxJava Essentials
https://www.amazon.co.jp/exec/obidos/ASIN/1784399108/showshotcorne-22/
RxJava Essentials: Learn Reactive Programming to Create Awesome Android and Java Apps (英語) ペーパーバック – 2015/5/27
Ivan Morgillo (著)
ペーパーバック
¥ 2,080 より
¥ 2,080 より 4 中古品の出品
¥ 2,533 より 6 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B00YEVZ76S/showshotcorne-22/
RxJava Essentials Kindle版
Ivan Morgillo (著)
Kindle版
¥ 2,429
Packtにある紹介。いま、$23.99が、$4.80で買える! Back to Schoolセール、新学期セールだから?
https://www.packtpub.com/application-development/rxjava-essentials
RxJava Essentials
Ivan Morgillo
●Learning Rxjava
https://www.amazon.co.jp/exec/obidos/ASIN/1787120422/showshotcorne-22/
Learning Rxjava (英語) ペーパーバック – 2017/6/20
Thomas Nield (著)
ペーパーバック
¥ 5,499
¥ 5,499 より 5 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B01N1UNBME/showshotcorne-22/
Learning RxJava 1 , Kindle版
Thomas Nield (著)
Kindle版
¥ 4,503
Packtにある紹介。いま、$35.99が、$10で買える。これも、Back to Schoolセール、新学期セール?
https://www.packtpub.com/application-development/learning-rxjava
Learning RxJava
Thomas Nield
●Learning Reactive Programming With Java 8
https://www.amazon.co.jp/exec/obidos/ASIN/1785288725/showshotcorne-22/
Learning Reactive Programming With Java 8: Learn How to Use Rxjava and Its Reactive Obervables to Build Fast, Concurrent, and Powerful Applications Through Detailed Examples (英語) ペーパーバック – 2015/6/24
Nickolay Tsvetinov (著)
ペーパーバック
¥ 4,742
¥ 8,369 より 2 中古品の出品
¥ 4,484 より 7 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B00YSILAUO/showshotcorne-22/
Learning Reactive Programming with Java 8 Kindle版
Nickolay Tsvetinov (著)
Kindle版
¥ 4,391
Packtにある紹介。いま、$35.99が、$7.20で買える。これも、Back to Schoolセール、新学期セール?
https://www.packtpub.com/application-development/learning-reactive-programming-java-8
Learning Reactive Programming with Java 8
Nickolay Tsvetinov
●Reactive Java Programming
¥11,325なんて、デタラメな値段をつけている奴がいるね。
https://www.amazon.co.jp/exec/obidos/ASIN/1484214293/showshotcorne-22/
Reactive Java Programming (英語) ペーパーバック – 2016/11/4
Andrea Maglie (著)
ペーパーバック
¥ 2,927
¥ 11,325 より 1 中古品の出品
¥ 1,824 より 12 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B01M6DOV0M/showshotcorne-22/
Reactive Java Programming 1st ed. , Kindle版
Andrea Maglie (著)
Kindle版
¥ 2,710
APressにある紹介。
http://www.apress.com/us/book/9781484214299
Reactive Java Programming
Authors: Maglie, Andrea
●Reactive Programming with RxJava
https://www.amazon.co.jp/exec/obidos/ASIN/1491931655/showshotcorne-22/
Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications (英語) ペーパーバック – 2016/10/27
Tomasz Nurkiewicz (著), Ben Christensen (著)
ペーパーバック
¥ 5,308
¥ 4,355 より 5 中古品の出品
¥ 4,131 より 26 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B01LZQGIIC/showshotcorne-22/
Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications 1 , Kindle版
Tomasz Nurkiewicz (著), Ben Christensen (著)
Kindle版
¥ 3,402
オライリー本家、 O'Reilly Mediaにある紹介。
オライリー本家は、もう、自分では、電子書籍は売らず、Safariというクラウドで読んでくれという商売することになったもんね。
http://shop.oreilly.com/product/0636920042228.do
Reactive Programming with RxJava
Creating Asynchronous, Event-Based Applications
By Ben Christensen, Tomasz Nurkiewicz
Publisher: O'Reilly Media
Release Date: October 2016
Pages: 372
●Reactive Programming on Android with RxJava
https://www.amazon.co.jp/exec/obidos/ASIN/B073L5JB27/showshotcorne-22/
Reactive Programming on Android with RxJava (English Edition) Kindle版
Christopher Arriola (著), Angus Huang (著)
Kindle版
¥ 2,806 Kindle 価格
Leanpubにある紹介。
https://leanpub.com/reactiveandroid
Reactive Programming on Android with RxJava
●Grokking FRP
まだ、完成版出版前のMEAP状態だが。
https://www.amazon.co.jp/exec/obidos/ASIN/1617293369/showshotcorne-22/
Grokking FRP: With Reactivex and FRP (英語) ペーパーバック – 2017/10/31
Timo Tuominen (著)
ペーパーバック
¥ 5,330
¥ 5,330 より 1 新品
Manningにある紹介。
https://www.manning.com/books/grokking-frp
Grokking FRP
Timo Tuominen
MEAP began June 2016 Publication in October 2017 (estimated)
ISBN 9781617293368 325 pages (estimated) printed in black & white
■RxJSの本
●Reactive Programming With Rxjs
https://www.amazon.co.jp/exec/obidos/ASIN/1680501291/showshotcorne-22/
Reactive Programming With Rxjs: Untangle Your Asynchronous Javascript Code (英語) ペーパーバック – 2015/12/19
Sergi Mansilla (著), Rebecca Gulick (編集)
ペーパーバック
¥ 1,827
¥ 2,035 より 4 中古品の出品
¥ 1,342 より 11 新品
https://www.amazon.co.jp/exec/obidos/ASIN/B01ATYZTI4/showshotcorne-22/
Reactive Programming with RxJS: Untangle Your Asynchronous JavaScript Code 1 , Kindle版
Sergi Mansilla (著)
Kindle版
¥ 1,887
●Reactive Programming With Rxjs 5
新版がある。
https://www.amazon.co.jp/exec/obidos/ASIN/1680502476/showshotcorne-22/
Reactive Programming With Rxjs 5: Untangle Your Asynchronous Javascript Code (英語) ペーパーバック – 2017/11/25
Sergi Mansilla (著)
ペーパーバック
¥ 3,921
¥ 3,921 より 1 新品
Pragmatic Bookshelfにある紹介。
https://pragprog.com/book/smreactjs5/reactive-programming-with-rxjs-5
Reactive Programming with RxJS 5
Untangle Your Asynchronous JavaScript Code
by Sergi Mansilla
●RxJS in Action
https://www.amazon.co.jp/exec/obidos/ASIN/1617293415/showshotcorne-22/
RxJS in Action: Covers Rxjs 5 (英語) ペーパーバック – 2017/8/4
Ben Lesh (はしがき), Paul P. Daniels (著), Luis Atencio (著)
ペーパーバック
¥ 5,855
¥ 4,947 より 10 新品
Manningにある紹介。
https://www.manning.com/books/rxjs-in-action
RxJS in Action
Paul P. Daniels and Luis Atencio
Foreword by Ben Lesh
July 2017 ISBN 9781617293412 352 pages printed in black & white
最近のコメント