>コンピュータ・インターネット>プログラミング>その他>

その他 Search その他 その他 その他

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)

インプレスジャパン Search インプレスジャパン インプレスジャパン
by Martin Odersky Lex Spoon、Bill Venners Search Martin Odersky Lex Spoon、Bill Venners Martin Odersky Lex Spoon、Bill Venners

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala) by Martin OderskyLex Spoon、Bill Venners 価格: ¥ 4,830
国内配送無料

おすすめ度:


もっと詳しい情報: Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala) @Amazon
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala) @aStore
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala) @Rakuten


Customer Reviews:
初心者の入門書としては高度すぎる
翻訳もよく内容も充実していて良い本であることは確かです。しかし、Scalaにこれから取り組む初心者の入門書としては必ずしも推薦できません。JavaやC#、Lispなどで相当の経験を積んでいれば容易に理解できるでしょうが、そうでないなら、本書の先頭1/4を過ぎたあたりで挫折しかねません。初心者はもっと易しい入門書から入って少し勉強と経験を積んでから、この本を読むとよいでしょう。

ポストJavaを求める人向けです
頭から3分の1は普通に、それ以降はパラパラと目を通している程度ですが、こんな感じと思います。

・まずは、Java言語(or それ相当)の言語知識が前提
 他の方も指摘しているとおり、Java(またはC#など相応のOO言語)のプログラミング知識が
 なければ読めません。前提条件と考えてください。

・高度で、理解に時間を要する部分がある
 上級のソフトウェア開発者は大丈夫でしょうが、
 普通レベルのプログラマは、読みこなせない・使いこなせない「峠」的な部分が
 いくつかあるようです。
 私(=Java系中級プログラマ)自身苦戦してまして、何度も繰り返し目を通し、さらに実際に自分でソースを書いて動かして
 ようやく理解できる、といった感じになりそうです。
 これは、言語自体の持つ機能の多さ・深さと、言語自体の考え方(OO+関数型)によるものと思われ、
 避けては通れなさそうです。
 ちなみに、文章自体は問題はなく、翻訳ものですが日本語として特に違和感を感じることはありません。
 あとしいて言えば、図解がもう少しあれば、理解が容易になったかもしれません。(リスト処理などの部分で)
 
・「実用書」とは言えない
 Scala標準で含まれるRDBアクセスライブラリや、Java資源の具体的な活用方法などは
 書かれていませんので、これを開発者に渡して「さあ、Scalaでシステムを作ろう」と
 いうのはありえません。
 #これで作れれば、一流レベルの人です
 今後、使いこなしの本が出てくることを期待しています。

・ポストJavaの有力候補として
 私自身はJava言語中心で開発していますが、Java言語の限界が見えてきているため、
 自分のチームで導入可能なポストJava言語を少しづつ探していました。
 その中でScala言語は、
 - LL系言語から高い生産性を実現する機能・要素を盛り込み、かつ言語自体の洗練度が高い
 - 他のLL系言語とは異なり、静的型付け言語というチーム開発向きの特長を持つ
 - Javaとの親和性が高く、Java開発からの移行が他言語に比べて比較的容易
  #といっても、それなりに難しいと思いますが
 ということから、ポストJavaとして発展・普及が期待されます。
 Scala自体が流行るかどうかは正直分かりませんが、
 今後1レベル上のプログラム開発をしたいと考えている人にとって、とても勉強になるはずで、
 将来他の言語が主流になったとしても、この本から学んだことは無駄にはならないでしょう。(きっと)


Scalaのバイブルたる本です。
原著を読んだ者の感想です。
Java, Erlangは中級レベルです。

原著はScalaのバイブル的な扱いの本であり、あと2,3年はおそらくあれ以上の本は出ないだろうと思われます。難易度としては、Javaを知っていれば読めるレベルです。ただ、量が多く踏み込んでいるため、何回か読み直しが必要な本だと思います。手垢で真っ黒にするべき本の部類ですね。

次にこの書籍の評価に入ります。
日本語訳は読み易く、非常にスラスラと頭に入ってきます。
取り扱っている内容としては、文法レベルではほぼ網羅してあると思います。
記述のスタイルは各チャプターの内容を「オブジェクト指向的な書き方」と、「関数型的な書き方」の2つで読者に提供、解説するという形です。
しかし、著者の主張としては「関数型っぽく書け。どうしても面倒なところだけオブジェクト指向にしろ」というようなものがどうもあるようなので、やや関数型に寄っているような気はします。
オブジェクト指向は分かっているという前提を想定しているのかもしれません。

この記述スタイルは、純粋な関数型言語をやったことがあるなら特に問題ありませんが、手続き型やオブジェクト指向型に慣れ親しんでいる人は面食らうかもしれません。
あたりまえですが、新しい手続き型(オブジェクト指向)言語を覚えるのと同じスピードで、習ったことの無い関数型を覚えることはできません。
私はErlangをはじめてやったときに学習の遅さから多少凹んでしまいまいました。最初から時間がかかると意識していたほうが幸せかもしれません。

本書を読む上で注意するべき点は、
もしあなたがJavaプログラマであり、関数型プログラマでないのなら、関数型に関して書かれている部分は2回3回と読み直す必要があるということです。
なぜかというと、Scalaはオブジェクト指向も使えるので、関数型の特性を生かさないで全てオブジェクト指向でコードで書けてしまうからです。
これでは、Scalaを使うメリットが半減してしまいます。
関数型言語を覚えて、使えるようになる必要があります。

次に、Scalaの名前の由来にもなったscale性。
それを実現するためのActorモデルが壁となるかもしれません。
Erlangをやったことがない人がこれを理解するには、
送信した順番で絶対に届くソケット通信で、オブジェクトをやりとりしているようなものだと捉えればよいかもしれません。(正確には違うと思うのですが)
別々のマシンでは物理的にメモリを共有していないため、相手と情報をやりとりしようと思うとメッセージを使う必要があります。
Actorモデルもおおまかには似たようなものだと捉えていいと思います。
プロセス間でメッセージを交換し合うことによって、全体としてのシステムを構築します。

ただ、ある程度複雑なものを書くには設計パターンのようなものが必要になってきます。
その際にはクライアント/サーバ アーキテクチャを参考にすると設計がしやすいかもしれません。
プロセス間に階層を作ることをイメージすると、煩雑なプロセスに秩序を与え、制御をすることが容易となります。
(もちろん、上位のプロセスが落ちないようにしなければならないのですが。)

最後に本の見た目についてです。
少し1ページあたりに字数を詰め込みすぎている印象があり、原著よりもゴテゴテしているような感じはします。
ただ、適切な行間があり、スラスラ読んでいけるので特に違和感はかんじません。


最後に推定読書時間なのですが、おそらく40〜50時間ぐらいだと思います。
習得にかかる時間は検討がつきませんが、関数型言語とスクリプト型言語(特にRuby)をやっていると覚えがはやいのは間違いないと思います。
Javaを知らない人は本書を読むのは不可能に近いです。Javaからやって下さい。
いい本だと思うので、興味があるかたは買って損はないと思いますよ。

すべて道がscalaに通じていた
自分の第1プログラミング言語はjavaです。
これまで、プログラミングの幅を広げるために
また、今後実装されるであろうjavaの仕様を先取りする意味で
いろいろな言語を勉強してみました。
C、C++、Python、Ruby、Lisp、Scheme、Haskell、Proce55ing、Arduino

scalaには、上記に挙げた言語を網羅したエッセンスが詰まっていると
感じました。
オブジェクト指向、関数型、型推論、アクター、パターンマッチ

本書は、ある程度javaを使用したことがある読者に向けて書かれています。

今後、普及することを願っています。


Listmania Lists:
プログラミング言語

関連商品:

The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで

Google App Engine for Java [実践]クラウドシステム構築 (WEB+DB PRESS plus) (WEB+DB PRESSプラスシリーズ) (WEB+DB PRESS plusシリーズ)

LET OVER LAMBDA Edition 1.0

入門git

Real World Haskell―実戦で学ぶ関数型言語プログラミング

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala) & More...



