1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

【C#入門】C#の特徴とは?CとC++と比較

Pocket

C#(シーシャープ)は、マイクロソフト社によって開発されたオブジェクト指向型のプログラミング言語です。登場が2000年なので、言語の中では比較的新しい言語です。
登場から10年ほどして、ビジネスで使われる機会が徐々に増えてきました。

名前の由来となっているのは、CやC++です。C++の文法を踏襲しつつ機能を高めた言語という意味で「C++++」、これを読みやすくして「C#」という名前になりました。「C#」はナンバーマークが付いていますが「シーシャープ」と発音します。

それでは、C#をもう少し詳しく見てみましょう。

C#は.NET Frameworkで動作する

.NET Frameworkとは?

C#を実行するには.NET Frameworkが必要になります。.NET FrameworkはOSとアプリケーションの
間にあって、主要な機能に共通言語ランタイム(CLR)とクラスライブラリがあります。

共通言語ランタイムはC#で書かれたアプリケーションを実行する上で重要な役割を果たします。C#のソースコードはコンパイルすると、一旦、中間言語(MSIL)となります。その状態ではコンピューターは理解できないので機械語に変換する必要があります。中間言語を機械語に変換しているのが共通言語ランタイムです。

共通言語ランタイムを通すという手順は手間が多いように見えますが、一つの実行ファイルを別のOSで使用できるという利点があります。各OS用の共通言語ランタイムがあれば、同じ実行ファイルを異なるOS上で動かすことができます。このあたりはJavaと同じ原理で動くわけです。ただし、現在でも各OS用の共通言語ランタイムが揃っているわけではなく、Javaのようなマルチプラットフォームでの活躍はできません。

最初は.NET FrameworkがOSとアプリケーションの間に入って動作の橋渡しをしているというくらいの
認識で大丈夫です。

一方クラスライブラリは、予め設定されている共通部品が格納されています。これにより完全に1からプログラミングをする必要はなく、予め用意されている部品を使って開発をはじめることができるのです。

Visual BasicとF#との関連性

.NET Frameworkに関連して、Visual Basic(6.0以前を除く)とF#というプログラミング言語があります。C#も含めて、これらは.NET系言語と呼ばれることがあります。これらの言語は.NET Frameworkを
共通して使用しています。これらの言語で書かれた言語は、コンパイルすることで中間言語になります。それを機械語にするのは、やはり共通言語ランタイムです。

Visual BasicとF#というC#と全く異なるプログラミング言語ですが、最終的に同じ動作をします。つまり、Visual BasicやF#は理論上、C#と全く同じことをできるわけです。.NET系言語の中で、現在最も使われているのはC#で、.NET系言語の中で中心的な役割を果たしています。

要点

・C#は.NET Framework上で動作します
・.NET Frameworkに含まれる共通言語ランタイムがOSとアプリケーションの橋渡しをします
・.NET Frameworkを使用する言語は複数あり、どれでも同じ処理ができます

C#の実行速度は?

CやC++と比較しての実行速度

CやC++は低水準言語に近い言語、C#は高水準言語に分類されます。コンピューターが理解できるのは機械語で機械語に近い言語に近い言語を低水準言語、人間の言葉に近い言語を高水準言語と区別します。

・低水準言語の特徴は、人間には分かりにくく難解ですが、動作が早いという特徴があります
・高水準言語の特徴は、人間に分かりやすく理解しやすいですが、動作が遅いという特徴があります

つまり、CやC++と比べるとC#は人間寄りの理解しやすい言語という利点がありますが、実行速度が遅いという欠点があります。速度が遅いといっても、ビジネスアプリケーションでは十分な速度と信頼性があります。実行速度が問題になるのは、数ミリ秒を争うようなゲーム開発などの分野での話です。

インタプリタ型言語とコンパイラ型言語

プログラミング言語はインタプリタ型言語とコンパイラ型言語に分かれます。インタプリタ型言語とは、コンパイラを通さずにプログラムを解釈しながら実行する言語で、コンパイラ型言語とは予めコンパイラを通してコードを生成しておく言語です。
この2つを比較するとコンパイラ型言語のほうが実行速度は速いです。C#は、コンパイラ型言語で、JavaScriptなどのインタプリタ言語より高速です。

要点

・C#の実行速度はCやC++と比較すると低速です
・C#はコンパイラ型言語で、インタプリタ言語と実行速度を比較すると高速です

C#は初心者に最適なプログラミング言語の一つ

強力な開発ツール

C#は初心者が学習するのに最適なプログラミング言語の一つと言えます。プログラミングの最初の壁になるのが開発環境の設定なのですが、C#の開発にはマイクロソフトのVisual Studioという統合開発環境(IDE)があります。
Visual Studioには強力な開発補助機能があり、日本語化もできます。初心者にとって手間のかかる環境パスの設定も自分でする必要はありません。Visual Studioの製品版は有償ですが、機能と用途を限定した無償のバージョンも公開されています。

覚えたことを実務で活用

CやC++は機械の組み込み系で使用されることが多いですが、C#はビジネスアプリケーションで使用されることが多く、言語の使い分けがされています。そのため覚えたことを実務に活かすことができて実用的です。
C#はC、C++、Javaと似た構文をしています。C#で覚えた知識を他の言語で活かすこともできます。

投稿者:プロスタ編集部

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

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾
ページ上部へ戻る