今日のつぶやき

Twilog

[Twitter]今日のつぶやき ff.im/eIcHp #

List(1, 2, 3).foldLeft(0)(_ + _) より (0 /: List(1, 2, 3))(_ + _) を美しいと感じると関数脳ということなのかなー。/: をoperator notationで用意しているということは頻出ということだろうし。 #scala #

Lispとかだと (先頭 それ以外)に分けて再帰を使うのがパターンだから、その形を基本形にすると都合がよいのか。/:と:\。 #scala #

手続き型(C)からオブジェクト指向(Java)になって、コレクションの操作が格段に楽になった。言語の記述力が上がって、コレクション・ライブラリを準言語化できるようになったのが大きい。 #

関数型言語になると、コレクション操作より一歩進んで記号処理が格段に楽になる。再帰とリストとクロージャ木構造の操作がコモディティ化する。縦探索とか横探索とかバックトラッキングとかあたりがシチズンデベロッパとの境界線になるかな。 #

問題の解を副作用のない宣言で記述する関数型らしい関数型の前に、記号処理の時代がある。前者を純粋関数型言語とするなら、後者は不純関数型言語。まずは不純関数型言語で記号処理がコモディティ化していく時代に入る。 #

DB-UI間の転記レベルの応用はプログラムの自動生成とかでできてしまうようになるので価値はない。転記よりもう少し深いレベルでの意味の変換が価値になってくるので、記号処理が重要になってくる。人工知能とコレクション操作の間のレイヤが当面伸びていく所。 #

クラウドアプリも、記号処理を使った意味の変換が主軸の応用になりそう。クラウド的なスケーラビリティを活用すれば色々な応用が考えられる。演算バウンドで重たい処理が苦にならないのはクラウドのよいところ。 #

クラウドアプリ=>(lightweightな)意味の変換を伴う応用=>記号処理がコモディティ化=>この領域では不純関数型言語が最適=> #scala #

#appengine の上で #scala を使うと色々できそうな気がするなー。難しいBASE-txもScalaDSLを被せると簡単に安全に利用出来るようになる。 #

REPLは便利だなぁ。これだけでも #scala を使う価値がある。 #

Automatically shipped by LoudTwitter