【初心者向け】C#の学習 はじめの一歩

プログラミング初心者の中には「C#を勉強したい」という方も多くいらっしゃるかと思います。

C#は、Microsoft社が開発した言語で、デスクトップアプリからWebアプリケーション、スマホアプリ、また企業の業務システム開発などに広く使われています。また、UnityというゲームエンジンとC#を使えば個人でも簡単にゲーム開発ができるため、近年はゲームエンジニアを目指す人からの人気が高くなっています。

この記事では、そんな人気上昇中のC#について

  • C#とは
  • C#の特徴
  • C#の活用用途

という基本的な内容から、C#の学習方法や開発環境などの詳しい内容に関しても解説していきます。

これからC#のプログラミングを始めようという方の参考となれば幸いです。

C#とは

まず、C#言語の成り立ちについて簡単に説明しておくことにします。C#という言語は、すでにあったC言語、およびC++言語の後継言語としての位置づけがなされています。そのため、C#の#という記号は、この言語が、「C++++言語」であるという意味合いを含んでいます。

C#(シーシャープ)とは、マイクロソフト社が2002年に独自開発した言語の一つで、元々Microsoft社のWindows等が主な動作環境でした。その後オープンソース化され、「Mono」という「.NET Framework」互換環境が無料で提供されておりMacやLinuxでもC#でプログラミングできます。

C#は、C++やjavaと同じくオブジェクト指向と呼ばれている言語です。比較的新しいプログラミング言語ですが、それでも10年以上使われており、その間に数回バージョンアップをしています。言語的に十分熟成しており、他の言語に引けを取りません。(最新のバージョンはC# 7.0です。

オブジェクト指向とは、操作の対象となるデータ構造(オブジェクト)を中心としてプログラムを構築する方法のことです。書き方の文法はC++、java、Delphiと似ているので、C#で覚えた知識をこれらの言語で活かすこともできます。

最近はUnityXamarinが登場し、 iOSやAndroidで動くアプリケーショ ンの作成やゲームの作成も可能です。

統合開発環境の「Visual Studio」を使えば比較的簡単にGUIアプリケーションを作ることができるため、プログラミング初心者におすすめの言語です。

C#の特徴

オブジェクト指向言語
C#は、「C++」や「Java」と同じように、オブジェクト指向言語です。

コンポーネント指向言語
C#には「コンポーネント指向プログラミング」のサポートが含まれています。

コンパイラ言語
C#はコンパイラ言語で、共通言語基盤(共通言語ランタイムなど)が解釈する共通中間言語にコンパイルされて実行されます。

マルチパラダイム言語
C#は、パラダイム言語であり、複数のパラダイム要素特性を持ちます。

■.NETアーキテクチャ
C#プログラムの実行については、プログラム実行環境「.NET Framework」が必要です。

習得の容易性
C++と比較すると安易に習得できるということです。

汎用性
webアプリやスマホアプリ、ゲーム、業務システムアプリの開発など、汎用性があることも特徴の一つです。

幅広いプラットフォームに対応する言語
Windows・Mac・Linux・Android・iOS・Windows Phone・XBOXなど、Windows以外の環境にも対応できるというのも特徴です。

C#のメリット・デメリット

自身のやりたい開発に適しているかをみるためにも、C#のメリットとデメリットをしっかり理解しておきましょう。

C#のメリット

C#のメリットとして次のような点があります。
高機能—GUI開発、データアクセス関連、グラフィック関連、サウンド関連
安定性
・インターネット向け仕様に対応できる
・Microsoftによる強力なサポート—機能強化
・ドキュメントが充実
学習コストが低め—C++より簡単に習得できる など

C#のデメリット

C#のデメリットの一つは、ハード制御が不可能なため、OS開発はできないということです。

またC#は、「Mono」を使えばMacやLinuxでもプログラミングをすることは可能ですが、基本的にWindowsに特化した言語ということから、Linux環境での開発が困難ともいわれています。

他にも、.NET Frameworkの互換性が完全ではないこともデメリットの一つといえるでしょう。

