Native COBOL compared with managed COBOL

Native COBOL and managed COBOL differ in how they compile and how the run-time management services, such as security, threading and memory management are provided.

Managed COBOL for JVM compiles to Java bytecode, and native COBOL compiles to machine code. Both managed and native COBOL can run on any platform when compiled.

For JVM code, the management services are provided by JVM. For native COBOL, the management services are available in the operating system, and your code has to call the appropriate services depending on the operating system. The management services enable seamless interoperation of COBOL programs with programs in other managed languages.

Building native and managed COBOL applications

In the IDE you can develop, compile and debug your applications, for both native and managed code.

When using Visual COBOL Development Hub in standalone scenarios, you use the command line to compile your native or managed code.

You can write new COBOL code or you can recompile existing COBOL as managed or native code, potentially without any code changes.

You can deploy and further debug the application under the run-time system provided by COBOL Server. JVM COBOL applications are deployed to the platform running the JVM.