When it is crunch time: Migrating from Visual Basic 6 to Visual Basic .Net/2005
Abstract
As a Visual Basic 6.0 programmer, what is the roadmap forward for your applications? As Visual Basic 6.0 becomes ‘deprecated technology’ what will you do with your enterprise class applications written in Visual Basic 6.0. This article is the musings of a developer that has been looking at migrating existing enterprise-class Visual Basic 6.0 applications to Visual Basic 2005.
Introduction
If you have been a serious Visual Basic 6.0 programmer with very sizeable code investments in Visual Basic (we have 22 enterprise level applications), at least 18 of which are written with Microsoft Visual Basic, crunch time comes when you begin to think or when you decide to advance your applications to new versions. Crunch time comes when all of a sudden, your Visual Basic 6.0 projects don’t open properly anymore in the Visual Basic 6.0 IDE (especially when running on Windows Vista with Visual Studio 2005 installed). Crunch time comes most especially when it dawns on you that you are basically using ‘deprecated’ technology, that between Visual Studio 6.0 (which contained Visual Basic 6.0) and Visual Studio 2008 (the latest version of Microsoft’s Visual Studio development suite), they have been 4 (four) new versions of Visual Basic.
Crunch time is the realization that for your software business to live, you will have to do something about your existing Visual Basic 6.0 applications. Our purpose in writing this article is to share our experiences of what we found as we endeavored to start to upgrade our Visual Basic 6.0 applications, and to discuss some of the touch decisions and choices that will undoubtedly have to be made.
Appraising the current Visual Basic situation!
What made Visual Basic special was its power, elegance and simplicity! It largely retained the style and syntax of the Basic language as we knew it i.e. if you had been using GW Basic, QBasic, Microsoft Basic Professional Development System (we shall call of these ‘Microsoft’s Basic’), etc, you could look at Visual Basic code and read it and understand it. Changing over from those early flavors of Microsoft’s implementation of the Basic programming language to Visual Basic was thus not difficult. In fact, the skills you learnt from using those early implementations of Basic made it easy and possible to immediately start building Windows database applications on Microsoft Access 2 using then Access Basic as implemented on those versions of Microsoft Access even though you had to learn a few new keywords and perhaps had to deal with the situation that some language features you knew had been removed!
Further developments of the basic implementations of Microsoft ensured that the Basic language, as we knew it and get skills of Visual Basic programmers have to be further improved if the Microsoft Visual Basic
Now coming to Visual Basic 6, the most powerful and elegant release of these flavors (prior to the .NET flavors) of Microsoft’s Basic, the Microsoft Solutions Framework (MSF) emphasized a componentized systems design and development approach in which the meat of your application (data access code, data manipulation code and business rules) could all be built as COM (Component Object Model) components hosted on MTS/COM+. Your application front-end (Visual Basic Forms or ASP Web Pages) could then call these components to obtain any services required. The backend could be any database system that had an ODBC Driver or OLE DB provider. The front-end as already noted could of course be Visual Basic Forms (if you wanted your application to run as a Windows application) or ASP (if you wanted your application to run as a Web application).
Your data-aware classes could easily establish connections to the database and then create recordset objects in its Init event that could then be returned to a calling application by calling the GetDataMember method of such a class.
Even in terms of data access technology, if you did use DAO (Data Access Objects) and RDO (Remote Data Objects) in Visual Basic versions prior to version 6, the changeover was the use of ADO (ActiveX Data Objects) not very difficult, because both technologies had similar terminology and interface (for example, a DAO Recordset object is similar in concept to a Recordset object returned in ADO) and methods for processing the objects.
This then is a general and short summary of what Basic programmers using Microsoft’s implementation of that language have had to deal with until the arrival of Visual Basic .NET flavors of Basic.
What is all the Hullaballoo about?
Visual Basic programmers expected Microsoft to maintain the look and feel of Microsoft’s Basic that we had always known (especially in the language implementation). But behold! What did Microsoft choose to do?? They decided to fulfill the biblical prophecy recorded at Zephaniah 3:9 which states ‘For then I shall give the peoples a change to a pure language, in order for them to call upon the name of Jehovah, in order to serve him shoulder to shoulder’.
The attempt to fulfill this biblical prophecy resulted in Microsoft’s attempt to create the New Jerusalem (the .NET Framework) and of course as we now know it, the .NET Framework languages! The result has been a massive genetic modification of the Visual Basic language and an attempted premature extinction of ‘perceived dianosaurs’ (e.g. Visual FoxPro).
If you are a lover of ‘game meat’ and Visual Basic prior to .NET was a charming wild mountain goat (an Ibex on the Highlands of Ethiopia), and you were then given the ‘new ‘ Visual Basic (i.e. the .NET Flavors of Visual Basic), you would not want to eat the meat at all because the color of the animal has changed, its size has changed (it looks more bloated), its natural smell has changed (it smells not like Basic but like C/C++), even its meat tastes different (not the C/C++ like syntax for writing code)…the grand creator (Microsoft) says it is the same or better but we all (aspiring citizens of the New Jerusalem) can see it is not! You cannot even open a Visual Basic 6.0 project in Visual Basic 2005 and expect it to run…it is that bad!
Crunch Time!
The million dollar question then is ‘If you are a Visual Basic 6.0 Programmer with significant code investments, what would you do?’ Should you migrate to other implementations of the Basic Programming language such as REALbasic 2009 (from Real Software Inc) or Liberty Basic? Should you try Visual Basic 6 lookalikes that also offer multi-platform compatibility such as Jabaco 1.4 (by Manuel Siekmann) or should you just rewrite your code in Visual Basic 2005/.NET? What alternatives did we find and what choices will have to be made?
Jabaco: Jabaco is startlingly like Visual Basic 6.0. Even the startup forms, property windows, toolbox, project explorer are astonishingly like Visual Basic. What is more, even the code syntax you write is pure VB 6-like! We made a copy of our Fixed Assets Software system and then opened it in Jabaco (we are using Windows Vista Home Basic) and the conversion process was seamless. To run the code, we made some minor changes (e.g. Converting Currency to Double) or removing Windows Controls such as the toolbar control and that was that! The structure of the Jabaco code, its keywords, its syntax, the functions and procedures are Visual Basic 6 alike. Even the way you make your Exe’s after writing your program was simple and straight forward. If you are a Visual Basic 6.0 programmer, and you are looking for a secure non-Microsoft way forward for your projects, you will feel instantly at home with Jabaco 1.4 from the very minute you start the application…you can start writing tons of code immediately! When we tried to run our program (both on Windows XP SP2 and Windows Vista Home), we were pleased to see that it could run without hitches! Jabaco would compile your application to Java byte code. In addition, Jabaco is free! The big cat is certainly prowling – power, elegance, speed, simplicity, multi-platform capability by compiling to Java plus a pure preservation of the spirit of Visual Basic…this is Jabaco!
Liberty Basic: Liberty Basic appear to offer a nice RAD look and feel! The method for building your application is reverse to what you normally do with Visual Basic 6 where you would draw your form’s on a Canvas! Liberty Basic is indeed a free-spirit, a true implementation of the Basic Programming Language! We did not test drive this tool! You would definitely have to look at this one for yourself…we have not evaluated this tool closely!
True Basic: True Basic is another viable alternative to Visual Basic! This implementation of the Basic programming language is touted as the true descendant of the original Dartmouth Basic and is available in Silver, Bronze and Gold editions. Again, we could not test drive this tool but product descriptions sure make it look like a powerful alternative to Visual Basic!
REALbasic 2009 R3: What about REALBasic 2009! We had known of this tool for sometime, having come across a white paper that we downloaded on the Internet! We downloaded a 30-day evaluation of the REALbasic 2009 R3 from the product website (www.realsoftware.com)! As with Jabaco, installation was a breeze! If we can consider Visual Basic 6.0 to have been a charming wild mountain goat on the highlands of Ethiopia, you may consider REALbasic as beautiful and dainty wild goat variety such as those found on the forests of Cyprus -? a beautiful and tasty variety indeed! A powerful viable alternative to Visual Basic .NET/2005! A Visual Basic 6.0 programmer could look at REALbasic code and readily enough read it understandably despite some minor differences in code structure! Both languages (Visual Basic 6 and REALbasic 2009) share many keywords and reserved words in common even though! Even though the IDE is different, it is readily enough understandable! Unlike Jabaco, REALbasic will not allow automatic conversion of Visual Basic 6.0 projects (or perhaps we did not look deeply enough) but rewriting your Visual Basic 6.0 code in REALbasic should definitely not be as difficult as doing a rewrite in Microsoft’s own Visual Basic 2005! Another attraction to REALbasic was that it ships with its own Client/Server SQL Database so that you can be up, building database applications quickly! This would mean that if you are using REALbasic, you would be obtaining a complete applications development studio (everything you need in the package)! And then to boot, REALbasic is multi-platform capable, allowing you to compile directly to Machine code (for windows, MAC OS and several other OS’s) thus achieving significant performance gains similar to those of C/C++ flavors that also compile to machine code! We think that the differences between REALbasic and Visual Basic can be accounted for in the motivation behind the creation of the language…the fact that the creators of REALbasic are in this for real…they are offering a genuine, powerful, viable, non-Microsoft alternative to Visual Basic.
Microsoft Visual Basic 2005: And what about Microsoft’s Visual Basic 2005 (this is what we have installed to enable us start conversion of our programs)? We cannot pretend that we are happy with the fact that we are required to re-write major league enterprise applications almost bottom up! As very experienced Visual Basic developers, we had expected to get up and quickly using the new Visual Basic (but that was not to be)!
?Be that as it may, Microsoft’s pioneering efforts in programming language design and innovation cannot be just discounted! The new Visual Basic 2005 is not Visual Basic 6 but it does stand shoulder-to-shoulder with C# (Microsoft’s new toy), J# and Visual C++ in terms of syntax and programming constructs! The New Visual Basic 2005 also includes expanded project types and language capabilities! It also has enhanced language constructs and new data types that will easily put you at par with the C# or C++ programmer while providing tools to rapidly create Web applications and access the latest versions of Microsoft’s own SQL Server 2008 and Oracle 10g/11g.
If it is name recognition that you want (Microsoft is a known name world-wide and their marketing power is unmatched); if you want to be a developer building applications with tools from an ‘approved supplier’ then you will have to embrace the new Visual Basic 2005 (Visual Basic 2008 has already been released as at the time of writing)…learn to eat genetically modified meats with a slightly different taste and feel so that you do not starve to death!
I think it is worth mentioning if you must stick with Microsoft that C#, Microsoft’s new C-like language that Microsoft created specifically for .NET Framework programming can also be a powerful contender! We found that mastering C# was both exciting and fun, probably because I was aware that I was learning a completely new programming language and therefore had no preconceptions of what to expect! On the contrary, learning Visual Basic 2005 was not so much fun perhaps because I approached the language as a Visual Basic programming veteran! I expected the language and keywords to be familiar enough! I expected the program structure to be familiar! I expected programming constructs and abstractions to be familiar! If you are a Visual Basic 6.0 programmer hoping to mater Visual Basic 2005 quickly, be forewarned – simply disabuse your mind! Approach Visual Basic 2005 as if you knew nothing at all about Visual Basic, approach it as if you are learning a completely new language that you have never really used for large-scale commercial projects (like say C/C++)and you will master Visual Basic 2005 soon enough!
Conclusion
All the options I have examined will involve some amount of code re-write! They can be no avoiding that no matter how little and I guess that is the risk attendant to our trade is it not?? If you want to keep your VB6 code almost as pure as it is, Jabaco is it! Otherwise, REALbasic is the next best alternative! If you want to stick with Microsoft, you would have no choice but to go Visual Basic 2005 because alas! Microsoft’s massive marketing machine ensures that most companies requesting new software (especially for those of us in the bespoke) software market are all requesting their projects in Visual Studio .NET! Also, it is a reality that the next generation of programmers being trained are being trained in Microsoft’s Visual Studio .NET as exemplified by the new popularity of C#
And what about us? We are taking a serious look at Visual Basic 2005, learning to like and desire the new meat so to speak! But we plan to also be delivering cross-platform solutions in Jabaco! Our quest for a solution brought us in touch with great tools out there being built by little known companies…it is worth checking out!
Posted in: java training| Tags: Technology Programmer Microsoft Migrating time enterprise article visual studio crunchDesign for the Long Run
In the last three years there has been a great change in the design industry have been. With the introduction of four-color multi-purpose printer, the photo capabilities, anyone with a few dollars to start a design studio. However, there is still something to say, for experience and a record of quality work. What I'm trying to say in a pleasant way, that is the time really is the best teacher. With good luck in the world and all the good intentions, a good designer does not have any time at work and training.
I have seen some new trends on the web and it’s starting to concern me, and it’s getting harder to see the fine line between web junk and good web site design. Let me give a few examples and elaborate this.- The online web site "wbees.com auto builder" is a web based application that claims, a beginner can build a professional website. Now don’t be fooled by this one, it’s a very nice business idea but the out come is nothing less than pure up sell. They show you a great site template with all the bell and whistles, and when you get to the 11th hour, you find you just don’t have the knowledge to finish the site. Now for all you hard-core designers with a hankering for detail, I’m sorry to say with this tool you have to stay inside the lines. There is no custom work allowed with most of these web-based tools and you can’t get at the code. The thing that bothers me the most is that they mislead the customer into thinking he or she can develop their website with very little effort.
- "Buildasign.com" This web site lets you build your own signs; you know magnetic signs, banners, and the like. Now some of these sites really have nice layouts but the actual graphics are clip art and it’s most likely taken from the web. You need to be concerned with copyrights and design infringements. The real killer was that their pricing was pretty much the same as local companies that do all the work for you. A real sign company will help you with the permit process, variances for big signs, and in most cases give you the elevation and color sketch before the sign is even done. I was in the sign industry for over 15 years and let me just say signs are very important to the bottom line. After all it’s the first and the last thing the customer sees, so you want to make a good impression.
- Have you ever seen the online services that offer a wide selection of graphics designers that sub contract themselves through this web service? Well first thing you have to pay for is the membership. Then you will typically pay a small percentage more on their work because the design service needs a cut as well. Worst of all in some cases you have to pay before you get the product, with out the opportunity to touch and see the item in person you just never know. The real drawback for me is it’s hard to contact a real person though such methods. In design you need to have good communication, to get the project done right and done quickly.
When you take on the task of inventing a concept and developing a website or graphics design it involves at least three different areas of expertise.
1.?A professional web designer to build the graphics elements that will work with the site and its functionality.
2.?Quality web developers with knowledge of Cold Fusion, ASP, Java script & programming, html, xml, and a whole lot more. They can make the graphics interactive or even animated.
3.?A search engine-marketing specialist to create the content for the site text and develop the backend code for search engine relevancy. Content is important for pictures and graphics it builds relevancy.
Here's the bottom line by designing something like websites, drawing, print work or even a company logo. If you make a professional with years of experience to work, you are putting together your experience with the designer, and that works for you in the long run. They have a real chance of something unique and effective.
I have it I had to hire a marketer to promote my business is designer, even all my abilities, there is only experience and its meaning. To see it this way you are a plumber or your children, you may be able to fix the pipe if the doctors perform surgery? Little!
Therefore, I suggest that you are around so many professional people around you than you can afford and use what they are doing so well. In most cases, if the link is in the results, the word Free, Cheep, freeware, clipart, or the like, it is most likely not what you expect. Try it on Google, the search term
The best way to avoid hours on the net and or a whopper of a headache is to find your designer the old fashioned way: the yellow pages. That’s right, let you fingers do the looking! Most people forget this wonderful tool mostly because we don’t want to take the time. Now for all you computer nerds out there, is a website www.yellowpages.com .Go there and check your local area for a site for your state and city.
Here’s my final point and it’s the most important element, when you are trying to pick the right designer. First of all you have to ask yourself what am I trying to achieve and what do I expect the outcome to be when the designer is done? If the answer is more than one paragraph and it keeps getting longer as you go, than you have more than the ‘average’ design project. Take some time a make a list of the key point such as business model, market, subject of each page, graphics and so on. Below is project template that I make before I build a website or intranet which will help you keep things in order.
Web Design Project Specs:
- Website Model such as a full width design, left navigation or right navigation, and finally Top navigation. There are many other sizes, and website types to consider but deciding what type needs to be done first.
- Target Market (General Audience, Adult site 19 or older, Teen site 15 to 19, Kids Site 7 to 15)
- ?Business name (should match the domain name)
- Domain Name (www.something.com) your domain name should contain no more than three words preferable less and use your main key words. Example: www.nywebdesigns.com
- ?List of the web pages you would like, make the names of the pages descriptive like this "New_York_graphics_design_web_development_studio.html "and always use the underscore not spaces.
- The subject of each page (The subject determines the name of the page and the content, links, meta tags, Title, Description and keywords.)?
- One or two paragraphs for each page on the subject
- A picture for each page with a short one line description
- The fonts you intend to use no more than three on any page.
- A list of key words or phrases taken from your text about 50 all together. But remember it is best to only use 1 or 2 keywords for each page and that fallow the subject.
- A detailed description of the business and its intent, about 250 charters long.
One of the elements that is missing most of the projects at the end, the advice is a very often badly made process that was before the designer to be implemented / developer touches a computer. Counseling for any reason, than was expected, and underpaid service up to the last 5 years. For example, if you hire a mechanic to repair, the family car before he even estimate sheet you flood him with questions on issues, and he is expected to offer a professional and sophisticated solution at a moments notice. America has been trained to expect not only the best service, but because of the food chain industry, where offended if we do not get it fast. So, if you good quality advice on the best policy is to pay for it. Advice is from this point on you with updated information and an invaluable business tool.
I have web design and more than 25 years and Albany graphic graphics industry has helped so many people and businesses to develop their own online presence, and to their companies a new level. If you intend to start a new online business or transforming an existing, I would be very happy to help. Now, maybe you just need advice or have a quick question, please feel free to call us.
What most businesses miss is that their business is unique, and it needs an individual and hands on service. Don’t leave the future of your business up to a company when you haven’t even met the designer in person yet. Call us today and make the best business decision of the day.
?
Posted in: java training| Tags: Introduction photo anyone design printer change industry studio run longVSTS 2010, Enhanced User Experience
Microsoft Visual Studio 2010 delivers a modern, enhanced user experience that makes understanding the current context more natural.
* Clear UI Organization
* Reduced clutter and complexity
* Improved editor
* Better support for floating documents and windows
* Enhanced document targeting
* Focused animations for action feedback
Parallel Programming
Parallel programming is simplified, so both native- and managed-code developers can productively build innovative applications.
* IDE support for parallel programming
* Native C++ libraries that use lambda functions and align well with STL
* Parallel Extensions to the .NET Framework offers support for imperative data and task parallelism, declarative data parallelism, and more
* Resource management of the multicore hardware and task scheduling enabled by Concurrency Runtime
* Parallel debugging windows and profiling views
Democratizing Application Lifecycle Management
Democratizing Application Lifecycle Management
Visual Studio Team System 2010 delivers new capabilities for everyone on a project, including architects, developers, project managers and testers.
* Discover existing code assets with the new Architecture Explorer
* Design and share multiple diagram types, including use case, activity and sequence diagrams
* Tooling for better documentation of test scenarios and more thorough collection of test data
* Run tests impacted by a code change with the new Test Impact View
* Gated check-in, branch visualization and build workflow allow for enhanced version control
Inspiring Developer Delight
Visual Studio has made application development more productive, efficient and flexible for both developers and companies. Visual Studio 2010 continues this legacy.
* Contextual support helps developers better understand existing code – and write new code more efficiently
* First class C++ development experience that helps developers navigate and understand complex C++ source bases
* Build new Windows® 7 applications or upgrade existing applications
* Enable Office tools to make your solutions more flexible and productive for specific needs
Web Development
Web Development
With Visual Studio 2010, we're continuing our investment in great Web development tools.
* A high-performance and standards-compliant JavaScript IntelliSense® engine
* "One Click Deployment" that quickly publishes files and configuration settings from development machines to the final deployed site
* Full support for Silverlight™ for cutting-edge, rich Internet applications
Cloud Development
With Windows Azure™ Tools for Visual Studio, it's easy for developers to build, debug and deploy services and applications for Microsoft's new cloud platform.
* C# and VB Project Templates for building Cloud Services
* Tools to change the Service Role configuration
* Integrated local development via Development Fabric and Development Storage services
* Debugging Cloud Service Roles running in the Development Fabric
* Building and packaging of Cloud Service Packages
* Browsing to the Azure Services Developer Portal
More Databases
More Databases
With the Visual Studio partner ecosystem, developers will now be able to work with IBM DB2 and Oracle databases in addition to Microsoft SQL Server™ databases.
IBM has committed to develop, sell and support a Database Schema Provider (DSP) to let developers working with DB2 on the Windows, Linux or Unix platforms do offline design, development, testing and change management using Visual Studio Team System 2010 Development Edition.
Quest Software have made a similar commitment develop, sell and support a DSP which will enable Oracle Developers to work with their databases just as easily.
Posted in: C# and .NET| Tags: Programming Microsoft VSTS 2010 Enhance User Experience Cloud experience user visual enhanced vsts context studio modern