.net column

.NET開発者のためのブログメディア

.NET Frameworkでよく使う用語を解説【入門編】

2020年09月11日

.NET Frameworkを利用していると、頻繁に目にする用語がいくつもあるかと思います。.NET Framework初心者の方には、この用語の意味が分からず困っている方もいるのではないでしょうか。
そこで当記事では、.NET Framework初心者のために、よく使う用語を解説していきます。

PG
.NET Framework初心者なのですが、理解しておくべき専門用語はあるのでしょうか?
PL
もちろんあります!.NET Frameworkを使う開発現場では、専門用語を用いて会話することがほとんどです。まずは入門編というべき用語を、いくつか学んでいきましょう。

【初心者向け解説】.NET Frameworkとは?

.NET Frameworkはマイクロソフト社が開発・提供している、WebサービスやWebアプリケーションを開発、実行するための環境を指します。正式名称は「Microsoft .NET Framework」ですが、今では.NET Frameworkの略称が一般的です。

.NET Frameworkは大きく分けると3つの要素で構成されており、それが「共通言語ランタイム(CLR:Common Language Runtime)」、「基本クラスライブラリ(BCL:Base Class Library)」、「各種ライブラリ/フレームワーク」です。

共通言語ランタイム(CLR:Common Language Runtime)

.NET Frameworkでは、様々な言語を使って開発をすることができます。そして、それを可能にしているのが、共通言語ランタイム(CTR)という機能です。
共通言語ランタイム(CTR)とは、いわば.NETアプリケーションを実行するためのエンジン機能のようなものと考えて良いでしょう。
.NET Frameworkでは、人が書いたプログラムを一度「共通中間言語(CIL)」に変換し、その中間言語を解釈してプログラムを実行します。その仕組みが共通言語ランタイムです。

基本クラスライブラリ(BCL:Base Class Library)

クラスライブラリは、汎用性の高いプログラムを使い回しできるように、クラスとしてまとめたものです。分かりやすい例を挙げるとすれば、文字列を扱う「Stringクラス」。簡単な記述で呼び出せるようになっており、実は基本クラスライブラリが提供している機能なのです。
他にも多数のクラスライブラリが用意されているため、初心者が気づかないところで、開発効率を格段に高めてくれています。

フレームワーク

クラスライブラリと異なり、処理の流れが実装されているものがフレームワークです。
.NET Framework自体がWebアプリケーションフレームワークとなっており、Webアプリケーションとして機能する枠組みを提供しています。

エンジニアが知っておくべき.NET Frameworkの基本用語

エンジニア勉強中

ここでは、.NET Frameworkで頻繁に使用される用語について、エンジニアが知っておくべきものを中心に紹介します。

◆アセンブリ
アプリケーション、または他のアセンブリから呼び出せるAPIコレクションを含む「.dll/.exe」ファイル。
インターフェース・クラス・構造体・列挙型・デリゲートなどの種類も含むことができます。

◆CLR/CoreCLR
CLRは、前述したとおり共通言語ランタイムのことです。OSや機種に依存しない共通中間言語をコンパイルして、プログラムを実行します。

CoreCLRとは、.NET CoreのCLRです。CoreCLRは次に解説するガベージコレクタ・JITコンパイラ・プリミティブな型/クラスライブラリから成り立っています。

◆ガベージ コレクタ
プログラムが動的に確保したメモリ領域を、自動的に開放する機能のことをガーベジコレクションと呼びます。そのガーベジコレクション行う主体をガベージコレクタと呼び、タスクやスレッドとして実装されるケースが多くなっています。

◆JIT/AOT
JIT・AOTのどちらもコンパイルの方式です。
JITは実行時コンパイラ(Just-In-Time)、AOTは事前コンパイラ(Ahead-Of-Time)と呼ばれています。
JITはアプリケーションの実行時にコンパイルを行い、AOTはアプリケーションが実行される前にコンパイルを行います。
いずれも共通中間言語(IL)を機械語(マシンコード)に変換するコンパイラです。

◆UWP
UWPは、ユニバーサルWindowsプラットフォームの略称です。Windows10から実装された、多様なデバイス上で動作するアプリケーションを、単一のフレームワークに統合する仕組みになっています。
また、ユニバーサルというだけあって、ほとんどのWindows10のデバイスで動作させることができます。タッチ操作対応も簡単です。

◆ランタイム
プログラムの実行環境です。OSもランタイム環境の1つですが、.NETランタイムとは異なります。.NETランタイムは下記のものが挙げられます。

  • ・共通言語ランタイム(CLR)
  • ・Core 共通言語ランタイム (CoreCLR)
  • ・.NET Native (UWP の場合)
  • ・Mono ランタイム

また、.NETのドキュメントでは「ランタイム」は「実装」の意味で使われることがあります。

◆スタック
スタックとは、「後出し先入れ(LIFO:Last In First Out)」と呼ばれるコレクションのことです。「積み重ね」とも呼ばれており、入れたものが入れた順番と逆に出てくるコレクションと言えば分かりやすいかもしれません。

アプリケーションの構築・実行に使われる、プログラミングテクノロジーのセットとして覚えておきましょう。

◆IL
「中間言語」のことです。
.NET Frameworkでは、プログラムの実行にあたり、様々な言語で書かれたプログラムを一度中間言語に翻訳します。中間言語に翻訳した後、機械語にコンパイルしてプログラムが実行されるのです。中間言語を挟むことで、特定の言語に縛られない開発が可能となっています。

PG
初心者向けの用語も、こんなにたくさんあるのですね!聞いたことはあるけれど、意味を知らない用語も少しありました。
PL
初心者のうちは知らなくて当然です。ただし、今後もスキルアップしたいのであれば、用語は覚えておいた方が良いですよ。開発現場でスムーズな会話ができるようになりますからね。

.NET Framework初心者は少しずつ用語を覚えよう

初心者向けの用語を簡潔に解説してきました。知っている用語、知らなかった用語どちらもあると思いますが、どの用語も知っておいて損はありません。特に、当記事で解説した用語は初心者向けの入門編です。.NET Frameworkを扱うエンジニアなら、基礎知識として押さえておいた方が良いでしょう。

>>>.NETの案件を探すならFEnet .NET Navi


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)