.NET プラットフォーム上の マネージ COBOL は Microsoft Intermediate Language (IL) に、JVM のマネージ COBOL は Java バイト コードに、ネイティブ COBOL はマシン コードにコンパイルされます。マネージ COBOL とネイティブ COBOL は両方、コンパイルされれば Windows プラットフォームで実行できます。
.NET マネージ コードの場合、管理サービスは Microsoft Common Language Runtime (CLR) によって提供されます。JVM マネージ コードの場合、管理サービスは JVM によって提供されます。ネイティブ COBOL の場合、管理サービスはオペレーティング システムに用意されており、ユーザーのコードはオペレーティング システムに応じて適切なサービスを呼び出す必要があります。管理サービスは、COBOL プログラムと他のマネージ JVM 言語で記述されたプログラムの、シームレスな相互運用を可能にします。
.NET マネージ コードは Microsoft Intermediate Language (IL) にコンパイルされます。IL は、作成したコードのクラス、メソッド、および属性 (セキュリティ要件など) を記述するメタ データと一緒に、アセンブリに保存されます。
.NET マネージ コードは、Microsoft Common Language Runtime (CLR) で実行されます。CLR は、Just In Time (JIT) コンパイルを行います。これは、アセンブリをロードする際、最初の実行時に CLR がアセンブリ コードを JIT するということです。アプリケーション ロード時のパフォーマンス ペナルティがわずかにありますが、CLR はコードをコンパイルするため、(次に再起動されるまで) コンパイルは再実行されません。
CLR は、実行時にアプリケーション コードの管理を行い、セキュリティ、メモリ管理などを提供します。
ネイティブ コードとマネージ コードのどちらの場合でも、アプリケーションの開発、コンパイル、およびデバッグには IDE を使用します。ユーザーは、新しい COBOL コードを記述するか、既存の COBOL を (場合によってはコード変更なしで) マネージ コードまたはネイティブ コードとして再コンパイルすることができます。
Enterprise Server によって提供されるランタイム システムでは、アプリケーションをディプロイして、さらにデバッグすることができます。.NET COBOL アプリケーションは、.NET Framework を実行する Windows プラットフォームにディプロイされます。JVM COBOL アプリケーションは、JVM を実行するプラットフォームにディプロイされます。