In general, those applications that are primarily developed in C, C++ and SQL can be ported first. This is not only easy, but will quickly build confidence in the migration plan.
Applications developed using visual programming languages like VB can be ported next. It may be necessary to use appropriate tools to automate the conversion of VB to either C++, Java, Tcl/Tk or Python. Irrespective of the choice of the newer language, this is a nice opportunity to move towards model driven development, using a language like UML for modeling the application and generating the actual code either manually or automatically using a rule driven tranformer or code generator.
Primarily client applications developed using visual languages will need some re-engineering for porting to Linux.
For applications developed using COBOL or other languages, make sure that your compiler and version are available on Linux from your vendor. If they are, then porting these applications can be done next. If not, such applications may have to be ported to either C++ or Java. Again, it is a good idea to go for model driven development when moving over to a new language.
This was first published in January 2005