VB6-to-VB.NET migration is much discussed lately. Adding perspective to this issue is Claudio Perrone of InnerWorkings. He says that newly released Visual Basic 2005 will probably prove to be a better vehicle for developers looking to migrate their skills to include the .NET Framework, and he has advice on what type of .NET project to tackle first.
As chief solution architect at InnerWorkings, Perrone is responsible for building the company's Practice Sets, which are used for building developer skills. Part of the company's offering is its trademarked Inferent code judging engine that measures performance of coders.
In terms of VB6 to VB.NET migration, there are issues to consider before making the leap. "The big point is to understand why to migrate in the first place," said Perrone, "one of the things you have to consider as a company is why to move."
"If you have a business process that never changes, there is probably no need to migrate at all. But where you have policies and complex rules, and you need to deal with rules more dynamically, that is where objects shine," he said. And the big difference between VB6 and VB.NET resides in the latter's approach to objects.
For VB6 developers ready to get started, said Perrone, VB 2005 is probably the right product, as opposed to VB 2003.
Some migration tips follow.
"If you have classic ASP applications that call Visual Basic COM objects, there are advantages to moving to .NET as migration can be accomplished in stages" he noted. But there is need for special care. "When you modify presentation code in such instances it is pretty easy to make mistakes." Classic ASP code, Perrone noted, tended to mix declarative code with business rules and queries to databases. "There was no clear separation of concerns, which was a problem when handling complexity," he said.
"With .NET," said Perrone, "you get better separation."
For developers, Perrone's guidance is to start with a small personal project rather than running the wizards right away.
At InnerWorkings, Perrone and his colleagues have developed a performance-based methodology that lets .NET developers learn by practice. Recently, the company released software that allows developers to access InnerWorkings client application via learning menu and toolbar options from within Visual Studio. Using the Developer Interface v3.0, they can search InnerWorkings' catalog of coding challenges and associated code files.
"We believe you should learn by solving problems," said Perrone.
Key to InnerWorking efforts, as described by Perrone, are Practice Sets covering different features and techniques used in .NET.
In the InnerWorking paradigm, design patterns are a means by which developers unravel puzzles and learn the new technology.
Perrone suggests that software migration is one thing, skills migration is another. "A software migration effort cannot focus on processes and technology only. People are responsible for designing, implementing, testing, securing, and deploying software. Skills migration should not be left to a developer's good will," he said. Instead, it should follow a rigorous model designed for the development of individuals, teams and software organizations.