ばいちょ(売価調査)、価格比較とネットでのお買い物を楽に

Bar
お店のコメント(スペック情報を含む場合もあり)

出版社/著者からの内容紹介
プログラミング言語「Erlang」のバイブルを翻訳。
Erlang(アーラン)とは、近年再評価されて注目を集めている関数型プログラミング言語です。

本書は、並行プログラミングに有効な言語として急速に一般にも認知され始めたErlangのバイブル的な解説書を翻訳するもの。

原著者はErlangの初期の頃からの開発者の一人。

著者からのコメント
Joeより 我々が暮らすこの世界は並列に動いている。

実世界に存在する他のものと同じように振る舞うプログラムを書きたかったら、プログラムも並行構造になることだろう。

並行アプリケーションを書くために設計された言語を使えば開発はすごく簡単になる。

Erlang のプログラムがモデル化しているのは、我々が考えたりコミュニケーションする様なのだ。
Joe Armstrong 訳者序文
本書を手に取ったあなたがプログラミングをゼロから学ぼうという人ならば、非常に幸運だ。
なぜなら、現在主流のC++ やJava といった言語の概念にとらわれることなく、シンプルでありながら強力なプログラミング言語を学べるからだ。
あなたがプログラミングの経験者でも同様に幸運だ。
なぜなら、これまでのプログラミングの経験に加えて、Erlang というすばらしい道具を活用できるようになるからだ。
さて、近年のWeb をベースとしたシステムの発展は、これまで通信機器など高可用性を重視する用途以外ではあまり知られていなかったErlang に新たな注目を浴びせることになった。
Webは基本的に開かれたシステムであるため、比較的簡単にサービスを構築して公開することができる反面、大量のアクセスをさばかなければならない状況も起きやすい。
いわゆるC10K 問題である。
10K = 10000 個のクライアントからのアクセスをいかにして切り回すかはいまや多くのエンジニアの頭を悩ます問題となっている。
C10K 問題は20 世紀の間に提起されていたのだから、それからさらにWeb が発展した現在ではどのような状況であるかは推して知るべしである。
前述のC10K のサイトを見てもわかるように、その解決策はマルチスレッドプログラミングを駆使した煩雑なものが多い。
これでは本来提供したいサービスのことを考えるための余裕がなくなってしまう。
また、オペレーティングシステムが提供するスレッド環境はコストが高いものが多く、クライアント1 つにスレッドを1 つ割り当てるような贅沢な使い方ではとても10000 個のクライアントをさばくことなどできない。
Erlang ならばそんな贅沢もまったく問題ない。
余計なことを考えずにサービスを作ることに集中できるのだ。
また、処理能力を増やすためのハードウェア側からのアプローチとしては、従来は駆動クロックの高速化が一般的であった。
しかし、主に熱の問題から現在の半導体の駆動クロックは数GHz で頭打ちになると考えられているため、その代わりに処理装置を増やす方向、つまりマルチプロセッサ化やマルチコア化に拍車がかかっている。
ここ数年でマルチプロセッサやマルチコアのマシンは個人でも手に入れられるようになってきたが、その上で動作するソフトウェアの方はまだまだハードウェアを生かしきれていないのが実情だ。
では、どうすれば並列ハードウェアを生かしたソフトウェアを作ることができるのだろうか? 一般には、pthread などに代表されるいわゆるマルチスレッドプログラミングのためのライブラリやフレームワークを使うことが多いだろう。
しかし、競合条件を正しく見極めて排他制御を正しく適用するのはなかなか難しく、熟練したプログラマでさえも間違いを犯しがちだ。
実際、訳者もマルチコアマシン用のオペレーティングシステムを開発しているが、それでも自分自身がその手の同期バグを仕込んでしまうことがあるし、もっと注意深い人々でもミスは皆無ではない。
人間は誰でもちょっとした間違いをしてしまうものだから、ここはコンピュータの方でなんとかすべきところだ。
残念ながら、C やC++、Java、それにPerl やRuby、Scheme などの言語には、そのような間違いをしないような仕組みは備わっていない。
後付けの仕組みや実験的な取り組みはあるが、実用的ではなかったり、実績に乏しい。
その点、Erlang はもともと並列処理を念頭に置いて設計されているから、変数の排他制御の問題などは本質的に存在しない。
それはErlang が関数型プログラミング言語の特徴をうまく生かしているからだ。
関数型プログラミングというと身構えてしまう人もいるかもしれないが、実はそんなに難しくない。
それどころか、プログラムは命令型プログラミング言語で書かれたものよりもずっとわかりやすい。
実のところ、Erlang は関数型プログラミング言語の中でも文法がとっつきやすく、関数型プログラミングの入門にも適している。
ところで、並列指向プログラミングはErlang の最も大きな特徴だが、実はErlang の強みはそれ以外にもある。
「関数型」でしかも「並列指向」と来れば、研究室を出たことのない、実績に乏しいプログラミング言語であるかのような印象を抱く人もいるかもしれない。
しかし、Erlang には20 年を超える歴史があり、高度な信頼性が要求される通信機器の分野でも実績がある。
そのような実績はもちろんErlang の基本設計の見通しの良さによるところも大きいが、忘れてはならないのはOTP というフレームワークの存在である。
詳しくは本書の後半の解説に譲るが、OTP は信頼性の高いシステムを作るためのノウハウがつまっている。
大規模なシステムを構築し、長年にわたって更新しつつ運用していくためのいわばデザインパターンと言える。
また、本書で取り上げているのはOTP のごく一部でしかなく、そのほかにも実際のシステム構築において培われた興味深い機能があるので、本書の次のステップとして覗いてみるのもよいのではないだろうか。
Erlang は歴史のある言語だが、今現在も進化を続けている。
本書はErlang OTP R11B5 というリリースを元にしているが、本書発行の時点で既に次のR12B0 というリリースが出ている。
今回のリリースは以前のリリースとの互換性を保っているので、本書で解説していることはそのまま通用するはずである。
ただし、R12B0 ではエラーメッセージがわかりやすいように変更されているため、エラーメッセージについてはかなり異なる部分がある。
なお、本書の翻訳にあたって、誤解を生じない範囲であえて用語の統一を図らなかった部分がある。
原著でも読みやすさを優先して1 つの概念をいくつかの言葉で言い換えており、翻訳でもその方針に従っている。
特に、並列(parallel)と並行(concurrent)は厳密にはそれぞれ異なる概念を指す言葉であるが、原著同様統一していない点に注意されたい。
最後に、多忙な中で本書をレビューし、有益なコメントをくださった平岡和幸、檜山正幸、堀玄、向井淳の各氏にこの場を借りてお礼を述べさせていただきます。
また、オーム社開発局の方々にも各面でのサポートをいただき、感謝しております。
その他、ここで逐一お名前を挙げることはできませんが、さまざまな方からのご協力の下に本書を作ることができました。
ありがとうございました。
2008年2月
榊原一矢
商品の説明をすべて表示する

