Translation changes the implementation language of the system but maintains the system behavior. Translation converts the functionality coded in one language to another compatible language. The D*Code tool currently fully supports the translation from Cobol to Java. This is the most commonly requested translation scenario.
D*Code can also be customized to deliver other language translation capabilities. The translation of Java into PL/SQL is one example of a capability that the tool has been customized to deliver. D*Code's generic translation capability will support the translation of any language to any compatible target. We have done translations of large code bases written in proprietary languages. The following common input languages - Cobol, Java, C/C++ - are available. The most common output languages include, Java, C#, and C++.
The rules engine in the UniqueSoft tool does the translation based on the concepts of the programming languages, not simply line by line. For example, uses in COBOL of 'T' and 'F' string data can usually be converted to native boolean primitives in Java. This use of the native idioms of the target language makes the resulting code much more maintainable.
Maintaining system performance is a major consideration when modernizing a legacy system. This is especially true when the client is moving off of a mainframe system. Mature legacy languages, like Cobol, have been optimized to deliver high performance by taking advantage of unique characteristics and capabilities of mainframe environments. Translating those coding techniques to a modern language like Java or C# will not deliver anywhere close to the same performance. D*Code enables the tool user to replace Cobol specific coding patterns and idioms with natural Java or C# methods that can take advantage of distributed network environment capabilities to deliver higher performance. See our white paper on Cobol to Java performance considerations.