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,646 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,646
On SlideShare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 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へのアクセス方法

    ×