本と雑誌

2009年12月19日 (土)

グイン・サーガ最終巻

すこし時間が立ちましたが、グイン・サーガの最終巻を読み終わりました。

栗本薫さんが訃報をきいてからも、新しい小説が出版されるので、勘違いしていましたが、ついに最終巻です。

通常より薄い本にも、最終巻を感じさせて感慨深いです。

後書きにもありましたが、グイン・サーガは書き継がれる作品になってほしいものです。

栗本薫さんのグイン・サーガの最終話であることを願っています。

| | コメント (2) | トラックバック (0)

2009年8月24日 (月)

【書籍】 Scalaスケーラブルプログラミングを読む

Scalaスケーラブルプログラミングを読み終わりました。

最近プログラミング言語とての注目されているScalaですが、Java言語上に構築されているため、Javaの発展言語なのかなと思っていましたが、本を読んで、すぐ勘違いにきがつきました。

関数型の考え方を基本において、オブジェクト指向の融合しているという特徴もあり、個人的にはすごく好みな言語です。

とはいえ、手続き型言語Loveな人にはデータ変更できないデータ型って何よと違和感をかじるかもしれません。

気になる特徴を書くと、こんな感じでしょうか。

(1) 変更不可 (Immutable) なデータ型を容易に作成/利用できる文法サポート(Syntax Sugar)をしているというところに、Scalaのスケーラビリィの一つの主張があります。

マルチスレッドのプログラムを書いていると、書き換え可能なデータ型(Mutable)だと、排他処理などを書かないといけないため、結構、面倒なのです。

とはいえ、Immutableなデータ型は書き換えの多いデータを処理するばあい、効率が悪くなりますし、マルチスレッド間で共有されるメモリが限定できることが多いシステムでは、ロックが限定できるため、Immutableなデータを基本とすると、まず実行速度が低下するため、嫌がる人が多いです。

Scalaの場合、ImmutableとMutableと両方使えるのと、ImmutableなデータをMutableのように記述できる文法があるのが良いところです。

ただ、Immtableといっても、純粋な Immutable ではなく、JavaのFinalでオブジェクトのリファレンスが変更できないというものです。

そのため、参照先がMutableなデータだとデータの値自体は変わってしまうようです。
# このあたりは、処理系を使ってないため、まだ調査が必要です。

(2) Java/C#系の静的なデータ型をもつオブジェクト指向言語である。

Java/C#系のオブジェクト指向言語なので、既存のユーザは取っかかり易いというのはああります。

特に静的な型システムが Love な人には向いています。

大規模開発で静的な型システムがあると、参照関係の解析などをツールがサポートでしてくれるので、嬉しいのですよね。

ただGenericsによるオブジェクト指向の型システムは難しいです。

クラスを継承したときの共変性や反変性を考えると唸ってしまいます。

あとは、Mixin による実装の継承ができるのも嬉しいです。

ただ、このあたりは interface や構造での型一致、aspect指向なども関連してきますので、まだスマートな提案がでてくるのかなと思っています。

(3) 関数型言語の特徴を持つ

Scalaは手続き型オブジェクト指向言語を基本としていますが、関数型言語の特性、関数合成、高階関数、ラムダ式(クロージャーのほうが通りが良いかも)をサポートしています。

型システムがあるため、ちょっと面倒なのと、マクロが無いため、Lisperにとっては、ちょっと不満かもしれませんが、通常の関数型言語のプログラミングを、そのまま書けるというのは素晴らしいです。

さらに限定されているとはいえ、末尾再帰がサポートされているのもGoodです。

Javaではメソッドを再帰で実行すると、そのたびにスタックを消費するため、スタックオーバーフローするので、再帰でプログラムを書くのは実用的では無いのです。

なぜスタックを使うのかなど理屈はわかるのですが、Javaでいけてない仕様の一つが解消されているのは嬉しいところです。

(4) Actorによる通信サポート

Scalaのスケーラブリティのサポートに、Actorによる通信サポートがあります。

Erlangで有名になりましたが、結構、古典的な通信方式です。

ただ、この方式は、どんなメッセージでも送るので、あとは受け手で解釈してちゃんと処理してねってことなので、低レベルなメッセージ処理を明示的に書かないといけないですし、静的な型システムの恩恵も受けることができないなど、イマイチです。

まぁ、「できる」って程度で、他のScalaの特徴と比較すると、かなり見劣りする解答です。


この本には他にもオブジェクトの同一性など色々な議論を扱っていて、趣味でプログラム言語を作る、私としては、また新しい言語を設計しようかという気になるぐらい面白かったです。

ただ厚いのと、あくまで言語処理系の本なので根性入れて読んでください!

| | コメント (4) | トラックバック (0)

2009年5月31日 (日)

Kaoru Kurimoto passed away

栗本薫先生が亡くなりました。

遅くなりましたが、ご冥福をお祈りいたします。

つい先日、グインサーガの最新刊まで読み終わった矢先のことに、いささか呆然としています。

先生の著作はグインサーガしか読んでいませんが、それだけでも十分、偉大さを感じさせてくださいました。

ご冥福をお祈りします。


| | コメント (4) | トラックバック (0)

2009年5月21日 (木)

グインサーガの最新刊に追いつく

グインサーガの最新刊まで読み終わりました。

オークションでまとめて買って以来、通勤時間で、ちまちまと読み続けていたのですが、正伝、外伝ともに最新刊まで読み終わりました。

