There is much to consider if you plan to migrate from Visual Basic 6 to Visual Basic .NET -- how long it will take, what needs to be done to your code base and whether an application will work the same once it is in .NET. There are also differences between the languages that must be considered. This quiz addresses some of the questions that will come up as you contemplate a VB 6-to-VB.NET migration.
How to take the quiz:
* After reading the question, note the letter of your answer.
NOTE: Some questions may have more than one appropriate answer. That does not necessarily mean that they do. Or does it?
* Check your answers by clicking the link to the answer key at the end of the quiz.
* To learn more about a topic and the correct response to the question, open the link that follows the response on the answer page.
After checking your answers, send me a note letting me know what you thought of the quiz. One lucky email will be chosen at random, and the sender will win a free copy of Professional VB 2005 from Wrox Press.
1. If you know you want to migrate your Visual Basic 6 application to VB.NET, what is the first thing you should do?
A) Open the Visual Basic Upgrade Wizard, get a cup of coffee and watch it run.
B) Assess the VB 6 application; find out what controls it uses, what projects are in there and so on.
C) Cancel all social plans for the next couple months and start rewriting the app in .NET.
D) Schedule meetings with end users to see what features they want to add to the app.
2. Some bits of a Visual Basic 6 application, like most APIs, can be easily migrated to VB.NET; other parts are not so straightforward. Which of the following will NOT have to be re-architected during a VB 6-to-VB.NET migration?
A) DHTML pages
B) ActiveX documents
C) OLE controls
D) ADO to ADO via Interop
3. True or False: The Visual Basic Upgrade Wizard will convert all the code in your VB 6 application to VB.NET code for you.
4. Does the Visual Basic Upgrade Wizard support ASP to ASP.NET migrations?
A) Yes, in all cases.
B) Yes, in some cases.
C) No, not at all.
5. Which of the following is the LEAST compelling reason to migrate an application from Visual Basic 6 to Visual Basic .NET?
A) You want to take advantage of ASP.NET features such as its caching abilities.
B) The application relies heavily on third-party controls or dynamic link libraries (DLLs).
C) The application's original developers were new to Visual Basic and/or used some "out of the box" development approaches.
D) Your company's business processes do not change all that often.
E) The application uses COM+ components in a high-traffic Web environment.
Now that we've looked at migrating applications, we're going to consider migrating you the developer. See what you know about some of the differences between VB 6 and VB.NET and how to prepare yourself.
6. This programming language model is used sparingly in VB 6 but is one of the cornerstones of VB.NET. Knowing the ins and outs of it will make an application migration project easier and also prepare you for additional work in VB.NET. What is the model?
A) Modular programming
B) Aspect-oriented programming
C) Object-oriented programming
D) Reflective programming
7. As expected, Visual Basic 2005 comes with lots and lots of improvements over VB 6 and VB 2003. Which of the following is NOT out-of-the-box functionality in Visual Basic 2005?
B) Debugger ToolTips
C) Code snippets
D) Snap lines for graphical form-building
8. Data query building can sometimes be a bone of contention for VB 6 developers, since it involves SQL or XQuery. Microsoft is introducing a series of changes to the .NET Framework, such as a unified programming model for querying objects, databases and XML, that should make data queries much easier. What is the name for this set of technologies?
9. When Visual Studio 2005 and SQL Server 2005 were introduced to the world, Microsoft decided to revamp its certification process. Once Windows Vista is released, the titles of Microsoft Certified Professional (MCP), Microsoft Certified Application Developer (MCAD), and Microsoft Certified Solution Developer (MCSD) will no longer apply. Which of the following titles is NOT a category in Microsoft's new three-tiered certification framework?
A) Microsoft Certified Application Developer
B) Microsoft Certified Technology Specialist
C) Microsoft Certified Architect
D) Microsoft Certified IT Professional
10. You and a friend from college, who works at a company across town, get together for dinner. You explain that you are in the middle of a VB 6-to-VB.NET migration and indicate that it is a bit of a challenge. Your friend says, "You should've just migrated to C#. It's cheaper and easier." Is your friend right?
This was first published in October 2006