特集:フレッシュマン企画

【2012年度版】
新人プログラマーのためのInsider.NETの歩き方

デジタルアドバンテージ 一色 政彦
2012/05/22

 開発者として一人前になるまでには、さまざまな開発知識を習得しなければならない。本稿ではその最初の一歩となる指針を提供したい。

 インターネット上には開発(プログラミング)に関する情報があふれている(参考:「【2011年度版】.NET開発者のためのオンライン・リソース・ガイド」)。だからといって、それらの情報を手当たり次第に学習しようとしても、同じ情報をさまざまなサイトで繰り返し読む羽目になったりして非常に効率が悪い。まずは、じっくり腰を据えて、1つの情報源から着実に学ぶことをお勧めしたい。

 そして読者諸氏が「.NET」(詳細後述)のプログラマーを目指す新人であれば、ぜひ@IT/Insider.NETをその情報源として活用していただきたい。@IT/Insider.NETは、「.NET」という開発技術が世に紹介された2000年から、.NET開発者の支援を目的として設立されたWebメディアであり、これ以後.NETの発展と歩調を合わせながら、約12年以上にわたりさまざまな技術情報を公開してきた。すべてではないが、初心者を意識した記事は数多い。.NETプログラマーを目指す読者に必要なひととおりの情報は網羅されていると自負している。

 しかし単純に記事数が多いこと、また1冊の入門書とは異なり、必ずしも記事の公開順序が初心者の学習ステップにのっとっていないなどの理由から、初心者にとっては、まず何から読み始めればよいのか、どのような順序で読み進むのが理解しやすいのかが分かりにくいのも事実である。

 そこで本稿では、.NETの初学者が最初に学ぶべき段階を次の5つに分け、段階ごとにお勧めの既出記事を紹介することにした。まずは、以下で紹介する記事を1つずつ読破していただきたい。

  • 第1段階:.NETについて学ぶ
  • 第2段階:開発環境の使い方を覚える
  • 第3段階:C#言語を覚える
  • 第4段階:Webアプリ/Windowsアプリの開発を学ぶ
  • 第5段階:データベース開発を学ぶ

 もちろん「これだけ読めばすぐに一人前の開発者になれる」といっているわけではない。やはり、開発者としての十分な知識を得るには、それぞれの会社で行われる研修や、実際の開発作業での経験の積み重ねが、何よりも重要である。しかし@IT/Insider.NETの記事で開発の基本を学ぶことは、そうした実戦知識を吸収するための手助けになるはずだ。

 それでは各段階についてそれぞれお勧めの記事をピックアップしていくことにしよう。

第1段階:.NETについて学ぶ

 何よりもまずは、開発技術の中心となる「.NET」について理解しておく必要がある。そのために役立つのが次の記事である。

.NETとは何か?(全1ページ)

第2段階:開発環境の使い方を覚える

 次に、.NETの開発を学ぶためには、その開発環境の使い方について学ばなければならない。開発環境がなければ、(基本的に)開発を始められないからだ。

 .NETでは、「Visual Studio」という開発環境を使うのが一般的だ。そのVisual Studioの最も入門的な使い方を説明しているのが次の連載記事である。

簡単!Visual Studio 2010入門(全25ページ)

 開発環境の使い方を覚えたら、実際にその開発環境を使いながら、プログラミング言語を覚える。そのプログラミング学習の際に頻繁に利用することになるのが、コンソール・アプリである。そのように利用することになる理由は、コンソール・アプリが、GUIを持たないプログラムであるためにプログラミングのコード(=記述)が最もシンプルになるからである。このコンソール・アプリの最も基本的な開発方法については、先ほど示した連載にある「プロジェクトを新規に作成する」の項が参考になるだろう。

第3段階:C#言語を覚える

 ここからがプログラミング習得の本番となる。この段階ではプログラミング言語を習得するが、これはプログラミングを学ぶうえで最も骨の折れる作業の1つである。ここは気合いを入れて取り組んでほしい。

 最初にプログラミング言語を選ぶ。.NET開発であれば、一般的にC#かVisual Basic(以降、VB)のどちらかであろう。その決定は、自分の会社でどちらの言語をメインに使っているかによって変わるので一概にはいえない。どちらでも選択できるという状況であれば、C#を強くお勧めする。理由は、VBは.NET開発において最も人気のある言語だが、C#は.NET以外のC++やJavaなどにも言語構文が似ているので、プログラミング技術の汎用性が高いからだ。また、しばらくC#とVBで拮抗(きっこう)していた人気が、最近ではC#の方に大きく傾いてきているからだ。

 どのプログラミング言語を習得するかに合わせて、次のいずれかの記事を読んで、実際にコンソール・アプリでプログラムを動かしながら、プログラミング言語を習得していってほしい。

連載:改訂版 C#入門(全76ページ)