やっとといった感じです。

しかし完結しているわけでは無いため、これからも長いつきあいになりそうです。

| | コメント (2) | トラックバック (0)

2009年5月 3日 (日)

残念なcbook24リニューアル

今週、発売のコンピュータ関係の書籍をしらべるために、cbook24にアクセスしたところ、なんだか様子がかわっています。

おかしいと思って、チェックしたところ、リニューアルの通知を見つけました。

ページが移動したのかとおもって油断していたら、通販終了とのこと!

本の通販を辞めてしまったことが影響しているのでしょうが、毎週発売の新刊や先週発売の新刊などの情報がなくなっています。

リニューアルで通販を辞めて、情報サイトになるといっても、これでは役に立たないためガッカリです。

でも本が売れないから、予算が無かったのだろうと思うと、この不況も影響しているのかと、すこし同情もあります、

でも、情報源として別のサイトを見つけないとな…

| | コメント (0) | トラックバック (0)

2009年1月28日 (水)

【小説】 ラスト・イニング

ラスト・イニングの文庫版がやっと発売されました。

これを読んで、やっとバッテリーが終わったなと思うぐらい良い出来でしたよ。

本体であるバッテリーは映画化されたぐらいの名作ですが、ラスト・イニングと一緒に文庫に収録されている「空との約束」、「炎陽の彼方」もかなりの名作です。

バッテリーを読まないと、わからない話も多いため、バッテリー外伝と副題をつけたほうがよいんじゃないかな~と、つい余計なことを思ったりしました。

これを機会にバッテリーと一緒に読んで欲しいです。
少年向け小説とはいえ、馬鹿にできませんでよ。

| | コメント (0) | トラックバック (0)

2008年6月13日 (金)

【小説】神様のパズル

映画「神様のパズル」をみて、原作の小説「神様のパズル」を読みました。

主人公の設定など、映画とかなり内容が異なります。

SFとしては原作には宇宙の開闢など興味深い話が多いのですが、映画版のほうが面白いですね。

大胆にアレンジしたところが勝利でしょうか。

映画は面白かったですが、小説は小説として面白さがあります。

機本伸司さんの小説を少し読んでみようと思います。

| | コメント (0) | トラックバック (0)

2008年5月 3日 (土)

KOBO CAFEに行ってきました

KOBO会員限定でKOBO CAFEが先行オープンということなので、さっそく行ってきました。

BLOGを読むと、オープンした直後の1~2時間は人が多かったようですが、私が行ったときはお客さんは2人しかいなく、静かでした。

しかし店に入った瞬間、渡辺浩弐先生がマスターがしているのがわかり、いきなり緊張しましたよ。

おまけに渡辺マスターがコーヒーを入れてくれる上に、KOBO CAFE限定の冊子のセットがあり、感動のあまりコーヒーの味がしませんでした(苦笑)

人が少なかったこともあり、緊張しっぱなしだったのですが、店員さんと話をしたり、アメリカ版ファウストの見本冊子などみたり、次のKO-BOXで発売されるエレGYの話を聞いたり楽しかったです。

おみやげに缶バッチを買ったのですが、店員さんの胸につけてあった、今度KO-BOXで発売される新人3人の似顔絵を描いた、缶バッチも非常に良くて、こちらも欲しいなと思いました。

帰ってから、BLOGを読むと、後から太田編集長も来たようで残念でした。
でも、そこまで時間を潰すにはちょっと無理なので、時間をあわせて、CAFEに行くことかな~と思っています。

次はイベントのときに参加しよう。

でもあまり広い場所じゃないので、人が入れるのかな?

| | コメント (0) | トラックバック (0)

2008年3月25日 (火)

【本】 Googleを支える技術

Googleを支える技術を読み終えました。

Googleというと検索エンジンや、その技術を支える知的集団というイメージが強いですが、もう1つの柱である分散システムの各種技術を初めて解説していることもあり、非常にエキサイティングでした。

論文を読めば書いてあることなのですが、いままではキーワードでしか知らなかったGoogleの技術が、この本を読むことで、わかってきます。

大学で分散システムや並列コンピューティングを学んだものとしては、なぜ第5世代プロジェクトは失敗して、Googleは成功しているのだろうかなど、色々と考えるところがあります。

いまや個人でもマルチコアのCPUが安価に手に入る時代ということもあり、いまの大規模分散システムも、10年後には、いずれパーソナルレベルに落ちてくるという未来を想像しても良いと思う。

Googleのクローン技術もいくつかオープンソース化されているようだし、道具は色々と整備されてきています。

ちょっと10年後を想定して、ものを作ってみるかな。

| | コメント (4) | トラックバック (0)

2008年2月11日 (月)

【雑誌】 パンドラVol.1 SIDEーA読破

やっと、パンドラVol.1 SIDEーAを読破しました。

初めて本屋でもったときはでかいし、厚いよ!

これで半分だなんてナンセンスだよ!

と、思いました。

ほっておくと積ん読になってしまうため、この3連休の1日を読書日に宛てて読破しました。

しかし清涼院流水さんや、西尾維新さんなどタフだなと思います。

いったいどんなペースで小説を書いているのでしょう。

読むのに比べて、書くのは大変だと思うのですけどね。

すごいものです。

さて、次はSIDE-Bです。

楽しみに待っています。

| | コメント (0) | トラックバック (0)