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.
Clojureに関するとりとめのない話
Clojureとは• JVM利用したLisp系言語(Lisp-1)• 最新verは1.4 (2007 ~ )• JVMのBig 3言語の一翼 • (Scala, Groovy, Clojure)
• Simplicity                 特徴 • Code is Data • Immutable• Empowerment • JVM• Focus • right abstraction clojure.comより転載 •...
特徴• Lispだけど割と独特の拡張 • ()を減らして読みやすくしている• Java系ライブラリが利用可能 •   Swingとか使えるのでGUI appも普通に作成可能 •   (javax.swing.JOptionPane/showMe...
最近のBig3の状況• http://thecodegeneral.wordpress.com/
有名なプロジェクト• Cascalog • Hadoop用クエリ言語• Storm • distributed realtime computing System • JVM関連でgithubで最大のwatch数を誇る• Incanter • ...
有名なプロジェクト2• Joodo • Rails like dev/publishing env for heroku• Gaeshi • Rails like dev/publishing env for app engine• 4Cloj...
有名なプロジェクト3• http://clojure-libraries.appspot.com/• web開発系ライブラリ • noir, Compojure, Ring, hiccup etc• GUI系ライブラリ • SeeSaw etc
Clojure開発環境• leiningen + slime + Emacs あたりがデフォ • leiningenはantやmavenっぽいツール• lein new nanka-project• cd nanka-project• lein...
Clojure-pyの紹介• Pythonで実装されたClojure • わりと最近出来た• easy_install clojure-py• Python系ライブラリ利用出来る • (numpy, flaskとか色々)
clojure-py• $ clojurepy• user => (reduce + (range 1 100) • 4950• user => (.toUpperCase “aho”) • Javaのメソッド読んでも当然エラーに   なる
Flask動かすまで• git clone https://github.com/halgari/clojure-  py.git• cd clojure-py/examples/flask• clojurepy main.clj       *...
Overtone
Overtoneの紹介• 作曲用ライブラリ (シンセサイザー) • https://github.com/overtone/overtone• Collaborate Programmable Music• Live-Programmable ...
Demoってみる• 参考 • http://vimeo.com/22798433 • http://deltam.blogspot.jp/2011/12/overtone-    clojure.html • https://github.co...
ソースの意味など• user=> (demo 4 (pan2 (sin-osc 440)))•   4秒間、ステレオ音声で(pan2)、440Hzの音    (sin-osc 440)を鳴らす
Clojurescript• jsと比較すると分かりやすい • http://himera.herokuapp.com/    synonym.html
java interop• http://clojure.org/java_interop• Java関連のMemberへのアクセス方法
Upcoming SlideShare
Loading in …5
×

Clojureの発表など

1,790 views

Published on

  • Be the first to comment

Clojureの発表など

  1. 1. Clojureに関するとりとめのない話
  2. 2. Clojureとは• JVM利用したLisp系言語(Lisp-1)• 最新verは1.4 (2007 ~ )• JVMのBig 3言語の一翼 • (Scala, Groovy, Clojure)
  3. 3. • Simplicity 特徴 • Code is Data • Immutable• Empowerment • JVM• Focus • right abstraction clojure.comより転載 • Clojures design lets you start work immediately on your problems
  4. 4. 特徴• Lispだけど割と独特の拡張 • ()を減らして読みやすくしている• Java系ライブラリが利用可能 • Swingとか使えるのでGUI appも普通に作成可能 • (javax.swing.JOptionPane/showMessageDialog nil "Hello World") (SeeSawとかGUI liveも豊富?) • マクロとか, namespaceとかとか、STMとか、 lazy-seqがデフォとか
  5. 5. 最近のBig3の状況• http://thecodegeneral.wordpress.com/
  6. 6. 有名なプロジェクト• Cascalog • Hadoop用クエリ言語• Storm • distributed realtime computing System • JVM関連でgithubで最大のwatch数を誇る• Incanter • Rっぽい統計 + 可視化ライブラリ
  7. 7. 有名なプロジェクト2• Joodo • Rails like dev/publishing env for heroku• Gaeshi • Rails like dev/publishing env for app engine• 4Clojure • Clojure勉強サイト• Overtone • シンセサイザー
  8. 8. 有名なプロジェクト3• http://clojure-libraries.appspot.com/• web開発系ライブラリ • noir, Compojure, Ring, hiccup etc• GUI系ライブラリ • SeeSaw etc
  9. 9. Clojure開発環境• leiningen + slime + Emacs あたりがデフォ • leiningenはantやmavenっぽいツール• lein new nanka-project• cd nanka-project• lein swank • swankサーバー起動• Emacs上でslime-connectしてサーバー接続
  10. 10. Clojure-pyの紹介• Pythonで実装されたClojure • わりと最近出来た• easy_install clojure-py• Python系ライブラリ利用出来る • (numpy, flaskとか色々)
  11. 11. clojure-py• $ clojurepy• user => (reduce + (range 1 100) • 4950• user => (.toUpperCase “aho”) • Javaのメソッド読んでも当然エラーに なる
  12. 12. Flask動かすまで• git clone https://github.com/halgari/clojure- py.git• cd clojure-py/examples/flask• clojurepy main.clj * Running on http://127.0.0.1:5000/ * Restarting with reloader
  13. 13. Overtone
  14. 14. Overtoneの紹介• 作曲用ライブラリ (シンセサイザー) • https://github.com/overtone/overtone• Collaborate Programmable Music• Live-Programmable Music• Cambridge大学の人のプロジェクト• SuperCollidarとか利用してる
  15. 15. Demoってみる• 参考 • http://vimeo.com/22798433 • http://deltam.blogspot.jp/2011/12/overtone- clojure.html • https://github.com/jonromero/music-as-data • live-codin
  16. 16. ソースの意味など• user=> (demo 4 (pan2 (sin-osc 440)))• 4秒間、ステレオ音声で(pan2)、440Hzの音 (sin-osc 440)を鳴らす
  17. 17. Clojurescript• jsと比較すると分かりやすい • http://himera.herokuapp.com/ synonym.html
  18. 18. java interop• http://clojure.org/java_interop• Java関連のMemberへのアクセス方法

×