Replacement for VB 6I have been using VB6 for many years now. It has a relatively stable IDE and VB6 BASIC always produces a good result in a very quick time. For generating applications quickly there is little to compare with it. As a learning platform it is also very good indeed, having an effective and fully featured IDE whilst not being too complicated in any respect. It is also one of the few mainstream BASIC packages for Windows that you can rely on - as there is nothing comparable that will definitely still be in existence in five years time... (this is 2014). So many competing BASIC flavours have disappeared in the last few years. VB6 still works and importantly, it has a great wealth of resource behind it, lots of solutions on the net and vast amounts of sample code to do more or less anything you would like.
Being a VB6-er I am very at home in the VB6 IDE and the language is pretty much what I had come to expect from a BASIC language variant right from the start. In comparison, the VB.NET variant of BASIC feels a very unfriendly place for a VB6-er to be. The VB.NET changes are just too extreme, the IDE is familiar but different and the language has undergone bloating and complication that has made it BASIC-like but definitely not BASIC, more like C. My immediate conclusion of the experience of using VB.NET for the first time was that if I had wanted to learn a language that was C-like then I should have specifically gone for the .NET version of C and not VB.NET. This leads me to think that Microsoft missed the point of Visualbasic, I think that some snobby lead developer at Microsoft decided that VB6's days were numbered and that it was time VB grew up and away from BASIC altogether. There has always been programmer snobbery over the use of BASIC and I guess that this had some sort of role to play in the dismembering of VB6. Of course, I know that VB6 is COM-based and as a result its days were numbered. We have to accept it was due for a major revamp of its technological underpinnings to allow it to compete with more advanced languages. Some remedial work to fix shortcomings in the language had to be expected.
Trying to be charitable, with regard to the .NET syntax changes, it probably saved the design and development team a lot of time using the existing .NET framework and I suppose the syntactic standardisation seemed a sensible thing to do in itself, keeping all Microsoft's language offerings within some sort of standard.
I am guessing that this is the route that took us to where we are today with VB.NET:
o different IDE,
o different COM integration,
o different syntax,
o different semantics,
o different compiler,
o different debugger,
o different runtime,
o different forms engine,
o different binaries.
So, the end result though is not really VB6 anymore and so VB.NET is a tool that isn't worth using by the majority of people who would - and could have easily picked up VB6 and developed with it. A better approach would have been a more gentle introduction of .NET syntax and the whole .NET approach with the same old look and feel of the old VB6 IDE- giving VB6 enhanced functionality without alienating users too much...
The VB6 language has been derided by some professional programmers and while we canm accept their criticisms there is no denying the VB6 IDE really was first class. The VB.NET IDE is similar to the VB6 IDE but due to certain major differences you do not feel "at home", one of which is the overall speed of the IDE. The VB.NET IDE seems very slow to load, react and run. A lot of work has gone into updating the look and feel, adding tabs &c but it leaves the .NET IDE feeling more cluttered than the VB6 IDE. The .NET IDE leaves you feeling annoyed by the corporate blue slime that the new IDE sports. I'd like as little of Microsoft's current branding as I can get, no popup feely, touchy wizards please, just a clear and concise grey and white IDE. The .NET IDE also changes the familiar locations for tool, options and configuration all of which slow the transition of the VB6-er from VB6 to .NET. The following image shows the fairly familiar VB6 IDE layout retained by VB the Express IDE (a subset of the VB.NET IDE) with my project undergoing the initial translation.
What would have kept all those VB6 programmers loyally on-side? - a friendly IDE and backwards syntactic compatibility in a more compatible VB7, with users understanding the need to upgrade. As it is, lots of us were left by the roadside, many of the aspiring 'real' programmers jumped ship and made the leap successfully to VB.NET, some saw the future and moved entirely onto 'proper' languages such as C and its derivatives, some moved to Java whilst others carried on using VB6 whilst in parallel trying to get to grips with VB.NET. Some, like me, recognising my own deficiencies in VB.NET and not wanting to learn another language from scratch just stopped coding in BASIC altogether. Was that Microsoft's intention?
Having previously given up VB6, I had call to pick up an old basic project that I had promised to upgrade/complete a long while ago. It was written in VB6 and hasn't been touched for years. I decided to bring it into the nineteenth century (it is a steampunk app.) which meant reskinning. However, I needed to determine the new coding environment, VB.NET, Realbasic, KBasic, Freebasic, Y!WE, which to choose?
I checked these products out a while back when VB.NET came out, looking for an alternative but times have changed and some of the competing Basic offerings are now dead or dying. Some of them have moved on and are considered usable alternatives. It was time to re-try the offerings that are still available and see if they are any more usable than they were first time around.
First of all, I downloaded the free but limited version of VB Express that Microsoft provide (good for them!), I retried the VB6 to .NET converter and it just tells me that loads of my VB6 code that did this (and that) is now completely incompatible with .NET. Bearing in mind that in order to to perform this upgrade I have to learn .NET, largely from scratch and then convert hundreds of lines of incompatible code I soon realise I just can't be bothered, not for a few bug-fixes and a reskin. It could take ten times longer to learn the new language and the new IDE than it would to complete in VB6. I've started the .NET conversion job just to see how steep the uphill climb would be and I can see from the work I have done that it is pointless to continue. I've learnt enough to know that VB.NET is not for me, being cumbersome and not suitable for RAD (Rapid Application Development). In addition, you have to have the following items installed before you can even think about installing or running your own VB.NET application:
o The latest Windows Service Pack (34 - 150 MB)
o Microsoft Installer (1.7MB)
o Internet Explorer (9 - 30 MB)
o Microsoft Data Access Components 2.7 (5 MB)
o .NET Framework (50 MB+).
Imagine having to install all that lot along with your little program on every single PC that is going to run it. Frankly it is non-starter. On the positive side though VB.NET does have the Express version which is free. However, it needs to be free to get anyone interested, there is no way I would spend the £1,000 or so required for the professional version nor the £100 for the personal version for this one project.
On top of this I have to add that I am now always a little suspicious of MS offerings in that Microsoft always builds-in obsolescence to all their products. We've seen this with VB6, Windows gadgets and now .NET which is mooted as having a finite shelf-life due to the adoption of METRO in favour of .NET. That must be very frustrating for all those .NET programmers and another reason for us VB6-ers to avoid .NET. The replacment is dead!.
Alternative to VB6 - RealBasic - RealBasic was renamed to RealStudio and over the intervening years it has had a significant change allowing it to create web app.s as well as native o/s executables. The ability to compile for Mac/Linux/Windows and the web is very attractive indeed. The only trouble is that the professional version is required to do all the bells and whistles and it costs close enough to £250.
The Realstudio IDE is not based on that from VB6 and so might take a bit of getting used to. However, Realstudio may be one of the best bets as it has an active development team, active forums, many users and a good product, though the high cost of entry is quite off-putting. They do have a personal version that creates native binaries but only for the o/s you have purchased and installed upon. This slightly defeats the point of a multi-platform language and it is still £70 which is quite a lot of cash for a product you may not actually like. Bear in mind that once you have upgraded to the professional version and have shelled out a further £250 there is still the web version to upgrade to at well over £450!. There is a trial version though which is well worth giving a go, it seems to provide all the functionality of the professional/web versions but in a time limited release. The conversion from VB6 to RealBasic will still require time and effort as the two languages and IDEs are not the same. Test it well before you go too deep as you may be in for a lot of future expense. During my testing I found that it was not easy to reskin a RealBasic app. The controls do not readily take an image nor does the form background. As my main skill is skinnning then this means that RealBasic is not for me.
Update on REALStudio - XOJO
RealStudio/Xojo has had its fair share of name changes since its first incarnation as Crossbasic, RealBasic and then RealStudio. It has now undergone another name change along with a new IDE and support model. It has also had a few changes to the licensing model. It is now named XOJO, a good catchy name. What else has changed? Well, if you bought RealBasic or RealStudio thinking it was the future for VB/VB6 development then you will probably be kicking yourself. The previously stated high costs for RealStudio have just jumped by 20-30% and the full licence cost is now a whopping 800 Euros - you can do the conversion calculations to £/$ yourselves, the result in either currency may have you reeling.
The basic desktop version is still approx. 250 euros but to deploy to anything other than than the desktop requires another 250 euro upgrade for each additional component. The worst thing about the new licence and why it is now so expensive, is that the licence lasts for just two years at which point you'll need to renew the licence - and pay again every year of course. The 80 euro personal version has also disappeared from the shopping cart.
The main changes to Xojo are the IDE, improved web and gesture recognition support for IOS devices such as the iphone/ipad as well as full documentation. The new IDE means change and hopefully improvement (I haven't tested it) but some like Xojo because of the language familiarity to VB6 and as a result they may tend to be people that don't like change in general. They may not want the newer look nor the IDE's reported decrease in responsiveness. Oh well, all change!
What's behind these renaming, relicensing changes? It seems that RealStudio is going upstream as a corporate replacement for VB, now that Microsoft seems intent on alienating all its developer base. It is firmly repositioning itself as a professional development environment for cross platform delivery (still no news yet re: Android as a target platform)
Xojo is still just as powerful and desirable in all its cross platform capabilities and cannot be discounted as a major force in the future for VB-style development, it just isn't for the likes of me - purely due to the initial and ongoing licence cost. If I had previously chosen RealStudio as my future development route I'd be pretty annoyed by the licensing changes and increased costs entailed. I'm glad I didn't.
Alternative to VB6 - Jabaco
There is another very interesting project which I had hoped would get off the ground. It was a project called Jabaco . It is an IDE which is based upon the VB6 IDE and is very familar ground for a VB6-er, the language syntax is 95% VB6 and the code looks like VB6 to me. The rather amazing thing about the code Jabaco produces is that it is java bytecode which means it runs on any operating system with the java run-time engine installed. With Jabaco your VB6 knowledge is retained, the code is multi-platform, the IDE is familar and there is a nice VB6-compatible tool that beginners can pick up and run with. Sounds great, if only the project transits from beta to live.
If it was not a beta version I would have had my future path laid out in front of me. However, after a long gestation period it is still in beta and seems to have gone rather quiet over the last two years or more. There was a rumour that it was due to be released in the first quarter of 2012 but that date has come and gone and after watching the forums closely for a year or two now now I personally think the project is absolutely dead in the water.
Jabaco IDE pictured below, its VB6-like IDE is apparent here. It is slick and useful.
If it is ever released then I suggest it would be the development path of choice for VB6-ers like myself, that friendly Jabaco IDE is a draw in itself. If the project was live and not beta I would have to buy it even if it cost a few pounds. You can find Jabaco here, try it for fun and see, it is really rather good but I personally wouldn't start coding with it in real life as I suspect you'll be up another dead end.
Alternative to VB6 - FreeBasic
There is another multi-platform tool called Freebasic, up until recently it lacked its own IDE (it now has two open source IDEs still under development) and is very similar to QB45/QB64 in that it derives its syntax from Quickbasic but adds more modern functions to QB. It is a completely free offering but does not yet quite fit my needs. At the very minimum I need a good stable VB6-flavoured IDE and VB6 syntax. Although the IDE I tested (FBedit) is very good (as can be seen from the image below) the integration with the basic code is not quite as complete as that of the fully-integrated VB6 IDE. For example, double-clicking on a control in the IDE form generator requires you to supply and type in the name of the procedure to link the button dblclick event to, a little bit cumbersome for me.One issue is that updates for FreeBasic are few and far between which often leads you to suspect that the project has stalled or is slowly dying. Developmet i staking place on the IDEs though which is a positive.
Due to the fact that some crucial features of VB6 are missing, such as the ability to skin a form or button control, for my needs it it cannot yet be considered as the route for a VB6 conversion, although for other projects it appears to be a very useful tool. The image that follows shows the impressive IDE for Freebasic, FBedit in dialog generator mode. Not quite as slick as that for VB6 but familiar, friendly and useful nonetheless.
Where does this leave me? Up the same gum tree as I was when I dropped VB6. Jabaco is not ready, Gambas is a nice BASIC environment but for Linux only so I'm not even going to review it here.
Alternative to VB6 - Kbasic
Checking around again I see that Kbasic is still available but the project has now been abandoned in favour of Q7Basic.
More reasons against - The IDE was considered painful by those that previously commented on it, it is also a commercial project and costs money for the windows version. There is a free Linux version but you need to get your Linux environment sorted first...then install, trial it, &c &c. For windows users like myself this is really a non starter. I could try Kbasic but reading around t'net something told me that KBasic is sufficiently not VB6 and I really couldn't be sure how long it was going to be around given that their site was very quiet. I don't see people deserting VB6 in droves for KBasic. Also, on my install of Linux Mint, KBasic's IDE crashes my process and logs me out whenever I try to create a new project. That doesn't bode well but I can also report that it runs fine on Windows. Here is a screenshot of the IDE in Windows.
Alternative to VB6 - Q7BASIC - is a new BASIC variant product that has only just reached version 1.0 after a log period of gestation. It is heavily based upon a previous product, KBASIC, where the designer was one of the lead developers. It has features of both VB.NET and VB6. It uses the very professional open source QT framework and the QT Designer/IDE which when combined with Q7BASIC allows you to create C++ native applications for Symbian phones and Nokia N9 smartphones in addition to the main desktop platforms, Windows, Mac OS X and Linux. It compiles Visual BASIC to very fast C++ executables, and requires none of the massive framework that .NET requires. You can use all the QT API calls that have no equivalent in Basic and you can also use native C++ classes.
Drawbacks? Well, there is one. Q7BASIC does not yet have its own native IDE. At the moment Q7BASIC uses the QT IDE and QT designer (pictured above) as the front-end IDE and forms generator whilst its own native IDE is developed. The QT tools are very good indeed having been designed for developers using the QT framework. However professional and slick the IDE appears to be, it is not tightly integrated into Q7BASIC the way that the VB6 IDE is to the VB6 code. We had been informed bythe developer that he was creating a new IDE based upon the KBASIC IDE. The image of the older KBASIC IDE is an indication of what it might have been like. Word has recently reached me that the developer has abandoned the new IDE for the moment as he has run into some serious technical problems. Q7BASIC can be found here. The Qt Designer is a good IDE though that will do the job at a pinch. UPDATE: since this was written the developer has abandoned the KBASIC-like IDE and recommeded we focus on using the QT IDE instead. Since 2012 the project has been a little quiet but the developer is still present and online...
The most important thing about Q7basic is that it targets multiple platforms with one code base. I am keeping a close eye on this one. If the IDE turns out to be VB6-like and I can be productive in it then it seems like the natural choice for a VB6-er like myself. The other good point to Q7BASIC is that it seems to be 'progressing' unlike some other offerings that have stalled in their development (Jabaco/FreeBasic). It is good to part of a community that is growing, is actively developing the product and is making actual headway.
Previously, I had promised that I would give it a go and let you know the results of my labour, well here is the result of my investigation:
Fig 9.0 The widget IDE in full screen mode
The Xwidget engine is relatively mature and appears to be working well. The development environment is however quite immature but it works and will no doubt improve. The following image shows the IDE complete with graphical widget in the GUI designer, that has a code window, some syntactic checking and xwidget 'cores' that provide interfaces to system calls and other functionality for weather, time &c.
My apps tend to be based upon high resolution images that provide a specific UI/UX. That is why the widget approach works for me. I design an UI/UX in a day to a week and when done - at the touch of a button I can build a working app. No working code behind it of course but it is satisfying when a design converts in an instant to a program that actually runs. I use Photoshop as the basis for this which is a superb Graphics IDE. The way I do it as follows:
Due to the immaturity of the Xwidget IDE I choose to design the application using Photoshop giving each object on the design its own photoshop layer, then I use readily available scripts to convert the design to XML with each layer becoming a separate image described within the XML. The result is a working widget that actually runs on the desktop giving the look/feel of the final app. It will have a preferences screen and be moveable.
You are asking why I am using the yahoo widget engine even when Yahoo have abandoned it? Well, it works, is more elegant and the scripts exist to help develop image-rich apps. It also creates widgets that work on Macs... The next pertinent question is why use another engine when I am developing for Xwidget? Well, the Xwidget engine IDE is simply not yet fit for purpose when you compare it with an IDE such as that for VB6. For example the code text size is 12 point and cannot be changed, it means you cannot view your code without maximising the Xwidget IDE window. The syntactic checking is sometimes less than useful. Like the proverbial curate's egg, the IDE is good in parts - but immature. The development team numbering only 2-3 developers in total have other priorities such as porting the Xwidget runtime engine to Android. They are simply working on the stuff that interests them.
Fig 10.0 The widget IDE in windowed mode - it looks OK but it is hard to use.
When the Xwidget is complete you have a program that runs on Windows XP, Vista (hic), Windows 7 and 8 (hic). It will also display on Android though most of the functionality will be missing as only a minimal amount of system calls have been replicated, also your widget will have been designed for mouse operation and not gesture-style actions such as those that are commonly found on Android applications. Expect more functionality here in the near future. At the end you will also have a widget that works on Windows and Mac OS/X using the Yahoo widget engine, so you are almost a multi-platform developer with one set of core code!
Alternative to VB6 - REACTOS - Why ReactOS? Reactos is an operating system and not a replacement for VB6 - So how does a new operating system help us in any way whatsoever in a search for a VB6 replacement? Actually, it doesn't help much now but it might well do in the future. ReactOS intends to be an open source, binary compatible version of windows NT. If ReactOS ever reaches a live state (it is still in alpha but is being actively developed) then it could be a stable platform for VB6 for the next 5-10 years without worrying about the vagaries of Microsoft's future corporate policies. At the moment getting VB6 working on ReactOS is right at the bottom of the developer team's priorities. The Reactos developers are an interesting bunch, not always as communicative and as open to suggestions as you'd like but their priorities are different to yours - to get the o/s out of alpha and into beta. Don't expect VB6 to work on ReactOS any time soon but when it does it may well the o/s platform of choice. Alternative to VB6 - PowerBASIC - This product seems to the basic of choice for many serious developers. I have no experience of it yet as it is a commercial product and the owner of the product was not prepared to let me have a copy of the product for evaluation...
Hearsay is that it runs very fast indeed and is a very stable product. PowerBASIC has a simple IDE which is basically just a source code text editor with syntax highlighting. VB6 users will expect more than this and although there is a graphically based forms designer available as a separate product the two don't quite match the quality of the VB6 native IDE. I think this might put off a lot of VB6-ers who are looking to move onto a product that will allow them to maintain the same level of productivity. The website is very old fashioned and out-of-date in style and expected content, giving it the impression of an older possibly obsolete product. The owner needs to move his site into the 21st century and make thhis version of Basic available for evaluation purposes. Otherwise why would anyone want to buy it without knowing how good it is.
Alternative to VB6 - PureBasic - More on this soon.
Alternative to VB6 - Liberty BASIC - More on this soon. 3rd party IDE pictured below:
So, what did I do instead of the above? I picked up the VB6 IDE and even though I haven't used it in years I was productive in just 30 minutes. The IDE is familiar, well-laid out and VB6 just provides. I have been very critical of Microsoft's products over the years (Internet Explorer, Word, Frontpage) but here is a Microsoft product that I really like. How daft were they to abandon it? Microsoft would say that they didn't abandon it but merely improved it. That's not strictly true, VB.NET is acknowledged by all as a new language and even Microsoft states there is no upgrade path from VB6.
So, having picked up the VB6 IDE, pictured above, what did I do? It may sound daft but I have decided to upgrade my old project in VB6, the IDE feels warm and friendly, it is quick to debug, compile in, the results are good and I am coding again. VB6 is great, I can't see what all the fuss is about. Here it is, in all its glory, skinnable, fully functional, quick and easy to use.
Here is a resized screenshot of the finished program showing just what VB6 can produce with a little help from photoshop.
One of the reasons I wrote this article is to document my search for the right platform, I've updated the article as my search has proceeded. Whilst writing it a lot has changed, one thing that has is Microsoft's commitment to VB6, it seems to have been confirmed that VB6 will continue to work under windows 7 and now Windows 8. The IDE may have a few issues but VB6 programs will continue to work and the runtime will continue to be shipped with Windows 8. Here is the link to Microsoft's statement on the matter:
I keep my eyes open with regard to VB6 and its possible alternatives and I regularly update this article. In so doing, I have become quite astonished by the "head of steam" that seems to have been generated recently behind VB6 and by its loyal users. It seems that people (even windows users) are realising that the "Microsoft way" is not the only way and that there are actually other ways of doing things. I've been keeping my eyes open for a long while now and the "driving wind" behind alternatives is greater than it has ever been. Microsoft doesn't seem to be aware of it or perhaps it is blind to the outside world. Reversion to VB6 as a potential development platform for the future is one thing that I see emerging from Microsoft's Windows 8 car crash.
I reckon that if there is a chance for a VB6 alternative and a compatible and familiar IDE, then the time for it is has arrived or is arriving. There seems to be a lot of disillusionment from users with Microsoft's new NT6 GUI and also from Developers across the board regardless of which Microsoft technology they are familiar with. People are still loathe to drop the Windows environment they are familiar and productive with - but no longer expect Microsoft to provide it.
Be well, beloveds, and be grateful.
Need More Detail ? contact me !!
I sell a lot of stuff, program. knowledge, etc.. at a small cost.
I will guide you step by step, personally.
My Paypal Account is : firstname.lastname@example.org
Don't know how to send money ? Click here for detail about Paypal account.
Don't have money? OK! Here is another way to get the program.
how to get my program - Free of charge
gets your hair to grow as nature intended !
Now you can say goodbye to fine, limp, brittle hair forever and instantly get thick, voluminous hair! This hair oil does it all in one single 2 minute application. Click Here