Visual COBOL Interview

Visual COBOL R3: ‘enabling traditional COBOL to be deployed on JVM or .NET.’

Jessica Thornsby

“Developers have the choice of the best development environments and to deploy to whatever platform is best for their business.”

Last week, Micro Focus launched
Visual COBOL R3
, a development environment which allowed COBOL
to run on the JVM. But what challenges did the company face,
bringing COBOL into the world of modern software development, and
is COBOL relevant, in 2011? In this interview, JAXenter speaks to
Micro Focus’ Product Management Director, Mark Warren, to find out

JAXenter: What is Visual COBOL R3?

Mark Warren: Visual COBOL R3 is the latest
release of Visual COBOL (the first release was April 2010 alongside
Microsoft’s launch of Visual Studio 2010). This version rounds out
the Visual COBOL family by adding Eclipse as an option, alongside
VS2010, for development of UNIX or Linux applications or COBOL JVM
apps. By adding the COBOL JVM support, Visual COBOL has the unique
capability of any enterprise programming language to take a single
piece of source code and compile to optimized native code for
execution on Windows, Linux or UNIX, managed code for the .NET
platform, .class files for execution in a JVM/JEE environment or
deploy to Microsoft Windows Azure cloud. This means developers have
the choice of the best development environments and to deploy to
whatever platform is best for their business while having seamless
integration with other languages such as Java or C#.

JAXenter: COBOL is over 50 years old. How is it
still relevant for today’s industry?

Mark Warren: Rather than “over 50 years old”,
we would say “COBOL has over 50 years’ experience running the
biggest and most critical business systems”. These business systems
continue to be vital assets and frequently deliver the company’s
competitive differentiation.

Visual COBOL continues with the traditional strengths of COBOL
but enables those applications to be modernized for the demands of
the next decade and beyond. By enabling traditional COBOL to be
deployed on JVM or .NET, those applications can be easily
integrated in to the data center’s operations without requiring
expensive and risky rewrite or replacement. Extending the COBOL
language to use modern OO constructs allows either new COBOL code
to be created in the same style as Java or C# or to incrementally
extend traditional COBOL to start using features of the frameworks
(e.g. Java data types, classes or methods). The combination of this
modern language with the best IDEs makes Visual COBOL easy for new
programmers to be productive very quickly if transitioning from
Java or C# – increasing team agility, and reducing the cost of
project staffing.

JAXenter: What challenges did the Visual COBOL
team face, bringing this programming
language to the JVM, in particular?

Mark Warren: A couple of years ago we reviewed
our technology and the industry direction which is strongly headed
towards commodity operating systems and hardware (e.g. Linux on
Intel x86). Along with that review, a number of other events
happened to come together at just the right time. With the release
of VS2010 and its new extensibility options, we could enhance our
existing COBOL development experience in Visual Studio. We had also
just released our first COBOL for Eclipse product which was well
received by users. We could also see how we could reuse our
experience in generating MSIL code directly from our COBOL compiler
(first released with VS2005) to generate Java byte code (.class
files). This is a unique approach that doesn’t require any “under
the covers” translation of the COBOL source code into Java source
code which is then compiled by javac. That transformation breaks
the connection between the executable and the original source code
making it expensive and difficult to build high quality, rich
development experiences and limits the ability to optimize the
code. The Micro Focus approach avoids those problems but it also
had to work around limitations in the JVM caused by the Java
language. For example, Java has a relatively small maximum size of
methods and classes, so we had to do some very innovative work to
ensure existing COBOL could continue to run without change and with
maximum performance.

JAXenter: How does Visual COBOL for Eclipse add
COBOL sensitivity to the Eclipse editor?

Mark Warren: Visual COBOL for Eclipse
integrates a “COBOL Perspective” that ensures COBOL programmers
have a familiar and usable interface. For example, where
traditional COBOL source is being used, margins are drawn and
cursor behaviour set appropriately for COBOL. Source code is
continuously verified by a background parser ensuring errors are
notified to the developer immediately avoiding frustrating and
costly rebuilds to get a clean compile. New views have been added
to make it easier to work with COPY books even when COPY REPLACING
is used – something that most IDEs have difficulty with as it’s
unique to COBOL. In other places, standard Eclipse features usually
used for other languages such as the Program Outline view and
collapse/expand blocks of code have been enabled for COBOL

The debugger has been extended to understand COBOL and full
functionality is available to COBOL programmer, including variable
watch/modify, breakpoints etc. The Visual COBOL Development Hub
extends the Eclipse support so that the application being developed
can remain on a UNIX or Linux server, where it has access to test
databases, middleware etc., but the developer works with Eclipse
running locally on their Windows or Linux desktop. This approach
avoids the need to copy the source code to the local machine or to
duplicate the server’s test data and services. Sample projects,
cheat sheets and full documentation are all included in Visual
COBOL for Eclipse.

JAXenter: What’s planned for the next release
of Visual COBOL?

Mark Warren: We have a full roadmap for Visual
COBOL. The next release will be in the first half of 2011 and will
focus on continued enhancement of Visual COBOL’s compatibility with
ACUCOBOL and RM/COBOL, additional UNIX platforms and making the
COBOL JVM support GA (Generally Available) – with R3 it is at a
“Technology Preview” state where we encourage customers to validate
their own code on the platform and work with them on any early
production deployments. We are also continuing to enhance the COBOL
language to make it easier to reuse existing code in new ways such
as web services and to incorporate modern programming capabilities
such as generics.

comments powered by Disqus