Visual Studio .NET(VS .NET)が登場して1年半が過ぎ,.NET Frameworkもプログラマの間に定着してきた。かつては入門書ばかりが目に付いた .NET関連の参考書だが,最近になってバリエーションが広がり,中/上級者向けの書籍も数多く見られるようになっている。

 ここではそうした .NET関連の書籍を紹介する。まず入門書としてVisual Basic .NET(VB .NET)とVisual C# .NETを対象にしたものを取り上げる。特にVS .NETから新たに加わったVisual C#に重点をおく。逆にVisual C++については今回触れない。C++言語を勉強するための書籍は,こちらの記事を参照してほしい。

 次に紹介するのは初/中級者向けのリファレンスである。ここではVisual C#プログラマを対象にした本を取り上げる。.NET FrameworkはVB .NETプログラマにとって 共通テーマであり,言語自体も類似している。Visual C#の参考書をVB .NETプログラマが読むのはさほど難しくはないだろう。

 次に .NETの特定の機能を切り出して,集中的に解説した本を紹介する。言語を特定していないので,VB .NETユーザーであってもVisual C#ユーザーであっても問題なく読み進められるはずだ。

 最後に紹介するのは .NET Frameworkが備えている共通言語ランタイム(CLR)を中心に解説している本である。CLRについて深く知ることが .NETの本質を理解することにつながるからだ。

.NETでプログラミングを始めるための2冊

 アマチュアからプロまでVisual Basic(VB)プログラマの人口は多い。また,VBをプログラミングの第一歩とする人も多い。このためVBの入門書は昔から豊富に出ており,かつ質も高い。VBがVB .NETになってからも,その傾向は同じだ。そのぶん,“これがVB .NET入門の定番”と言い切れるものを選ぶのは難しく,書籍選択に悩む読者は少なくないだろう。

ひと目でわかる
Microsoft
Visual Basic .NET
入門

薄金 宏之進 著
日経BPソフトプレス 発行
2003年5月
290ページ+CD-ROM
C# .NET
プログラミングマニュアル

吉松 史彰,山崎 明子 著
技術評論社 発行
2002年9月
439ページ

 そうした状況ではあるが,今回は特に「ひと目でわかるMicrosoft Visual Basic .NET入門」を紹介したい。この本はプログラミングの経験がまったくなくても,さらにはパソコンのスキルがそれほど高くなくても読み始められる。全ページがフルカラーで,操作を説明する画面写真も多い。

 画面写真には番号入りで,すべての手順を示す吹き出しが書き込まれている。一般的な入門書だと「~ボタンをクリック」と書いてあるだけで,そのボタンが画面のどこにあるかまでは記述していないことが多い。しかし本書は「初心者はどこで迷うのか」ということをよく研究しており,細かい気配りが感じられる。中級以上には退屈かもしれないが,初心者にとっては重要なことだ。

 最後の方で,簡単なプログラムを作り,デバックし,ほかのパソコンにインストールするまでの作業を解説している。少し応用すれば,フォームにコントロールとメニューを配した簡単なプログラムを自分で作れるようになるだろう。各節のタイトルの多くは「~するには」と,“逆引き”としても使えるようになっているので,通読した後は初心者向けのリファレンスとして使うこともできる。

 「VB .NETではつまらない。どうせなら .NETらしい最新の言語C#を使ってプログラミングをスタートさせたい」というならば,「C# .NETプログラミングマニュアル」がよいだろう。

 VS .NETのインストールから始まり,C#の文法全般,オブジェクト指向やWindowsアプリケーションとWebアプリケーションの作成,データベースの利用,XML Webサービスについて…と初心者が学ぶべきことがほぼカバーされている。

 ベースは初心者向けだが,Windows XPの外観(Lunaインタフェース)に合わせたアプリケーションを作る方法や,スキンに対応したハート型のウィンドウを作る方法など,プログラミングを楽しくさせる細かな情報が多く取り上げられている点は好感が持てる。中級者以上がページをめくってみても,新しい発見があるかもしれない。リファレンスとしても使えるだろう。

 「ひと目でわかるMicrosoft Visual Basic .NET入門」のようなフルカラーではないが,あちこちにコラム記事があり,画面写真もそこそこ大きいので,堅い印象はない。

