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.