ネイティブ 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 プラットフォームにディプロイされます。