短期間にC#を身に付けたいなら

10日間マスター講座
C#プログラミング
【基礎】

横田 一輝 著
技術評論社 発行
2003年7月
255ページ

 C#によるアプリケーション作成の全体像を,もっと短期間で把握してしまいたいという人にお薦めなのが「10日間マスター講座C#プログラミング【基礎】」である。前述の「C# .NETプログラミングマニュアル」が,一歩ずつ学習を進めるというスタイルならば,この本は短期集中で知識を詰め込む形式になっている。

 プログラミング自体がはじめてという読者を強く意識しており,前半部分はプログラミング全体の流れ,Webの仕組み,用語説明,演算子の使い方,配列の概念など,あまり言語に依存しない部分の説明で占めている。書名通り10日間で学習できるように構成されているが,VS .NETを使ったプログラミングが始まるのは9日目からだ。

 一つのテーマで見開き2ページ,1日に10個程度のテーマを勉強するようになっている。読んで理解するだけならばもっとハイペースで進められるだろう。プログラミング初心者で,C#の使い方だけでなく,周辺知識も身に付けておきたいと考えている人に向く。

あると便利なC#の逆引き集

Visual C# .NET
基礎300の技

ガリバー 著
技術評論社 発行
2002年7月
395ページ+CD-ROM

 VS .NETを使ってプログラミングをしていると,「~をしたいけど,どうすればよかったかな」とか「ウィザードが自動生成したコードのどこをどのように変えればいいか,自分のやり方で正しいだろうか」などと思うこともあるだろう。そうした人にお薦めなのが,C#の逆引き集「Visual C# .NET基礎300の技」だ。最初から順に読み進めていくタイプの本ではなく,プログラムを作りながら「こんなことできなかったかな?」と思ったときに目次から逆引きするための本である。

 取り上げている技(テクニック)は,統合開発環境(IDE)の使い方(関数の定義元にジャンプするなど)から,メソッドに変数を参照渡しする方法,ファイル・コピーのアニメーションを表示させる方法などバラエティに富んでいる。忘れがちな操作方法を思い出させてくれたり,パラパラとめくっていると「こんなことも簡単にできたんだ!」と思えるような項目に出会うこともある。

 実現させたい機能と,それを実現するための操作方法とコードだけなので,特定の命令やコードがどのような意味を持つかなどを学習することはできない。ただし,操作方法はていねいに書かれているので,初心者でも書かれた通りにプログラミングすれば,目的の機能を自分のアプリケーションに簡単に組み込めるようになるだろう。

.NETでオブジェクト指向を学ぶ

Visual Studio .NET2003
オブジェクト指向で
すっきりわかる
「クラスと名前空間」

豊田 孝 著
技術評論社 発行
2003年9月
263ページ+DVD-ROM

 VS .NETのウィザードが自動生成するコードを分析することで,オブジェクト指向を理解しようという本もある。「Visual Studio .NET2003 オブジェクト指向ですっきりわかるクラスと名前空間」である。

 VS .NETで「新しいプロジェクト」を選ぶと,さまざまなアプリケーションのひな形が一覧される。この中から何か選ぶと,コードが自動生成され,ファイルもいくつか自動作成される。この本を読めば,これらの作業の意味するところ,どこを変えると何が変わるかといったことがわかるようになる。

 また,自動作成されたアプリケーションのひな形を,オブジェクト指向で作られたもののサンプルとしてとらえ,クラスの概念を説明している。ふだんウィザードを使っていて何が行われているかを知らなかったという人は,面白く読み進められるだろう。

.NETリモーティングをていねいに説明した一冊

