Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

新しい並行計算ライブラリ js-csp のご紹介

2,957 views

Published on

on 東京node学園祭 2014

Published in: Technology
  • Be the first to comment

新しい並行計算ライブラリ js-csp のご紹介

  1. 1. 新しい並行計算ライブラリ js-cspのご紹介 niryuu<niryuu@gmail.com> Georepublic Japan LLC. 自己紹介:最近は専らクライアントサイドで 地理空間から3Dの実世界まで 素材:いらすとや
  2. 2. 非同期プログラミングを つないでいく問題 • 悪名高いコールバック地獄 • Promise, Generatorベースのものもそこ そこ育ってきた • が,次は:検証の問題 • 並行計算を追う困難
  3. 3. コールバック関数 yield Promise EventEmitter 世
  4. 4. 非同期処理の検証の問題 • 新しい書き方は出てきたが,ちゃんと 動いているかの検証はどんどん難しく なっている • console.log, throw • コールバック地獄はある意味わかりや すい!山を登れば山頂がある
  5. 5. 山は厳しい
  6. 6. 非同期処理の検証の問題 • 新しい書き方は出てきたが,検証はどんどん難しくなっている • console.log, throw • コールバック地獄はある意味わかりやすい!山を登れば山頂が ある • 通常の手続き型の枠内で記述している • Promise もある意味システム化している • co などもできるだけ手続きっぽく書ける • →本来非同期に向いた計算モデルが必要
  7. 7. そこでCSP • Communicating Sequential Processes • Wikipedia:「プロセス代数またはプロセス計算と呼ばれる並 行性に関する数学的理論の一種である」 • 要はλ計算の並行計算版 • よりわかりにくいわ! • 並行計算=データの流れのデザイン • golang, clojure で一気に大流行した • ubolonton氏によるjs-csp
  8. 8. js-csp • golang の人が解説すれば一瞬でわかる ので,いいブログ記事のサンプルソース をガンガン見せます • chan を見ればわかる明快さ • Reactive Programming との親和性
  9. 9. 参考文献 • js-csp • https://github.com/ubolonton/js-csp • Taming the Asynchronous Beast with CSP Channels in JavaScript • http://jlongster.com/Taming-the- Asynchronous-Beast-with-CSP-in-JavaScript

×