📝コメントの起源 アノテーションとディレクティブ
ソースコードのコメントは、プログラムのソースコードに書かれるテキストで、コンピュータによって実行される命令ではなく、人間のプログラマーがコードを理解しやすくするためのものです。
コメントの起源は、プログラム言語の始まりにまで遡ります。最初のプログラム言語であるアセンブリ言語でも、プログラマーはコードに注釈を加えるためにコメントを使用していました。その後、高水準プログラム言語が開発されるにつれて、それらの言語でもコメントをサポートする機能が取り入れられました。
例えば、1950年代に登場したFortran言語では、C列にある文字はコメントとして扱われ、プログラムの実行に影響を与えませんでした。これが、現代のプログラム言語におけるコメントの起源の1つと考えられています。
現在、ほとんどのプログラム言語は、プログラマーがソースコードにコメントを加えることができるように、特定のコメント記法を持っています。例えば、C言語では、コメントは/と/の間に記述され、または//の後に記述されます。
多くのプログラム言語のコメントの書式には類似点があります。
例えば、多くの言語で、// は一行コメントを、/* と */ は複数行のコメントを示すのが一般的です。
C言語、C++、Java、JavaScript、Swiftなどの言語では、// は一行コメント、/* と */ は複数行のコメントを示します。
Python、Ruby、Perlなどの言語では、# は一行コメントを示します。
HTMLでは、<!-- と --> でコメントを囲みます。
このように、多くの言語でコメントの書式が似ているため、プログラマーは新しい言語を学ぶ際に、コメントの書式をすぐに理解することができます。
プログラム言語によっては、一般的でないコメントの書式を使っているものもあります。
Ada言語では、一行コメントは "--" で始まります。
LispやHaskellでは、一行コメントは ";" で始まります。
SQLでは、一行コメントは "--" で始まり、複数行のコメントは "/" と "/" で囲みます。
プリプロセッサディレクティブとコメントは異なるものです。
プリプロセッサディレクティブは、コンパイラにソースコードをどのように処理するかを指示するものです。たとえば、C言語では、プリプロセッサディレクティブは#記号で始まります(例: #include 、 #define )。
コメントは、ソースコードを読む人間に向けたメモや説明で、コンパイラによって無視されます。
。
C/C++
Python
PythonはC言語のようなプリプロセッサを持っていませんが、import ステートメントを使って他のモジュールを読み込むことができます。
Python 3.8以降、#で始まる新しい構文 := が追加されましたが、これはプリプロセッサディレクティブではなく、式内で変数に代入するためのものです。
Java
Javaにはプリプロセッサがありません。ただし、アノテーション(例:@Override, @Entity)があり、これはメタデータをクラス、メソッド、変数に追加するために使用されます。
JavaScript
JavaScriptにはプリプロセッサがありませんが、一部のフレームワークやライブラリは独自のディレクティブを提供しています。例えば、AngularJSは ng- プレフィックスを持つディレクティブ(例:ng-model, ng-repeat)を提供しています。
.NET(C#、VB.NET)
このように、言語やフレームワークによって、プリプロセッサディレクティブやディレクティブの文法は
。
アノテーション:
アノテーションは、プログラムのコードにメタデータを追加するために使用される。
主にJavaや.NET言語(C#、VB.NET)で使用されます。
アノテーションは、コンパイラやフレームワークに、クラス、メソッド、プロパティ、パラメータなどの要素に追加的な情報を提供します。
例: Javaの@Overrideアノテーション、C#の[Serializable]属性。
ディレクティブ: