ネイティブ COBOL とマネージ COBOL の比較

ネイティブ COBOL とマネージ COBOL は、コンパイル方法とランタイム管理サービス (セキュリティ、スレッド、およびメモリ管理など) の提供方法が異なります。

.NET プラットフォーム上のマネージ COBOL は Microsoft Intermediate Language (IL) に、ネイティブ COBOL はマシン コードにコンパイルされます。マネージ COBOL とネイティブ COBOL は両方、コンパイルされれば Windows プラットフォームで実行できます。

.NET コードの場合、管理サービスは Microsoft Common Language Runtime (CLR) によって提供されます。ネイティブ COBOL の場合、管理サービスはオペレーティング システムに用意されており、ユーザーのコードはオペレーティング システムに応じて適切なサービスを呼び出す必要があります。管理サービスにより、COBOL プログラムと他のマネージ言語で記述されたプログラムはシームレスに相互運用できます。

.NET マネージ コードとは何ですか?

.NET マネージ コードは Microsoft Intermediate Language (IL) にコンパイルされます。IL は、作成したコードのクラス、メソッド、および属性 (セキュリティ要件など) を記述するメタ データと一緒に、アセンブリに保存されます。

.NET マネージ コードは、Microsoft Common Language Runtime (CLR) で実行されます。CLR は、Just In Time (JIT) コンパイルを行います。これは、アセンブリをロードする際、最初の実行時に CLR がアセンブリ コードを JIT するということです。アプリケーション ロード時のパフォーマンス ペナルティがわずかにありますが、CLR はコードをコンパイルするため、(次に再起動されるまで) コンパイルは再実行されません。

CLR は、実行時にアプリケーション コードの管理を行い、セキュリティ、メモリ管理などを提供します。

ネイティブおよびマネージ COBOL アプリケーションのビルド

ネイティブ コードとマネージ コードのどちらについても、IDE でアプリケーションの開発、コンパイル、およびデバッグが可能です。

ユーザーは、新しい COBOL コードを記述するか、既存の COBOL を (場合によってはコード変更なしで) マネージ コードまたはネイティブ コードとして再コンパイルすることができます。

Enterprise Server によって提供されるランタイム システムでは、アプリケーションをディプロイして、さらにデバッグすることができます。.NET COBOL アプリケーションは、.NET Framework を実行する Windows プラットフォームにディプロイされます。