これからはじめる
.NET Framework
.NETリモーティング編

鄭立 著
秀和システム 発行
2003年8月
194ページ+CD-ROM

 初心者向け解説書や入門書には触れられていないが,クライアント/サーバー(C/S)型のアプリケーションを作成する際に基本となる技術として .NETリモーティングがある。RPC(Remote Procedure Call)の一種であり,COM(Component Object Model)/DCOM(Distributed COM)から発展したもので,コンピュータ間の通信を可能にする技術である。詳しく知りたければ「これからはじめる .NET Framework .NETリモーティング編」がよいだろう。中/上級者向けの解説書にならないと,なかなか登場しない .NETリモーティングについて,初級者でもわかるように説明してあるのがいい。

 Visual C#とVB .NETの両方のコードを掲載しているので,どちらのユーザーでも,スムーズにコードを追える。C/S型のアプリケーションを作るのは難しいのではないかと思っている人は,ぜひ一読してみよう。想像以上に簡単に作成できることがわかるはずだ。

.NETの本質にせまりたい

プログラミングC#
Tom Archer 著
豊田 孝 監訳
日経BPソフトプレス 発行
2001年9月
464ページ+CD-ROM
Essential .NET
―共通言語ランタイムの本質

Don Box,Chris Sells 著
吉松 史彰 監訳
日経BPソフトプレス 発行
2003年6月
396ページ
プログラミング
Microsoft
.NET Framework

Jeffrey Richter 著
吉松 史彰 監訳
日経BPソフトプレス 発行
2002年7月
594ページ

 VB .NETやVisual C# .NETを使ってプログラミングできるということと,.NETを理解したということは同じではない。プログラミングができるだけというのは,.NETの使い方がわかっただけで,どうしてそうなるのかを理解しているとは言えない。逆にそれを理解すれば,正確で移植性も高く,効率の良いアプリケーションを作成できるようになる。

 .NETを理解するためには共通言語ランタイム(CLR)を深く知ることが不可欠である。ここではCLRの理解を深める本を紹介しよう。

 まずは「プログラミングC#」を挙げたい。書名にあるように,純粋にC#の知識を深めたいという人にもお薦めだ。1章が .NETとC#の概念,2章がC#におけるクラスの意味,3章がC#のコーディング・テクニック,4章がマルチスレッドや低レベルな処理の作成などの高度なアプリケーションを開発するために必要な情報,といった構成になっている。

 章立てを見ると,初級者向けに書かれたC#言語の使い方の本と思えるが,読んでみるとそれだけではないことがわかる。説明しているC#のコードがCLRでどのように扱われるかの解説や,なぜそのようなコーディングを行うのかを,CLRでの扱われ方をベースにして解説している。つまり,C#を学習しながら .NETについての理解を深められるわけだ。

 もっとCLRに絞った詳しい解説を読みたいとなると,「Essential .NET」「プログラミングMicrosoft .NET Framework」の2冊がいいだろう。

 「Essential .NET」は,COMの名解説者として有名なDon Box(ドン・ボックス)氏が著者として参加している本である。まずは,COMからCLRへの進化を説き,コンポーネントや型のCLRでの扱いなどを解説する。さらに,インスタンスやメソッドなどさまざまなプログラム要素がどのようなCLRの動作と関連するかなどを詳しく説明している。

 一方「プログラミングMicrosoft .NET Framework」は,より網羅的にCLRの働きを説明している。章立てとしては,型を切り口にしており,型の操作,型の設計,型の管理といった観点から説明しているのが特徴だ。

 どちらの本も掲載しているコードにはVisual C#を使っており,C#言語をすでにマスターしていることを前提にしている。ただし,Visual C++ .NETやVB .NETのどれかをマスターしていれば,それほど苦労せずに読むことができるはずだ。これら2冊を読めば,CLRがどのようにコードを解釈していくのかが理解でき,プログラムを高速化したり,低レベルな部分でチューニングするといったことも容易にできるようになるだろう。