logo

News

Translation of Swiss File Knife announced

CtoJ announces the translation of the popular open-source tool Swiss File Knife.

 

C++ to C# generator announced

CtoJ announces the release of a C++ to C# generator in Q1 2008.

Downloads

Technology article

One page teaser about the reasoning behind CtoJ

How

CtoJ's solution to legacy migration (e.g. migration from C++ to Java) consists of two parts. The automatic language translation using CtoJ technology is just the technical doing. CtoJ's real expertise is the underlying migration process.

 

Migration process

The migration process used by CtoJ differs significantly from the traditional migration approach.

 

We at CtoJ prefer to focus on the language migration for a short time only. The target is to enable the client to get the translated but not re-architected application live in the new production environment as fast as possible.

 

By doing this, CtoJ allows its clients to focus all of their resources on the re-architecture of the application. In parallel, maintenance can be done in the same environment and language.

 

Using CtoJ's migration process in combination with CtoJ technology gives our clients the following advantages:

  • Reliable migration end-date (for language translation phase)
  • No need for feature freeze
  • Parallel source code branches for a short time span
  • Consistency in translation by using CtoJ technology
  • Translation is repeatable and can be done iteratively
  • Focus on one migration step (language translation)

 

CtoJ technology

The CtoJ core product is a generator, which reads legacy code (currently C++) and automatically generates Java code. The inner workings of this product are - of course - the intellectual property of CtoJ and can not be disclosed, but here is a list of features that counter usual migration challenges:

  • Multiple inheritance
  • Call by value / reference semantics
  • Destructor handling
  • Template handling
  • Default parameter handling
  • Pointer handling
  • Overloading of operations
  • Virtual / non virtual operation handling
  • Mapping of datatypes and classes
  • Logging
  • Asserts

If you want to know more about the solution to these problems, request the CtoJ technical whitepaper.