C#の活用用途

  • Windows上で動作するアプリケーションの作成
  • Webサイトの構築(.NETのLinux対応)
  • クロスプラットフォーム開発
    (XamarinによるWindows Mobile、iOS、Androidなどのアプリケーションの作
  • Unityによるゲーム制作
  • IoTデバイスで動作するアプリケーションの作成
  • OfficeやSharepointの拡張機能
  • クラウド(Azure)で利用するアプリケーション

C#で作られたサービスは、「マイクロソフト公式サイト」、「Skypeの公式サイト」、ポータルサイトの「MSN」、検索サイトの「Bing」等があります。その他に価格.comやトレンドマイクロソフト、ニッセンなど、多く大手企業でも使われています。

沢山書きましたが、「わりと何でもできる」感じです。

初心者向け C#の学習方法

C#を習得するには、学習サイトを利用したり、スクールに参加したり、書籍によって独学したりする方法があります。

学習サイトのメリットは、動画を視聴できたり演習ができたりする点にあります。レベル別になっているものが多く、個人のレベルに合わせて学習できるのも利点です。一方、デメリットはPCやスマートフォンが利用できる環境が必要な点や、自分に合ったサイトが見つかるまでに時間を要してしまう点です。

スクールのメリットは、同じ目標の仲間が身近にいることです。分からない部分の確認がすぐでき、モチベーションの維持や学習の継続にもつながりやすくなります。デメリットは、授業料がかかる点や講師の質にばらつきがある点です。入学前にはセミナーや勉強会に参加して、スクールの本質を見極めることが大切です。

書籍については、場所を選ばず学習ができる点やスキマ時間を有効に使える点がメリットであり、分からないことがあってもすぐに解決しにくい点がデメリットと言えます。

C#の学習サイト

Paizaラーニング「C#入門」

オンラインでプログラミング学習ができる「paizaラーニング」には、C#はもちろんJava、Python、Ruby、PHP、C言語、JavaScript、HTML/CSS、SQLなどなど多数の言語から、Webアプリ開発入門、ITエンジニアのキャリア入門などのレッスンもございます。

「C#入門編」は【全編無料】です。ご興味のある方は是非ごらんください。

paizaラーニング「C#入門編」へ

Microsoft Vitual Academy

マイクロソフトが運営する、Microsoft DeveloperNetwork(MSDN)提供のオンラインeラーニングサービスです。無料で動画やスライドによる講義を見ることができます。動画やスライドを見ながらC#の書き方やVisualStudioの使い方などを学べるコースが公開されています。

日本語のVideoもありますが、英語のVideoが多いのが残念です。

Microsoft Vitual Academyへ

未確認飛行C

C#によるプログラミング入門です。C#初心者の方はもちろん、これからプログラミングをはじめようという方も対象としています。

未確認飛行Cへ

一週間で身につくC#言語の基本

これからプログラミングを学ぶ初心者に、C#を1週間で身につけてもらうための内容です。

基本編、応用編、練習編などに別れています。
一週間で身につくC#言語の基本へ

WisdomSoft C# 入門

統合開発環境や文法の基礎について幅広く解説されています。

このサイトはC#を使いこなすために学習するというよりも、分からない用語を調べる際の辞書的な役割として活用するのがおすすめです。

WisdomSoft C# 入門へ

C#初心者が学べるスクール

Tech Academy

Tech Academyには、いくつかのコースがありますが、「Unityコース」では2D・3Dのオリジナルゲームを動かすために必要なスクリプトとしてプログラミング言語「C#」を学び、コーディングする技術を身につけます。

オンラインの授業で、パーソナルメンターが付いてくれます。



TECH::CAMP(テックキャンプ)

VR・3Dゲーム開発」のコースでUnityとC#を使ったゲーム開発をすることができます。

TECH::CAMPでは、オンラインチャットでメンターの方達に質問することができます。



C#初心者におすすめの入門書籍

独習C# 第3版

  • 作者:山田祥寛
  • 出版社/メーカー:翔泳社
  • 発売日:2017/12/15

独習C#は、各章末に練習問題があり、C#の基本をしっかり習得できます。個人的には、まったくのプログラミング初心者だと少しハードルが高いかな?と思いますが、「学習サイトなどで入門レベルのことは理解した」「他の言語を使った経験がある」という方には申し分ない一冊だと思います。
Amazon へ

猫でもわかるシリーズのC#の決定版入門書第3版

  • 著者  粂井 康孝
  • 価格      ¥ 2,700
  • 出版日   2016/02/27

簡単な文法の確認から、本格的に「C#ができるようになった」と言えるレベルまでしっかりと学べます。

「オブジェクト指向」という考え方もしっかりと身につけられる一冊です。
Amazon へ

C#開発環境

C# でプログラミングを行うためには、統合開発環境を利用する方法と、コンパイラーだけ入手してテキスト エディターで開発する方法とがあります。

統合開発環境(IDE)

統合開発環境(Integrated Development Environment、略してIDE)は、 ソースコードの編集、コンパイル、デバッグなど、プログラム作成に必要な機能を統合的に提供するGUIプログラムです。 概ね、以下のようなことができます。

・コードハイライト

・コード補完

・エラーの指摘

・デバック実行

・パッケージ化

Visual Studio

Visual Studioは、Windows専用ではありますが、古くからある高機能なIDEです。

C#と同じくマイクロソフトが開発するVisual StudioはC#と密接に連携しており、インテリセンス(コード補完)やリファクタ、デバッグなどで生産性を飛躍的に高めてくれます。

Visual Studioが最初に開発された1997年から、2017年で20年経ちます。C#と共にバージョンアップしていくため、最新のC#の言語仕様に対応してくれます。

現在の最新パージョンは「Visual Studio 2017」で、定期的にアップデートが行われています。
一部条件のもと、誰でも無償で使えますので、ぜひともインストールしてみましょう。

Visual Studio公式ページへ

その他

  • MonoDevelop: クロスプラットフォームIDE。
  • Visual Studio for Mac も、中身は MonoDevelop + iOS/Android開発プラグインみたい。

テキストエディタと拡張機能

Visual Studio (for Windows)くらい「全部入り」な IDE だと、インストールや起動が重くて嫌という人もいると思います。 なので、単に「テキストを編集する」用途の場合、テキスト エディターと呼ばれるようなもっとシンプルなアプリを使うことが多いでしょう。

そして、普段使い慣れているテキスト エディターで、そのまま開発作業もしたいという要望もあります。 最近のテキスト エディターは拡張機能が充実していて、開発支援用の拡張もいろいろ提供されています。

Visual Studio Code

Visual Studio Codeは、クロスプラットフォームで動く開発ツールです。
Visual Studio Code公式ページへ

コンパイル方法

①ソースコード

素の状態でエディタもインストールしていないので、メモ帳でコードを書いていきます。デスクトップに HelloWorld.cs というファイルを作成して、以下のコードを入力します。Hello World と表示するだけの何の変哲もないコンソールアプリケーションです。

using System;

class HelloWorld
{
    static void Main()
    {
        Console.WriteLine("Hello World");
    }
}

②コンパイル

早速コンパイルしていきます。PowerShell を開いて以下のコマンドを実行します。

cd ~\Desktop
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe .\HelloWorld.cs

成功するとデスクトップに HelloWorld.exe が作られます。

③実行

続けて PowerShell から HelloWorld.exe を実行します。

.\HelloWorld.exe

「Hello World」と表示されれば OK です。

まとめ

C#はマイクロソフトが直接開発しているため、Windowsとの相性がよく、Windowsをターゲットとする開発に最適です。
もちろん、ウェブサービスやスマホアプリ、ゲームなど、Windows以外を対象とする開発でも力を発揮します。
マルチプラットフォームであることを活かして、いろいろなアプリを開発してみましょう。

あなたはC#でどんなものを作りたいですか?

シェアする

  • このエントリーをはてなブックマークに追加