Wed. Jan 25th, 2023

Drawbacks of Translation

Just as there are advantages to translation, there are some disadvantages. For example:

Knowledge Requirements

In order to translate from one language to another, you need someone who is proficient in both languages. They must be able to read and understand the nuances of the source language, and be able to use the features of the destination language appropriately.

Time Investment

It takes a significant length of time to re-write code in a new language. For all of that period, the coder(s) who are working on this will be unavailable to work on other jobs.

Testing

Even if you are simply rewriting code from one language to another, it will still all need testing. Unless the original test plan is available, you will need to devise and validate a test plan, and complete all of the testing. This is a long, time-consuming and expensive process.

Function Availability

Not every language has the same feature set. Consider this example:

#Python
t = 'ABC'
print(t*5)

#will print ABCABCABCABCABC

There is no equivalent function in C#. This means that a new function will need to be written to replace a built-in feature, adding to the time taken.

Function Equivalency

There can be subtle differences in the implementation of similar functions between languages; for instance, Visual Basic uses 1-based indexing for arrays – that is, the first element is element 1, the second is 2 and so on. Almost all other languages use zero-based indexing: the first element is number 0, the second is element 1 and so on.