Why Move to Managed Code?

Using managed code has many advantages such as:

Micro Focus COBOL already is a managed language:
The COBOL language has been extended over the years and supports a lot of the features in the .NET framework.

In most cases, the process of moving to managed code entails recompiling the existing COBOL code to managed code in Visual COBOL. Also, you can use the ILSMARTLINKAGE COBOL compiler directive to recompile to managed code (see the Examples section in this topic). ILSMARTLINKAGE enables COBOL to interoperate with other managed languages.

Take full advantage of the capabilities of the .NET framework:
  • Use the runtime services provided by the CLR - these provide for integrity and the security of your COBOL applications, and provide exception handling and garbage collection. As the runtime services optimize how your code executes, this results in improved application performance over time.
  • Improve your application performance - the .NET framework applies many optimizations including those based on how the code is actually executed at runtime; therefore, it can make optimizations that a static analysis cannot.
  • Create your own managed COBOL objects - with managed COBOL you can do a lot of what you can do with any other managed languages, such as creating your own methods, classes, delegates, and interfaces. See An Introduction to Object-Oriented Programming for COBOL Developers, available on the Micro Focus SupportLine Web site - click here to download it.
  • Easy to learn if you have experience with other managed languages - learning managed COBOL doesn't differ from learning any other managed language. If you already program in other managed languages, you only need to learn the syntax rules.
  • Access a variety of reusable libraries of code - the .NET framework includes large libraries of reusable code snippets and constructs which you can reuse directly in managed COBOL code. This means you can easily solve just about any programming task, be more productive in your work, and get more done.
COBOL can interoperate with other languages:
  • Since all managed languages compile to the same IL, COBOL compiled to managed code can talk to other managed applications written in any other managed language, or be deployed on other managed platforms.
  • COBOL can interoperate with other languages - other languages can call COBOL and vice versa.
  • Debug COBOL and parts of your application in other managed languages together. You can step between the COBOL part and the part in the other managed language.
Create new, modern user interfaces:
Using managed code is a great way to modernize the look and feel of your applications through the use of technologies such as WPF. .
Deploy to Java application servers:
Java application servers are required when you provide "thin" client architecture for your applications. End users use a thin client installed on their machines to communicate with the main program which is deployed on the application server and processes all requests.

Visual COBOL supports all major Java application servers and enables you to create and deploy COBOL applications on Java application servers as Web services or Java interfaces.

Create applications for deployment on the Web and mobile:
Modern application servers are designed to be used by applications written in a managed language such as C#, Java, and managed COBOL. Using native COBOL for applications you upload to the server might not be possible or could lead to instabilities if the native program terminates due to an error condition.