related blog:

Stack Stock Books - Scalaスケーラブルプログラミング[コンセプト ...
ISBN, 10桁: 4844327453 13桁: 9784844327455. NCID, -. 形状, 単行本. 出版社, インプレスジャパン. 発行日, 2009年08月. ページ数, 624 ページ. サイズ, 180×228×34 mm. 重量, 962 g. 積ん読指数, 0 pt ...
http://stack.nayutaya.jp/book/4844327453

まっちゃ : まだ、さわりを読んだ程度ですが… 既存の言語をいいとこ ...
まあ、そんな感じ。いろいろ言語やってきて「次はどーすっかな?」て人にはいいかも。逆に、憶えることが多すぎて、初心者にはつらいっしょ。実際にどうかは、全部読んで実際に試してからかな~ ちなみに、これ読んでます。 ASIN:4844327453 ...
http://wassr.jp/user/takasima20/statuses/5QzrugIz60

2009-08-24 最近売れている本、、、
[4797354364]- 4gbpsを超えるwebサービス構築術; [4797337958]- ふつうのコンパイラをつくろう 言語処理系をつくりながら学ぶコンパイルと実行環境の仕組み; [4844327453]- scalaスケーラブルプログラミング[コンセプト&コーディング] (programming in ...
http://d.hatena.ne.jp/ken3memo/20090824/1251089795

[本][scala] scalaスケーラブルプログラミング[コンセプト ...
ついに2010年代の本命プログラミング言語が来た!本も含めて凄いぜscala。セキュリティほにゃらの勉強をそっちのけにしないように気をつけないと。。。
http://d.hatena.ne.jp/morioX/20090830#p4

[book][scala] Programming Scala
Scalaはすでにコップ本(asin:4844327453)を持っているのだが,デカいし重いしで,会社 or 自宅に置きっぱで思ったときに読めないんで,それを補完できるのが良いね。Programming Scalaで(英語的な理由で)わからんことあればコップ本読めば良いし。 ...
http://d.hatena.ne.jp/masanobuimai/20091031#1256996434

Scala読物
■書籍: Scalaスケーラブルプログラミング(ver2.7.2):http://www.amazon.co.jp/o/ASIN/4844327453 ■ブログ: [[純粋関数型雑記帳>>http://d.hatena.ne.jp/tanakh/]] ■ [[Scala on GAE>>http://scalagwt.gogoego.com/index.html]] ■本家翻訳:tmiya ...
http://www39.atwiki.jp/jasagiri/pages/100.html

理想の言語? - 書評 - scalaスケーラブルプログラミング
asin:4844327453. scalaスケーラブルプログラミング. martin odersky lex spoon bill venners / 羽生田栄一監 / 長尾高弘訳 [原著:programming in scala]. 素晴らしい言語の、素晴らしい入門本。 何が素晴らしいかというと、言語の思想が、頭ではなく体で ...
http://blog.livedoor.jp/dankogai/archives/51275491.html

scalaスケーラブルプログラミング[コンセプト&コーディング ...
scalaスケーラブルプログラミング[コンセプト&コーディング] (programming in scala): martin odersky, lex spoon、bill venners, 羽生田 栄一, 長尾 高弘: 本. scalaスケーラブルプログラミング[コンセプト&コーディング] (programming in scala): ...
http://mediamarker.net/u/sarusaru/?asin=4844327453

lispとscalaの日本語新刊
http://www.amazon.co.jp/exec/obidos/asin/4844327453/showshotcorne-22/ scalaスケーラブルプログラミング[コンセプト&コーディング] (programming in scala) (単行本) martin odersky (著), lex spoon、bill venners (著), 羽生田 栄一 (監修), ...
http://iiyu.asablo.jp/blog/2009/08/18/4522323

Scalaスケーラブルプログラミング[コンセプト&コーディング ...
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala). Amazon(アマゾン)のScalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)の詳細情報・評価・カスタマーレビュー。1000万点以上の品 ...
http://yuhiya.com/details/4844327453.html
その他
WEB+DB PRESS Vol.53 ¥ 1,554
クラウド Amazon EC2/S3のすべて~実践者から学ぶ設計/構築/運用ノウハウ~ (ITpro BOOKs) ¥ 2,940
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!Excel2007/2003対応 ¥ 2,310
日経 Linux (リナックス) 2009年 12月号 [雑誌] ¥ 1,490
HTML/XHTML&スタイルシートレッスンブック―ステップバイステップ形式でマスターできる ¥ 2,604
Interface (インターフェース) 2009年 12月号 [雑誌] ¥ 800
iPhone SDK アプリケーション開発ガイド ¥ 3,570
Photoshop 10年使える逆引き手帖 【CS4/CS3/CS2/CS/7.0対応】 (ああしたい。こうしたい。) ¥ 2,520
現場のプロから学ぶXHTML+CSS ¥ 2,940
携帯サイト コーディング&デザイン ¥ 2,709
Amazon Associate
配送料 無料1500円以上