お店
アマゾン (amazon)
お店の商品コード
4274067149
JANコード
-
メーカー

お店の、この商品ページへ直行
商品ジャンル

本 ≫ コンピュータ・IT ≫ プログラミング

商品名
商品検索
 商品名 ※スペース区切りで複数キーワード(and・絞り込み)可
検索オプション検索オプションを展開する検索オプションをたたむ
 JANコード(バーコード)
  お店のコード
【取得NG】(売切れ?)のものを表示
※「しない」を選択すると、掲載落ち(売切れ)と思われる商品は表示しません。
検索の対象にするお店
店舗を選択しない結果に含めたいお店にチェックをつけてください。
全てOFFにしたり、10店より多く選択すると全店が対象となります。
ioPLAZA
アイリスプラザ
アニメイト
アマゾン
あみあみ
eカシオ
イーカプコン
ECカレント
イオンショップ
イシバシ楽器
イトーヨーカドー
NTT-X
エレコム
オフィスデポ
OLYMPUS
キタムラ
Qoo10
K’sデンキ
コジマ
サンワ
ジャパネットたかた
ジュリアインテリア
セブンネット
ソフマップ
たのめーる
タミヤショップ
タンタン
ツクモ
DMM
DCM
デンマート
トイザらス
ドスパラ
ナチュラム
日本文化センター
nojima
パソコン工房
PCワンズ
ビックカメラ
ブラザー
フルイチ
プレミアムバンダイ
PREMOA
ベスト電器
ムラウチ
ムラウチ
Yamagaiwa
ヤマダ電機
東急ハンズ
条件クリア
サイト内キーワード検索
商品名の検索は通常の商品検索ボックスで。
コメントやスペックなどから検索したい場合はこちらから。
このお店の商品コード類似品
AQA (A) Chemistry AS2: Foundation Physical and Inorganic Chemistry (Collins Student Support Materials): Colin Chambers: 洋書
The Descent into Barbarism: 1933-51 v. 2: the History of the 20th Century, 1933-1951 (History of the 20th Century 2): Martin Gilbert: 洋書
A Dance with Dragons: Book 5 of a Song of Ice and Fire: George R. R. Martin: 洋書
The Other Boleyn Girl: Philippa Gregory: 洋書
Cirque du Freak (The Saga of Darren Shan No.1): Darren Shan: 洋書
The Vampire’s Assistant No.2 (The Saga of Darren Shan): Darren Shan: 洋書
Mixed Magics (The Chrestomanci Series): Diana Wynne Jones: 洋書
Image-Music-Text: Roland Barthes, Stephen Heath: 洋書
Vampire Mountain (The Saga of Darren Shan): Darren Shan: 洋書
A Murder is Announced: Agatha Christie, Joan Hickson: 洋書
Five Little Pigs (Poirot): Agatha Christie: 洋書
Getting Mother’s Body: Suzan-Lori Parks: 洋書
Ordeal by Innocence: Complete & Unabridged: Agatha Christie, Hugh Fraser: 洋書
Hotel California: Singer-Songwriters and Cocaine Cowboys in the La Canyons, 1967-1976: Barney Hoskyns: 洋書
After the Storm (Percy the Park Keeper Bk/ Tape): Nick Butterworth: 洋書
Hot Pursuit: Gemma Fox: 洋書
Oh Dear Me, I’m Late for Tea!: Lilac/ Band 00 (Collins Big Cat): Alison Hawes, Mike Phillips, Cliff Moon: 洋書
Mojo and Weeza and the Funny Thing: Blue/ Band 04: Band 04/ Blue (Collins Big Cat): Sean Taylor, Julian Mosedale, Cliff Moon: 洋書
Colours: Blue/ Band 04 (Collins Big Cat): Satoshi Kitamura, Cliff Moon: 洋書
The Boleyn Inheritance: Philippa Gregory: 洋書