何事もそうだが、誰もが最初は初心者である。そして初心者は往々にして、「何が分からないのかが分からない」という状態に陥りやすい。多分、ソフトウェア開発の世界でもそういうことはあるだろう。
では、そういう開発初心者に対して、MSDN オンラインがどんな取り組みを行っているか。そうした事例として、Code Recipeについて取り上げてみよう。
Code Recipeとは?
後で紹介するように、MSDN オンラインには以前からサンプルコード集がある。あいにくと英語版だが、コードそのものは日本語を扱うプログラムでも流用できる場合が多いだろう。ただし、サンプルコードというのは、すでになにがしかのプログラムのスキルを持っている人が見て、初めて役に立つものといえる。
MSDNライブラリにも、同じことがいえる。確かにこれは「宝の山」で、MSDN オンラインでも特に多くのアクセスを集めている人気コンテンツだ。ただ、技術情報がそのままむき出しで書いてあるので、初心者にとってはいささか荷が重い一面があるのは否定できない。
そこで日本語版MSDN オンラインで2009年11にスタートしたのが、Code Recipeというわけだ。プログラミングの初心者を意識して、気軽に取り組むための手助けをするためのコンテンツ、という位置付けになる。これで土台を作って、そこからステップアップしていってください、というわけだ。
Code Recipe - .NET 開発サンプル コード集
http://msdn.microsoft.com/ja-jp/samplecode.recipe.aspx
ちなみに、サンプルコードを見ているだけでは学習にならないので、実際に動作させてみたいだろう。そういった「初めの一歩」のツールとして、無償配布されているVisual Studio 2010 Expressを紹介しよう。
これは開発ツールとして必要最低限の機能しか備えていないので、本格的なアプリケーション開発に際しては上位エディションを導入する必要があるだろうが、初めてコードを書いて動かしてみる程度なら、十分に役に立つ。
Microsoft Visual Studio Express
http://www.microsoft.com/japan/msdn/vstudio/Express/
Code Recipeでできること
Code Recipeは、その名前とは裏腹に、単なるサンプルコードの集合体ではない。
そもそも、かつてはソフトウェア開発といえばWindowsを初めとする各種OSの上で動作する実行形式プログラムのことだったが、最近ではWebアプリケーションもあるし、Windows Azureみたいなクラウド環境もあるし、OfficeやSharePointみたいな既存のアプリケーションソフトを活用する形での開発もある。それだけ、関わってくるテクノロジーの幅が広くなり、話が複雑になっている。
そこでCode Recipeでは、「どういったテクノロジーがあるか」「それで何ができるのか」「どんな形でコードを書くと動くのか」といった話を、できるだけ簡潔に、分かりやすい形で提供するように工夫している。だから、カテゴリーとしては「ラーニング」の一部という位置付けになっている。
たとえば、「10行コードで学ぶ…」と名付けられた一連のコンテンツでは、アプリケーション開発の概要と配置・実行、Windowsアプリケーション、Silverlight、Webアプリケーション、Windows Azure、データベースへのアクセスなど、それぞれのテクノロジーの分野ごとに、基本となる情報やサンプルコードをまとめてある。
現在、マイクロソフトの開発環境と関連するテクノロジーは「.NETテクノロジー」と総称されているが、そこで使用するプログラム言語にはC#とVisual Basicの2種類がある。そのため、「10行コードで学ぶ…」もC#対応版とVisual Basic対応版が別々に用意されている。
「10行コードで学ぶ…」
C# : http://msdn.microsoft.com/ja-jp/netframework/ee708289.aspx
VB : http://msdn.microsoft.com/ja-jp/netframework/ee708290.aspx
ただ、「10行コードで学ぶ…」はあくまで、サンプルコードを使ってテクノロジーの概要を把握するためのものだ。もうちょっと具体的な何かが欲しい、ということもあるだろう。
そもそも個人的経験からすると、プログラミングというのはまず、ちゃんとエラーを起こさずに動かすまでが最初のハードルだ。逆にいえば、シンプルなものでも何でも、とにかく自分が書いたコードがエラーを出さずに動いてくれると、嬉しいし、ちょっとずつ自信がつく。そこで活用してみたいのが、「逆引きサンプルコード」だ。
これはその名の通り、「文字列操作」「ファイル・ディレクトリ操作」「XML操作・データフォーマット」など、実際のソフトウェア開発で遭遇することが多い場面・用途について、サンプルコードを示したものだ。Code Recipeのトップページでは分野の一覧しか表示していないが、以下のWebページにアクセスすると、もっと具体的な記述例がいろいろと載っている。
ちなみに、以前から存在するものとして英語版MSDN オンラインのサンプルコード集もある。
MSDN Code Gallery (英語)
http://code.msdn.microsoft.com/CodePlex (英語)
http://www.codeplex.com/