本製品ヘルプで使用される COBOL 用語

本製品の以前のバージョンを含む現在のバージョンまでのドキュメントや Micro Focus Web サイトで、COBOL の言語およびプログラミングに関連するさまざまな用語が出てくることがあります。それらの最も一般的な用語を次に示します。

ネイティブ コード
ネイティブ コードは、実行されるコンピューターのネイティブのマシン言語に直接コンパイルされるコードです。オペレーティング システムで実行するようにコンパイルされ、マシンのプロセッサによって直接実行されます。ネイティブ言語の例としては、C、C++、およびネイティブ コードとしてコンパイルされる手続き型 COBOL があります。
マネージ コード
これは Microsoft の用語で、マシンで直接実行されるのではなく、ランタイムの管理下で実行されるコードを指します。Microsoft 環境においては、.NET Framework または .NET Core の一部である共通言語ランタイム (CLR) がランタイム システムとなります。CLR がマネージ コードをマシン コードにコンパイルして実行します。CLR は、例外処理、ガベージ コレクション、スレッド管理などのさまざまな管理サービスも提供します。
Java では「マネージ コード」という用語は使用されませんが、ランタイムである Java 仮想マシン (JVM) で実行されるため、Java も本質的にはマネージ言語です。
また、.NET または JVM のいずれかで実行するようにコンパイルできる COBOL のほか、.NET 言語 (C# など) もすべてマネージ言語です。
アンマネージ コード
ネイティブの同意語で、マネージ コードでないコードです。
オブジェクト指向プログラミング
オブジェクト指向プログラミングでは、相互に作用するオブジェクトを使用します。オブジェクトには、フィールド (プロパティおよび属性) で表されるデータと手続き (メソッド) が含まれます。オブジェクトのメソッドは、そのオブジェクトのプロパティにアクセスして変更できます。

プログラミング タスクはオブジェクトで構成されます。

手続き型プログラミング
手続き型プログラミングでは、線形の命令を使用し、段階的に実行される一連のコマンドを記述します。プログラミング タスクはデータ構造とサブルーチンで構成されます。
手続き型 COBOL

COBOL は、本来は手続き型プログラミング言語です。手続き型 COBOL では、.NET および JVM の構文を含まない構文を使用します。これは、Net Express、Server Express、および Mainframe Express のアプリケーションを記述する際に使用され、現在も積極的にサポートされています。

手続き型 COBOL は、ネイティブ コードまたは (ほとんどの場合) マネージ コードにコンパイルすることができます。

手続き型 COBOL の構文は、サポートされていない機能もいくつかありますが (たとえば、Panels V2、Dialog System、ACUCOBOL-GT)、.NET COBOL および JVM COBOL のコードでサポートされます。これは、既存のほとんどの COBOL アプリケーションを再コンパイルするだけで .NET COBOL または JVM COBOL のアプリケーションを作成できることを意味します。

ネイティブ COBOL
ネイティブ COBOL は、ネイティブ コードにコンパイルされる COBOL です。
.NET COBOL
.NET COBOL は、.NET Framework および .NET Core をサポートする拡張機能を備えた COBOL です。オブジェクト指向構文のサポートと使用可能な .NET クラス ライブラリへのアクセスを許可する構文を提供します。
JVM COBOL
JVM COBOL は、JVM をサポートする拡張機能を備えた COBOL です。オブジェクト指向構文のサポートと使用可能な Java クラス ライブラリへのアクセスを許可する構文を提供します。
マネージ COBOL
.NET COBOL および JVM COBOL の総称です。Micro Focus のドキュメントでは、通常、具体的に .NET COBOL または JVM COBOL と記述しています。
ネイティブ オブジェクト指向 COBOL
.NET COBOL および JVM COBOL 以前のオブジェクト指向構文を指します。ネイティブ オブジェクト指向 COBOL とは、ISO 2002 COBOL 構文、ISO 2002 COBOL 規格に代わる Micro Focus のオブジェクト指向構文、またはその両方の組み合わせを意味します。