Day1のゴールと全体像
このDay1では、C#でプログラミングを始めるための「土台」を作ることを目標とする。 扱うテーマは次のようなものだ。
C#とは何か .NETとは何か 開発環境(Visual Studio / Visual Studio Code)のイメージ コンソールアプリケーションとは何か Mainメソッドとプログラムの「入口」 Console.WriteLine()で画面に文字を出す
ここでは、まず「言葉とイメージ」をしっかりつかみ、 後半で実際にコードを書いていくための準備をしていく。
C#とは何かをイメージでつかむ
C#は「Windowsが得意な、でもそれだけじゃない」プログラミング言語
C#は、Microsoftが作ったプログラミング言語である。 もともとはWindowsアプリケーションやゲーム開発(Unityなど)でよく使われてきたが、 今ではWebアプリ、クラウドサービス、コンソールアプリなど、幅広い用途に使われている。
特徴としては、次のようなイメージを持つと分かりやすい。
文法が比較的きれいで読みやすい 型がしっかりしていて、間違いを早めに見つけやすい 大規模な開発にも向いている
初心者にとっても、 「きちんとした文法で、後から読み返しやすいコードを書ける」 という点で、とても学びやすい言語だと言える。
例題:C#のコードの「雰囲気」を見てみる
まだ細かい意味は分からなくてよいので、 C#の最もシンプルなプログラムを眺めてみる。
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
C#この中には、C#の基本的な要素がすべて詰まっている。 クラス(Program)、Mainメソッド、Console.WriteLine。 Day1では、この「見慣れないけれど、そんなに怖くない」感じをつかむところから始める。
.NETとは何かをざっくり理解する
C#が動くための「土台」としての.NET
C#の話をすると必ず出てくるのが「.NET」である。 .NETは、ざっくり言うと「C#などの言語で書いたプログラムを動かすための土台・仕組み」のことだ。
もう少しイメージで言うと、こうなる。
C#は「言葉」 .NETは「その言葉で書かれた指示を実際に動かすエンジン」
C#で書いたコードは、 コンパイルされて .NET の上で動く。 そのおかげで、同じC#のコードが Windowsでも、Linuxでも、macOSでも動かせるようになっている。
例題:C#と.NETの関係を比喩で考える
C#を「楽譜」、.NETを「演奏する楽団」と考えてみる。 楽譜だけあっても音は出ない。 楽団だけあっても、何を演奏するか分からない。
C#でプログラムを書くことは「楽譜を書くこと」であり、 .NETは「その楽譜を読んで実際に演奏する人たち」のような存在だ。
このくらいのイメージが持てていれば、 Day1の段階では十分である。
開発環境のイメージをつかむ
Visual Studio CommunityとVisual Studio Codeの違い
C#を書くためには「開発環境」が必要になる。 代表的なのが、次の2つだ。
Visual Studio Community Visual Studio Code
Visual Studio Communityは、 C#向けに強力な機能がたくさん詰まった「統合開発環境(IDE)」である。 プロジェクトの作成、ビルド、デバッグ、コード補完など、 ほぼすべてがワンクリックでできるようになっている。
Visual Studio Codeは、 より軽量なエディタであり、拡張機能を入れることでC#も書けるようになる。 シンプルで軽く、他の言語も混ぜて使いたいときに便利だ。
初心者が「まずC#をしっかり触りたい」という場合、 Visual Studio Communityを選ぶと、 プロジェクト作成から実行までの流れが分かりやすい。
コンソールアプリケーションという入り口
Day1で作るのは「コンソールアプリケーション」である。 コンソールアプリケーションとは、 黒い画面(コマンドプロンプトのような画面)に文字を表示したり、 キーボードから入力を受け取ったりするタイプのアプリだ。
画面デザインやボタン配置などを考えなくてよいので、 「プログラムの中身」に集中して学ぶことができる。
最初の一歩としては、 このコンソールアプリケーションが最もシンプルで分かりやすい。
Mainメソッドとは何か
プログラムの「スタート地点」
C#のコンソールアプリケーションには、必ず Main メソッドが存在する。 Main メソッドは「プログラムが実行されたときに最初に呼ばれる場所」であり、 いわば「入口」「スタート地点」である。
典型的な形は次のようになる。
static void Main(string[] args)
{
// ここに処理を書く
}
C#この中に書いたコードが、 プログラムの実行開始とともに順番に動いていく。
例題:Mainメソッドの中に1行だけ書いてみるイメージ
例えば、Mainメソッドの中に次の1行を書いたとする。
Console.WriteLine("プログラムが始まりました");
C#プログラムを実行すると、 コンソール画面に「プログラムが始まりました」と表示される。
このように、Mainメソッドは 「最初に動く処理をまとめて書く場所」として理解するとよい。
Console.WriteLine()で画面に文字を出す
「コンソールに1行表示する」ための基本メソッド
Console.WriteLine() は、 コンソール画面に文字を1行表示するためのメソッドである。
書き方はとてもシンプルだ。
Console.WriteLine("Hello, World!");
C#この1行が Main メソッドの中にあるだけで、 プログラムを実行すると画面に「Hello, World!」と表示される。
重要なのは、次の2点である。
Console は「コンソール画面を扱うためのクラス」 WriteLine は「1行書き出す」という意味のメソッド
この組み合わせで、 「コンソールに1行表示する」という動きになる。
例題:複数行を表示するイメージ
Console.WriteLine() は、呼び出すたびに1行ずつ表示する。
例えば、次のように書くとする。
Console.WriteLine("1行目のメッセージ");
Console.WriteLine("2行目のメッセージ");
Console.WriteLine("3行目のメッセージ");
C#実行すると、コンソール画面には
1行目のメッセージ 2行目のメッセージ 3行目のメッセージ
というふうに、縦に並んで表示される。
Day1の前半では、 「Console.WriteLine() を使えば、好きなメッセージを好きなだけ表示できる」 という感覚をつかむことが大切である。
Day1 前半のまとめ
Day1 前半で押さえるべきポイントは、次のようなものだ。
C#は、読みやすくて実用的なプログラミング言語である .NETは、C#のプログラムを動かすための土台である 開発環境として Visual Studio Community / Visual Studio Code がある コンソールアプリケーションは「黒い画面に文字を出す」タイプのシンプルなアプリである Mainメソッドはプログラムの入口であり、最初に実行される場所である Console.WriteLine() はコンソールに1行表示するための基本メソッドである
後半では、 実際に「Hello, World!」を表示するコンソールアプリを作り、 名前を表示したり、複数行のメッセージを出したりしながら、 C#の最初の一歩をコードで体験していく。