連載:改訂版 VB.NETプログラミング(全73ページ)

 なお、これらのプログラミング講座の内容はC#/VBの最もベーシックで古い機能(C# 1.0/VB 2002)を解説しているが、C#やVBは数年おきのバージョンアップで進化してきており、最終的には最新の言語機能にまでキャッチアップすることが望ましい。これらの講座をマスターした後は、C#なら、さらに「連載:C# 2.0入門」→「連載:[完全版]究極のC#プログラミング(C# 3.0)」→「連載:C# 4入門」と読み進めるのがベストだ。VBなら、「Visual Basic 2010の新機能」をぜひ一読してほしい。

第4段階:Webアプリ/Windowsアプリの開発を学ぶ

 プログラミング言語を習得して、ようやくアプリ(一般的な呼び方。正しくは「アプリケーション」)が作れるようになる。

 現在のソフトウェア開発企業では、「Webアプリ」か「Windowsアプリ(=デスクトップ・アプリ)」のどちらかを開発することが一般的である(最近では、スマートフォンやタブレット向けのアプリ開発も増えてきている)。この選択も、所属する企業(その企業が得意とするアプリ種別)や、プロジェクトの目的などによって変わってくる。

 ちなみに@IT/Insider.NET(や.NET開発者中心)のこれまでのアンケート調査を見る限りでは、「Webアプリ」もしくは「Windowsアプリ」を開発しているプログラマーは、どちらもほぼ同数程度存在するようである。

 どちらでも選択できるという状況であれば、まずはWebアプリを習得することをお勧めする。理由は、Webアプリを利用できるデバイス(=端末)が、PCやMacなどのデスクトップから、iPhone/iPadやAndroid、Windows Phoneなどのスマートフォン&タブレットまでと多種多様なので、マルチデバイスをターゲットにしてアプリを幅広く多くのユーザーに提供できる可能性があるからだ。

 どちらの種類のアプリを開発するかに合わせて、次のいずれかの記事を読んで、実際にプログラムを作成しながら、アプリの開発方法を学んでいってほしい。

連載:ASP.NET MVC入門【バージョン3対応】(全30ページ)

WPF/Silverlight UIフレームワーク入門(全15ページ)

 ASP.NET MVC 3は比較的新しいWebアプリ開発技術になる。この技術が登場する前から使われているWebアプリ開発技術に、「ASP.NET Webフォーム」がある。これについて習得する必要がある場合は、「連載:プログラミングASP.NET」を参考にしてほしい。

 また、WPFは比較的新しいWindowsアプリ開発技術である。それよりも古い、.NET登場時から使われているWindowsアプリ開発技術が「Windowsフォーム」だ。これについて習得する場合は、「連載:Windowsフォーム開発入門【Visual Studio 2010対応】」を読んでほしい。

 なおSilverlightは、基本的にはブラウザ・プラグインとしてWebページやWebアプリの中で利用できる技術(Flashと同じジャンルの技術)だが、「アウト・オブ・ブラウザ」という機能を使うと、Windows上のデスクトップ・アプリとしても利用できる。Windows Phone向けの開発がSilverlight開発に近かったり、次期Windows 8のMetroスタイル・アプリ(=タブレット端末で使うのに最適なアプリ形態)を開発するのが(WPF開発よりも)Silverlight開発に近かったりするのでスキルの使い回しが利くという理由、さらにはマイクロソフトによるSilverlight 5のサポート・ライフサイクルが「2021年10月12日まで」と約10年近く安心して使い続けられるという理由で、デスクトップ・アプリを開発する技術としては、WPFよりもSilverlight(アウト・オブ・ブラウザ)を推奨する声も少なくないので、そのあたりにも留意して、WPFにするか、Silverlightにするかを選択するとよい。

 WPFについてより詳しく学習する場合には「WPF入門」がお勧めだ。Silverlightの場合は「次世代技術につながるSilverlight入門(連載中なので未完)」を読んでほしい。

第5段階:データベース開発を学ぶ

 以上までの学習で、取りあえずアプリが開発できるようになったはずである。しかし、実際のアプリでは、データベース(=データを蓄積して検索可能にしたシステム)を扱うことがほとんどだ。そこで、.NET開発者の学習過程における最終段階は、このデータベースを扱う開発の方法の習得である。

 これには次の記事が役立つ。

連載:ADO.NET Entity Framework入門(全31ページ)

 Entity Frameworkが登場する前には、「ADO.NET(データセット)」という技術が使われていた。これについて学習する場合は、「連載:Visual Studio 2005でいってみようDBプログラミング」から始めるとよい。この記事はVisual Studio 2005が使用されているが、Visual Studio 2010における開発でも十分に参考になるだろう。

 以上の5段階が.NET開発の入門的な基礎を習得するうえで最初に読むべき記事群である。もちろん完ぺきにこのとおりに読み進める必要はないが、自分の状況に合わせて上手に活用しれいただければうれしい。本稿の内容がプログラミングを習得するうえでの何らかのヒントになれれば幸いだ。End of Article



Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間