Forensic Translation - What Is it?

A style that currently is not advertised and probably under-pronounced on resume's is the ability to translate a old code-base into a up-to-date framework (whether it is a .Net framework or simply taking ForTran 77 and converting it to GNU-C).  In either case, the process it the same.

Forensic Translation is the ability of the programmer to read another language, deduce the methodology being incorporated and then successfully translating it to the new code-base.  This process could take as little as 1 week or as long as several years.

The major variable in this process is source informations direct usage of declarations.  For the most part, the bracket languages (Java, C/C++/C#, AdaXX, etc) tend to have the ability to utilize an object that otherwise would be declared but is not.  This process enables the reduction of resources for the compiler to have to declare for operation.  Although, this is find great and dandy for stream-lining the execution process, this severly hampers debugging as well.  When it comes to translating it the translator had best understand this concept or they will be spinning their wheels in some deep MUCK.

Knowledge of the two languages helps in this process.  I personally am a VB.Net programmer, and since .Net 2.0, the VB language has grown to include some generics (albeit not as powerful of generics as C/C++/C#) and enables us to cleanly attach to events or create them (Delegates).  As my background includes these languages: BasicA, Ansi-C/C+, MS-C/C++/C#, ForTran 77, Ada95, QBasic, VB4-6/.Net, Java 1.0+, SQL, HTML/ASP.Net/PHP, VB/Java-script and several small languages, i have a good grasp on the way different languages are structured and how they utilize their naming conventions.  Usually i just have pick up the different data types, control structures (if...else, for...loop, case, etc) and i am pretty much good to go.  As you see above, i have a wide-range of knowledge, not expert but intermediate, of alot of languages which allows me to be able to read the languages and be able to decipher what is going on at that specified line.  On the vice, this also allows me to pick and choose the language for the situation.

Best Tool to Use:
Everyone has heard (more like read on forums) the battles between how the C framework is better than the VB framework.  And this is much like the argument between the Republicans and Democrats in the US, Labor and Democrats in UK, etc.  Everyone has their own view point and rightfully so they are right in their own mind.  To be an effective Forensic Translator Programmer (FTP), these view-points will do nothing for you.  They will actually hinder your development environment.  In my past, those that stuck strictly with one language, actually gave them self a handicap.  They can only rely on one experience to lead them through the development of a project.  They dont have the ability to effectively read another languages methodology, and least of all they end up turning off other programmers of other languages due to their closed mindedness.  FTP's must always adhere to the "Devils Advocate" approach: how would this work in another languages, how much more efficient would this line of code be in this language, what are the Pro's & Con's of translating this segment from a Do..Loop to a Do Until...Loop, what are the effects of this segment being consolidated into a Method versus having it copied into 5 methods to use, and so on.

Comments

Popular posts from this blog

SysInternals - BgInfo for ALL Users

JSON/AJAX Helpers

Acquiring List of controls - Classic JS