ArtinSoft's Blogs

Software Migration Experts
Welcome to ArtinSoft's Blogs Sign in | Join | Help
in Search

Mauricio Rojas Blog

VB Migration (not for the weak of mind)

Motivation: 

I hate to be disappointed. Specially if it is by a person you had respect for. And that's exactly what Francisco Balena from VB Migration Partner, has done. I have respected him for his books and all his VB6 experience. In terms of legacy VB6 code he is a monster. He is the man.

But in terms of code migration...

I'm not saying this because I work on code migration or maybe I'm biased a little by the fact that I work almost 10 years with a company that has done source code migration research on a big number of legacy languages such as COBOL, RPG, PL\1, Algol, Progress, PowerBuilder and also VB6.

I can tell the difference between a "compiler" and a system that rewrites a expression to the closest equivalent in the target language. We are aware of limitations. We are aware of paradigm differences and functional equivalence, but we talk from experience. We talk about our results. And we have proven those things we talk about.

 Let's says you create a Cobol Library with a "MOVE" function, and a COBOLPicture Type and add minus, divide, and add operators. And I write something like:

CobolPicture x = new CobolPicture("XXXX");

x.move(10);

x.add(10);

We have things like that, and it works. It's feasible and maybe there are cases where that is a solution. But we are also proud of have researchers that have been able to detect pattern to rewrite something like that like:

int x = 0;

x = 10;

x+=10;

And saying, that something is not possible just because you can't or you dont like it, just seem uneducated to me.

 All of this has motivated me to start a series of chapters I for a small blog book I will call VB Migration (not for the weak of mind).

For those of you, who really are tecnology savvy and are in the process of a VB Migration, this is YOUR book.

Comments

 

Francesco Balena said:

hi Mauricio,

first, thanks for your nice words on me and my books. Please know that the respect is reciprocal. I have used your Upgrade Wizard tool, listened to Artinsoft webcasts, I even wrote the preface of the Italian edition of your book on VB6 migration. What I don't quite understand is, when and how I could have possibly disappointed you.

The first netiquette rule is that you should always provide the URL of what you're talking about, which you didn't. It wasn't fair both to your readers and to me. My best guess is that you are referring to a receng article where I discuss the limitation of a VB6-to-C# conversion tool:

www.vbmigration.com/.../Sharp-enough-to-convert-from-VB6-to-C.aspx

It is a long and detailed article, with many VB6 code examples on which such a tool would make a very poor job. If you were referring to that specific article, then a straight answer to my doubts would been much more appreciated that a mere declaration of disappointment which - until you answer my specific questions and doubts - sounds more like a groundless personal attack, probably affected by us working on competing products.

You say that you at Artinsoft are aware of the limitation of conversion tools, but I am not sure that all of you share this awareness. In fact, my article was a reply to a post on Artinsoft website, whose author affirmed that your VB6-to-C# could handle *all* the differences between these languages. That was a strong claim.

I don't affirm that a tool can't refactor code to account for *some* of the differences between any two languages, which would have been such a weird claim by the author of a VB migration software which performs tons of refactoring optimizations. More simply, my point is that there are *some* non-minor differences that can't be solved in an elegant way by a VB6-to-C# converter.

I will be reading your series of articles with much interest, hoping that you'll reply to my specific questions right in the first post.

As for the examples you provide - namely transforming a Dim + assignment into a VB.NET initializer and transforming x=x+10 into x+=10 - I am *well* aware that they are possible. In fact, our VB Migration Partner performs these and many other refactoring optimizations. You can read about some of them here:

www.vbmigration.com/.../chapter4.aspx.

Best regards,

Francesco Balena

The VB Migration Partner Team

August 12, 2008 5:25 AM
Powered by Community Server (Non-Commercial Edition), by Telligent Systems