Software Design plusシリーズおいしいClojure入門
2013年9月26日紙版発売
2013年11月20日電子版発売
ニコラ・モドリック,安部重成 著
A5判/336ページ
定価3,058円(本体2,780円+税10%)
ISBN 978-4-7741-5991-1
ただいま弊社在庫はございません。
書籍の概要
この本の概要
フランス人プログラマのニコラが,Clojureを包丁代わりにHadoopやRedisといった流行の素材を自由自在にプログラミングします。関数型プログラミングというと,敷居が高く扱うのが難しいのではないかと思い込んでいませんか。本書は,環境構築からRubyとの連携をさらっと解説した後,NoSQLでCassandraも,遺伝的アルゴリズムも,JBossもMQも,Herokuも,さらにはArduinoで組込まで,Clojureプログラミング技術のフルコースを紹介します。プログラマの能力を大きく成長させる極上メニュー,ぜひ賞味してください!
こんな方におすすめ
- 関数型言語の使い方に興味のある方また,海外の方のプログラミング技法に興味のある方におすすめです。あ,こんな考え方があるのか! と目から鱗が落ちるようなトピック盛りだくさん!
著者の一言
はじめに
「今さらClojure ? それはなぜか?」
ClojureはJava仮想マシン(JVM)をターゲットとして,2007年にRich Hickeyの手によって生まれた,まだまだ新しいプログラム言語です。
Javaはそのときどきで浮き沈みや文法的にイマイチなところがあったりしますが,仮想マシンとしてはマルチコアに対応した最適なコンピューティング環境の1つです。Clojureで書かれたプログラムは,JVM上で最適なパフォーマンスが得られるよう変換され,実行されます。
Clojureはプログラミング言語としてはLisp系に属しており,Lispの「データとしてのコード(code-as-data)」という哲学と強力なマクロのしくみを受け継いでいます。 Lisp系ということは関数型プログラミングであり,インタラクティブな実行環境を使ってClojureとやり取りをしながらプログラムをダイナミックに発展させていくという開発フローになります。
また,関数型プログラミングにおける「関数」には副作用がなく,内部状態を保持しないことから,Clojureではマルチスレッドの仕組みを単純化し,強力な並列コンピューティングをマルチコア環境で実現します。
ほかにJVM上で実行可能なプログラム言語としては,Clojure以外にもScala,JRubyなどがあり,それぞれ特徴や強みがあります。
本書は,そんなClojureのプログラミングを,フレンチレストランに出てくるコース料理のレシピに見立てて解説を試みました。レシピは,すぐに試せる軽いものから始まって,日々使えるものはもちろん,本格的なメインディッシュ,デザートなど多岐にわたります。これらを読み通すことで,Clojureに慣れることができます。
メニューやそのレシピを実践し,試食(自分でサンプルをコーディング)することで,さまざまなプログラミングの知識を得ることができます。
Clojureは単にプログラムを簡単に作れるというだけでなく,プログラムの作り方やモノを作ることに対する考え方までも変えてしまうかもしれません。一度Clojureをマスターしてしまえば,開発のスピードが上がるだけでなく,作るものをより明確に見ることができるようになるでしょう。
補足
本書に掲載されているソースコードは,次の場所にあります。
https://github.com/denno-clojure/mascarpone
あと,本書の巻末のソースコード対応表もぜひ確認ください。
この書籍に関連する記事があります!
- 『おいしいClojure入門』でプログラミングの楽しさを味わいませんか?」
- 「関数型プログラミング言語は難しい?」――とよく言われますが,どうなんでしょうか。
本書のサンプル
本書の一部ページを,PDFで確認することができます。
- サンプルPDFファイル(1,788KB)
本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。
目次
第1章 Clojure環境の作り方と始め方
- Leiningen,REPL,Clojureライブラリ,Scala,Java,JRuby
第2章 数行のコードで毎日の仕事がラクになるClojure
- ライブラリ,JSON,ニューラルネットワーク,データ管理,HTTP,メール,DSL
第3章 開発心が沸き立つClojure
- 現場で使える(Excel,数学,SQL,NoSQL,リモート),テスト現場で役立つ(Selenium,ビヘイビア駆動開発,RSpec,Clojureスクリプティング)
第4章 Clojureでお手軽,チョー楽しいWeb開発
- HTMLテンプレート,JSON,WebSocket,REST
第5章 メッセージングのベストプラクティス
- RabbitMQ,Redis,Hadoop,JMS
第6章 クラウドとClojureの明るい日々
- Heroku,GAE,AWS,VirtualBox,SAAS/PAASのためのツール
第7章 サウンドもClojureでコントロール
- スピーチ,音声認識,MIDI,ビジュアルDJ
第8章 Clojureでグラフィクス
- GPU,Processing,OpenCV,OpenCL
第9章 Androidアプリ開発で稼いでみませんか!
- エミュレータ不要のライブ開発
第10章 今日はArduinoで組込プログラミング
- インタラクティブにデバイス開発をしよう
第11章 Clojureでゲーム開発!
- 3D,ゲームエンジン
第12章 プラットフォーム
- RubyVM,.NETでClojureを動かす,ClojureをJavascriptにコンパイル
この本に関連する書籍
-
Androidエンジニア養成読本 Vol.2[現場で役立つノウハウと仕事にしたい人のための必須知識満載!]
Androidアプリケーション開発の競争が激化する中,限られた時間と資源でいかに効率よく開発を行うか……開発者にはそのためのアイデアやテクニックが強く求められています...
-
実践F# 関数型プログラミング入門
.NETで使われているジェネリックやラムダ式は,関数型言語では早くから提供されていた機能であり,.NET向けに実装されたものといえます。関数型言語は、古くから存在す...
-
プログラミング in OCaml 〜関数型プログラミングの基礎からGUI構築まで〜
OCamlは,フランスのINRIAで開発された関数型言語です。実行速度も速く,バグも作りにくい言語構造となっているため,一番実用的な関数言語といわれています。 本書は...