Save Ferris! I mean, VB6!

A few days ago Scoble emailed me with the heads up on his post talking about the MVP revolt spurred on, in part, by the fact that VB 6.0 mainstream support is ending this month. Then life intervened and I’m just now getting some time to get back to the whole brouhaha. In the meantime, this has roiled through at least a few corners of the blogsphere. I’d throw in a couple of gratuituous links, but if you read any number of .NET or VB blogs, you’re going to have seen them. Well, OK, two entries that stand out in my mind were those of Dan Appleman and Scott Swigart. There were plenty others that I although thought were good, but one man can only link so much. The petition itself can be found here.

I should start off with the statement that I have a great amount of sympathy for people who have not yet made the move off of VB6 and who would very much like to see support extended even further than it already has. I know that support can be a real issue and is something that people worry about. Beyond that, though, I can’t really say anything because I’m not even remotely involved or included in decisions about things like product support. I, along with the rest of you, will be interested to see what kind of response the outcry elicits.

As for the petition itself, it asks for two main things: 1. That we develop new versions of “unmanaged VB”, and 2. That we integrate those new versions of “unmanaged VB” into the Visual Studio shell.

To start with the second point first, to those who think we should integrate VB6 into the current Visual Studio shell, I can only offer the perspective of a developer who’s worked in both codebases: best of luck. In VB6, all of the pieces of the puzzle (compiler, debugger, forms package, runtime, etc.) were designed to work solely with each other and were tightly bound together. In Visual Studio, all of the pieces of the puzzle were designed to work with mutiple clients and were loosely bound together. Thus, the architectures are totally different and, in many ways, incompatible. Heck, we spent four years getting VB .NET integrated into the Visual Studio shell and we were writing it from scratch (and therefore could design a compatible architecture)! Trying to extract some of the pieces of VB6 and fit them into an architecture that was not designed to couple with them as tightly as their previous home would be a huge undertaking.

And when I talk about a “huge undertaking,” I’m not talking huge in terms of fungible stuff like money or people. I’m talking huge in terms of non-fungible stuff like time. No matter how much money or how many people we threw at the problem, it would still be a significant amount of time before anything could be produced. I’m talking, like, years. So, now we’re talking about having something in, what, 2007? 2008? At best? Ten years after the previous version of “unmanaged VB” shipped? I’m not really sure how that’s going to make much of a difference to the issues that people are confronting today.

Now, obviously, we could still satisfy the first request by shipping a new version of VB6 that wasn’t integrated into the Visual Studio shell, and that would take a lot less time. At this point, though, I don’t believe that even that would really buy people that much. Leaving aside the question of the desirability of a separate-but-sort-of-equal development envrionment, Microsoft has stated very clearly (pace Richard) that managed code is the direction that our company’s components and APIs are headed. As such, fostering new development (as opposed to extending support for existing development) in “unmanaged VB” doesn’t just postpone the inevitable, it makes it worse. It encourages people to keep writing a lot more code that, somewhere down the road, they’re going to have to port to .NET. It’s alleviating pain in the short term only to cause greater pain the long term, something that I don’t think it would be responsible for us to do. (One part of the petition that did mystify me a bit was the request to “Ease […] migration of unmanaged VB/VBA code to VB.NET.” Does anyone think that we haven’t been working on that?)

So, while I can be sympathetic to where the petitioners are coming from, I can’t ultimately support their stated goals. Obviously, we continue to have work around helping people make the transition from COM to .NET at their own pace and helping them be clear on the advantages of doing so. VB 2005 is going to help a lot here, I think, and we continue to work on even more things for the road beyond. In the end, I think that’s the best thing we can do.

85 thoughts on “Save Ferris! I mean, VB6!

  1. Guru

    Read about what all others said. But before i say anything, something about me. Been developing since 12 years.. started with basic, c, cobol, foxpro, vb3 – vb6 and now .Net. After acquiring very superior skills in vb6 (years or exp) now its absolete.

    Ask me what im doing till now -> Developing applications for customer. Which in most cases automates their business process.

    I agree .Net is a much better approach than VB6. But to run .Net, you need the framework installed. You cannot compile it to a native code. Its pathetically slow and resource intensive. Now i need a fast system with min 512 MB Ram!!! Ok fine, we will upgrade it. But what are the benefits? and how much $ and time you burn in the process. Think over.

    When companies upgrade, they will upgrade when their process changes or the company grows. So MS should support their OS or language until there are any users using it. They should not stop their support.

    Its like when i upgraded from Win2k To XP, there was no visible advantage in my day to day life. But just burn 400$ and give it to MS and another 500$ to upgrade my system!

    most of my clients wonder, as the hardware capabilities increase, Java and delphi run faster, but MS products consistently appear to be slower than the previous versions. I have hard time asking them to upgrade their hardware as the MS releases newer versions.

    Just dont look at a programmer’s perspective. Look at the value for your money, you will realise what other people are telling about migrating apps to .Net. Its not just about the skills, but about the upgrade of the entire infrastructure to .Net, inspite of not have any upgrades in their business process.

    If i was a manager, i would take this opportunity to dump MS and go for java or delphi, where i will have higher value for $ spent.

  2. Anthony

    I don’t think there is any question that .NET is very nice, and if I didn’t have YEARS investeded into millions of lines of VB Classic code written, it wouldn’t be an issue.

    As a VB 4/5/6 developer, and someone who’s company has a lot at stake if applications written in VB6 wind up unsupported on a future OS, I have a suggestion for Microsoft.

    PLEASE guarantee VB6 users that you will fully support VB6 apps on all future OS releases AT LEAST until you give us a migration tool that will adequately (98%? 99%?) migrate our (billions?) of lines of code into your .NET architecture (and the ability to compile natively would be nice to have back as well).

    Just let us migrate our code, and (most of us) will stop "whining".

  3. Belfaster

    You guys aren’t mentioning the use of Virtual Machines (VM), which allow you to upgrade your host PC as often as you want, but preserve a VM for running a legacy VB6 app.

    But ya, I think they should open source VB6 so it can evolve instead of die.

  4. See sharp

    Just out of curiosity, how many of you have ever wondered why a programming LANGUAGE needs to change it’s syntax?

    I mean, look at ANY other language out there. Platforms change, new libraries are created, better, faster ways to implement solutions are put forward, USING THE SAME SYNTAX. Some languages are better for certain tasks, some excel in other areas.

    I submit that one of the problems with VB to begin with, has been it’s lack of a well founded theoretical base. To a person like me, old school if you will, VB’s syntax (or lack thereof) has always been a mystery.

    I see many similarities between VB and the way MS implemented the (ab)use of wild cards in DOS commands. In Unix, well defined regular expressions, based on a solid reg exp theory, are used by the OS as part of launching commands. With MS-DOS it was more of a happening from command to command. (Which is exactly what it was, since wildcard handling wasn’t part of DOS, but handled separately by each application.)

    Why am I saying this? It may cost individuals and companies billions of $, but I think that computer programming (as a profession, skill and even art form if you will) will benefit in the long run the sooner this hybrid disappears altogether. It was a hack that probably never should have seen the day of light in the first place, much like DOS. They have both served their purpose and deserve a beautiful funeral at best.

    Having said that, I really feel for the companies that have all this time and money invested in VB6 software and who today feel the need to port their code.

    My advice: Don’t port unless you have to! If it works, keep it! But next time you choose a programming language and a platform, choose something less volatile than VB. Of ANY version.

  5. Lucas Darten

    I got ahold of a beta (or something along those lines) version of quite a while ago. It honestly scared the crap out of me; nothing worked, it suddenly took forever to do ANYTHING, I hated the entire interface, it was essentially a piece of crap. I was very worried that all this vb knowledge I had gained on my own was now pretty much pointless.

    Fast forward quite a number of years and I decide to go back to school and what do you know, everything is .net.

    So, I bite the bullet; install it and learn it.

    not too bad, it works. makes more sense.

    But I still have issues with net. why the heck did EVERYTHING have to change?

    I understand the architecture changed, but keywords changed? why? How does that relate to the architecture being different. There are some things that seemed to change for no reason other than to confuse programmers (and encourage them to get new certifications).

    Personally, I believe that a lot of things changed for the simple fact that if it looked too much like vb6, people would think it wasn’t much different than it.

    I dunno, tired, up too late, hopefully I’m not embarrassed by my rant in the morning.

  6. ReapeR

    I don’t know if any of you is still going to read this as the last post is of 11/17, but there is a Microsoft.VisualBasic namespace (you really shouldn’t use it) but at least you can see that microsoft has heard you. they didn’t had a choice but to make a new language, while delphi was a well designed language that produced fast code and was easy to make .net compatible (like c++), vb just wasn’t because of how it worked, and for those that say that .net is slower than vb, its a lie, the same way that java can run faster than vb (and net 2.0 is faster than the latest java).

    No I’m not a microsoft guy, i’m actualy a beginner programmer that likes to try things, hope i helped with the info about the namespace.

  7. Roger Mullan

    To whom it may concern


    As a VB programmer that started with version 4, I am disgusted with what Microsoft has done in breaking compatibility. I have a pile of applications written in TRUE VB and I will maintain those applications in VB6 and not migrate them to .net, as for new development, I will favor Delphi from Borland, in PROTEST, at lease they care about their developers.



    Should Microsoft not bring back a .COM version I will shift completely away from Microsoft development and to PHP, Delphi, and MySQL and will encourage other developers to do the same.



    Microsoft has failed to note that developers do have some say in what language, software in there departments is developed in and what servers they run on. Perhaps if Microsoft shareholders start to feel it in their bottom line their board will be forced to take notice of the now disgruntled development community.



    So I encourage everyone to boycott Microsoft till this is remedied. Personally I will start with recommending to our head office to freely distribute OpenOffice to our 30000 strong client base as a start.



    Microsoft has betrayed us, we should all do something about it.



    Roger K Mullan


  8. Ron

    Letter to Microsoft.

    I wish to return the enclosed Visual Studio 2005 Professional for a refund.

    Copy of original sales receipt is enclosed. It was purchased from on 2-1-2006. The software has been uninstalled and I have no backup copies. All related media and manuals are included.

    I want to return the product because what you call Visual Basic in this version is not Visual Basic. I currently use VB6 and the conversion from VB6 to the new version of VB is not feasible.

    I have always been a great supporter of Microsoft and in fact in I have been contacted several times in the past with surveys about my opinion of Microsoft and I always gave the highest rating possible. When the first version of VB.NET came out I was disappointed about the direction Microsoft was going with VB, but I thought I would give you guys a few years and things would probably change. In fact I purchased the first version of Visual Studio.Net, and even though I knew I would never use it, I did not return it for a refund, that shows how supportive I have been of Microsoft.

    Now my support and good feelings about Microsoft are beginning to run thin. I feel though I, along with every other user of VB6, have been abandoned. Within the next 2 years either I am going to upgrade to a REAL version of Visual Basic, if Microsoft decides to go back to what is really VB, or I am switching to a non Microsoft development platform.

    If Microsoft does not change from their current direction with VB, I will never use another development product from Microsoft. It may be just as easy to convert to VB.Net as to another platform, but I would not invest that much time and money into a company that can just abandon you as easy as Microsoft has shown that it can.

  9. John G

    As I peruse these comments made by many intelligent people and some not so much, it makes me think about opinions are ***holes, everybodt has one. That is about the extent of it.

    I used VB6 (occasionally, still do) and loved it. I made the jump to VB.NET, and initially like most, I hated it.

    When I got used to true Object-Oriented programming and the .NET platform, I fell in love with it. But that is my opinion, for whatever that is worth. All these other languages are all good as well. Jave, C++, C#.

    Those who responded are all entitled to their opinion, but be civil to each other, and try not to condasend just because you think this is better or VB6’s can’t be real developers. All that is hokus pokus.

  10. Dimitris Anoyatis

    For me the real dillema is whether a developer needs to make the jump from VB6 to .NET or not. The answer to that depends entirely on the kind of projects that developer is asked to participate in.

    Personally I cant change VB6 for anything in the world. Call me old fashioned, a dinosaur or whatever… for me its not only the tool that I love its that having discovered its limitations I can push myself further on how to circumvent them. Its also closer to the first BASIC dialects (remember what BASIC means = Beginners All Purpose Symbolic Instraction Code). The ones I loved and spent lots of time trying to figure out

    how this mix and match of instructions worked; going through code line number by line number.

    It would be awesome if there was an equivalent open-source language to VB6 with a nice import tool

    and the wishlist that all VB6 loyal users asked MS for

    Year after Year… (better support for Object Oriented constructs like inheritance, stand-alone executables, etc) and when that happens (cause it will) I am pretty sure you’ll see those .NET developes that made the jump, dropping it (I mean the .NET framework) like a sack of rotten potatoes.

    Basically its not the hype that matters. We all use different tools for different tasks. VB6 is one more tool that NEEDS to be in our toolshed. I am not saying abolish the .NET Framework or Java,PHP,C++,Python etc. Rather than doing that, go ahead and give developers the right tools, the tools we can all love to use (and VB6 has been loved by many of us) and make our lives easier and happier.

    As developers we have a responsibility to go beyond the marketing schemes and make sure that every tool we use has been evaluated and not make jumps and switch to platforms that require us to reinvent the

    wheel all the time.

    For time is one of the most valuable weapons we have.

    This is my humble oppinion.

  11. FSWolf

    Wow after reading thought all these posts. Ill just keep my thoughts sweet and short. VB6 was sweet and easy. Were as .net seems to be a robust pain.

    I think its just time to change operating systems all togeither(Say Linux or better yet 😀 lets all get apple) and pick up C++.

    That was a very good point See sharp made about keeping the syntax the same. Its my hopes that some day microsoft will stop with this foolishness and have some consiteration for developers. As well as there other users and supporters.

  12. ABID ALI

    Microsoft Care Its developers and as one said they don’t support COM in later version wrong Microsoft Provide COM Support in VB .net, ASP .net by the help of CCW(COM Callable Wrapper) and RCW (Runtime Callable Wrapper) by which you can use your COM into .net platform easily.

  13. Humayun Shabbir

    Visual Basic was derived from BASIC, VB.NET is from VB6…Should we do some effort and develop a better programming tool that have best of all ?

    On other hand is that possible that we have VB6, VB.NET and C# integrated into one language ? So developers decide what is best for them without worring about syntax issues.

  14. another MVP

    After getting rev 2 of Vista, I tried to install the VB6 IDE, and guess what? It will not install! Anyone think that is a coincedence? VB packages will install alright, but network printers get piped thru the XPS (software) printer for some reason.

    I tried to load the IDE to help me debug it. It prints fine to the local printer (CutePDF), but not to the server (Wifi connection)

    Also, a clean install couldn’t find the network, modem, or sound drivers. That night, it found the modem, but not the sound (but Windows Update isn’t supported).

    My 2 cents.

  15. Dave A

    Why not face the truth. Microsoft are a company driven by profit. The only way they make profit is to release newer better components that customers buy. So in a few years time it will be no suprise when .net is no longer supported and you must have the newest technology. Of course to get it you must send money to Microsoft. What does .NET offer the humble user like myself that dabbles with programming in VB 6.0 and C++. Answer absolutley nothing. What will windows Vista offer me? Answer absolutely nothing. I will be forced to upgrade oneday as all the Microsoft diehards will buy any new software simply because it is Microsoft.

  16. Elroy Sullivan, PhD

    I have been coding in VB, QuickBasic (PDS), QBasic, and Microsoft Basic OS for 25 years, and I don’t get it. For decades, Microsoft was the company that "got" upward compatibility. Back a couple of decades ago, I can remember it being a struggle to come to a profound understanding of event driven code and actually letting the operating system have control before my program terminated. However, I soon learned that I could cut-and-paste huge portions of existing code into procedures, and that they would run without modification. I eventually cleaned up this code, taking out the GOTOs and GOSUBs, but I didn’t have to! I remember when class modules and user control modules were added to VB. I now have a whole library of my own user controls, such as labels and buttons that have rich-text on them that can be pasted onto the control from WordPad. However, the important point is that I could ignore these new features until I needed the advanced functionality they offered. With VBNET, so much of my library is "broken" that it’s too much work to change. I love learning new things, but I HATE being told that I have to.

    On the COM vs NET (i.e., managed vs unmanaged code) framework: personally, I couldn’t care less about this so long as I can still call DLLs, make API calls, build Access databases, and automate Microsoft Office applications. Furthermore, I can’t understand how this dichotomy drives many of the changes made in VBNET. For instance, what’s the deal with making all arrays zero bound? This breaks so much of my existing code that it’s ridiculous, and what’s this have to do with COM vs NET? Sure, I can write a wrapper for each of my arrays so that they are zero bound, but why should I have to? Why doesn’t Microsoft add an “Option ArraysAnyBound” statement to the language which will allow arrays dimensioned with negative subscripts, or whatever. Wouldn’t it be trivial to push this down into the bowels of VB so the programmer doesn’t have to worry with it?

    What’s with changing all arguments to ByVal? Once again, why break everything? Why not have an “Option ArgumentsByRef” statement that fixes legacy code? I have gotten VERY familiar with keeping track of what is passed ByRef and what is passed ByVal. Why break so much existing code? Sure, code translators can attempt to fix this, but why do we need to bother?

    The “short circuit logic” also breaks a great deal of code. Once again, I can’t see how this has anything to do with the COM vs NET issue. I have gotten very comfortable with using a “Select Case True” statement when I am testing for several conditions and I want to jump over certain evaluations when an earlier one goes true. However, if I write “If ThisFcn() Or ThatFcn() Then” I expect both ThisFcn() and ThatFcn() to execute. In fact, I may depend on it. Once again, why not have an “Option NoShortCircuitLogic” statement in the language?

    This one may be a little more difficult, but why do away with fixed strings? I use them frequently in structures (User Defined Types; UDTs), and I know exactly what to expect, even with the invisible ASCII to UNICODE conversion issues when writing to files? Are the hoards of programmers at Microsoft just too lazy to implement this feature?

    Why change the value of “True” from -1 to +1? I know that other languages use 0 and 1 (or +1) as true bit operators to indicate “False” or “True”, but, since the beginning of time, a “True” in basic has been a two-byte integer will all the bits turned on (i.e., -1). This brings up another point. What’s the deal with changing the Logical Operators to pure Boolean Operators. Any VB6 programmer worth his (or her) salt knows that all the Logical Operators are actually bitwise operators in all cases. If you don’t believe me, try “Debug.Print CInt(True Xor 5)”. I’ll let you figure out the results. In VB6, when forced to make a Boolean interpretation, such as “If .”, anything that wasn’t ZERO was True. This is why some novices can’t understand why “If 1 And 2 Then .” evaluates to False. However, I digress. The point is, why “break” all existing code that is based on these understandings? Once again, why not have an “Option LogicalsAreBitwise” statement that allows legacy code to execute unaltered?

    Why did Microsoft do away with statements that didn’t seem to do any harm. The LSET is a good example. I frequently deal with motion capture data files that have data stored in old DEC VAX floating point formats. I have routines that use LSET to convert this data to the IEEE floating point format. Sure, I can rewrite this code using the CopyMemory API call, but why am I being forced to? In fact, I have some old accounting applications that store data in the old Microsoft Binary Format (MBF) formats from the old QuickBasic days. Rather than writing data file conversion routines, I simply convert the MBF to IEEE in memory, do the math, and then convert back to MBF before I write it to disk. Why break these procedures? They have served me well for decades.

    I could go on, but I will stop. To summarize, why not provide a set of “Option ???” statements that modify VBNET to be as compatible as possible with VB6, hopefully, completely compatible, at least at the level of the core language. I will learn how to use the new features, such as multithreading, polymorphism, and overloading as I need them! I would love to upgrade but, because of my extensive library, I am stuck in VB6, and I will badmouth VBNET to younger programmers at every opportunity until the issues of “upward compatibility” are addressed in a respectful and thorough way.

  17. Graeme

    What was that about managed code? I heard (it was on the internet – it must be true!) that almost 80% of Vista was NOT written with .NET managed code. Is this an indication of how much confidence Microsoft has in the path it has mapped out for us mere mortals?

    Anyone care to correct this? Comment? I’d like to be corrected if I’ve heard wrong…

  18. Rosario Fichera

    I think that managers of project in Microsoft ought be discharged.

    VB develpers must pay Microsoft with the

    same money: abandon it. I will port my VB6 code to Delphi.

  19. Boycott Realbasic

    Do not consider Realbasic as an alternative! If you think MS is bad, consider that MS has never betrayed Windows users for say Apple users – MS has never dropped features and resigned a product so they could sell it to Apple users.

    On the other hand we have Real Software, whose product was developed originally for the Macintosh/Apple. For years and years it was Macintosh only! But what did they do with the cash they earned from Mac users like me, they took the money to develope Windows and Linux versions instead of fixing problems with the product. For example, do you know that even though RB is 10 years old when it make Windows compiles that control help tags do not work – after you click a control once they disappear forever. Or did you know that you can’t assign say the "F1" key for help to a menu item by simply assigning it to a property of menuitem? They never even bothered to fix their listbox controls – they flicker horribly in Macintosh Classic and even listbox headers flicker in Windows (you don’t see this in Mac X because it double buffered).

    But this level of betrayal was not enough for them, no, because although they developed a Windows version it used a MDI interface so it was not very popular. So to complete their betrayal they removed the original Macintosh multi-window interface and introduced a idiot one window interface, similar to Visualbasic — Or the same kind of interface you see on Mac’s "i" applications that come free with a new Mac. They even changed the name to make it more similar to MS – RB used to be named version numbers such as 5.0 and 5.5. and so on, but no longer, now its called RB2005, RB2006 and so on.

    This was devastating to Mac users. Instead of having a product interface whereas any single item from a project could be opened into a seperate window we got one large tabbed window with stuff stacked on top each other. No more seperate floating tool pallets. No more exporting a project as plain text. No more color pallet. No more Extras menu for Applescript because, in the words of Aaron Ballman, their IDE designer, it was only really helpful for Mac users.

    I can’t believe the depths this company has fallen to. Now you might expect some respect for its Mac users who are responsible for keeping this company for 10 years, but no. Its reached the point where Aaron Ballman, their IDE designer, openly preaches against Apple technology on his own blog and on Real Software’s forum – strange we didn’t this type of crap when this company was for the Macintosh only. How would you feel is some Vb devloper came on here and preached about Apple technology and then started to change VB to make it more appealing to Apple users, or simply dropped it altogether?

    Our cries go on deaf ears because they don’t care – all they care about are Windows users. No customer loyalty! After spending hundreds of dollars on upgrades, and several years of my life, I and others have nothing. Do you want to to do business with a company that betrays its customer base? Ask yourself what you would think of MS if it suddenly decided to change VB into primarily a Macintosh product and put all its Windows users on the sideline.

    Real Software recently bragged it had 100,000 users. This is false, thats how many licences it has sold in 10 years. Of those 100K how many actually still use it. I use the last real Macintosh version (5.5.5) for example, but I do not consider myself their customer any longer, so 100K – 1. How many others abandoned the product say in version 2, 3, or 4, etc… Deceptive! And it should be noted that when RB2005 came out they game away free version of the 5.5.5 basic to Window users – these users never actually paid so minus X thousand users from that 100K. Do you think they gave away anything to their Mac users – hell no, I had to pay to upgrade to 5.5.5. Total and utter assholes!

    In many cases the product is a "rob peter to pay paul" scam. They are constantly introducing new features to get people to upgrade so they have income INSTEAD of fixing problems. Who cares if the features actually work as long as they can sucker people into buying. Check their feedback system – thousands and thousands of bugs – but whatever happened to all those feedback reports from past versions of RB? How come we are waiting for some things to be fixed 10 years later?

    Watch out for the price increases folks! They now want $350.00 to upgrade the pro version. When I upgraded to 5.5.1 PRO it cost $89 and I got free updates for all the way up to 5.5.5. Now you have to pay for a subscription when you upgrade. If they think I am going to pay for bug fixes and idiot features I don’t want they are crazy. I am not going to pay for the privledge of being a beta testor for them. What ever happened to honesty and ethics and when you come out with a defective product you fix it for free – not charge the customer more, and more, and more.

    Don’t count on that $350.00 fixing the bugs you urgently need so you can use RB to update your own products – assuming if its ever fixed you’d better count on paying multiple payments and waiting years. It has been nearly 2 years since RB2005 came out and they finally addressed a couple IDE isuues for Mac users, but in no way way is the product as usable as 5.5.5 so it worthless. Hell the first two releases on RB2005 were not even usable on the Mac – they produced kernal panics on the Mac, crashing a Mac (a rare, rare, occurance).

    Here’s an example of their so called improved IDE. In the old IDE (5.5.5 and earlier) your help system was stored inside the Lanugage Reference. Open it and you are presented with a listbox on the left with topics, which are then displayed on the right. Topics are read on the right in a scrollable editfield like a book. In RB2005 and later each topic is broken into a series of links so you must now click back and forth between hundreds of links to read about one subject. Imagine trying to use a encyclopedia where each individual paragraph about a subject was on a seperate page.

    RB 5.5.5 and earlier versions were not written with RB, but RB2005 and beyond are. The result is that the size of the Mac version of RB from RB 5.5.5 to RB2005 HAS TRIPPLED!

    Planning on doing things with images? If you want your customers to do anything with image formats other than bmp for Windows (or a single image format for Mac) you WILL HAVE TO HAVE YOUR CUSTOMER INSTALL APPLE’S QUICKTIME. so much for RB technology!

    RS is a small backstabbing company with ambitions to become another MS, but unlike MS, they at least don’t betray their customers for another OS! Thanks for flushing all my money and time down the toliet!

  20. Forget MS--switch to RB

    We were VB developers from the start–VB1 through VB6. We developed a lot of programs and generated significant income from them.

    VB.NET clearly was not suitable for our apps, so we searched for alternatives.

    We switched to RealBasic close to two years ago. RB does have its share of quirks, but it also has its full share of features that never existed in any version of VB.

    After completing several large projects with a few hundred thousand active users, I can comfortably say that we made the right choice.

    Over the next year, we will be converting the last of our existing applications from VB6 to RB. All new projects will be in RB.

    If you are a VB developer, unsatisfied with MS and .NET I would strongly recommend that you evaluate RB. It is not perfect, but we found it to be the best available option for our projects.

    Maybe it is time to quite complaining about MS and switch to something better. 😉

  21. Mike Ellison

    I am mainly a hobby programmer who enjoys making things happen on-screen as quickly as possible. From my point of view VB6 is worth saving – or rather, updating. If I moved onto the .NET platform then I would use VB2005 Express which I have played about with, but apart from one or two features I do not think it is as straightforward as VB6 – far too many dots all over the place, too many new keywords, and I am not persuaded that coding graphics is easier or better under .NET.

    The things I like about VB6 above 2005 are

    the simple syntax – 2005 is much more cluttered

    the ability to make API calls – not possible in 2005

    easy coding for graphics

    the flexgrid control

    the tabstrip control – the 2005 one is grotty


    In fact, with the API I have been able to do everything I want using VB6. If Microsoft had asked me (fat chance!)what to do with VB7 then I would have suggested keywording functions that presently must be done with combinations of API calls.

    For example :


    The user would create a picturebox (name.hdc) containing the graphic and then SPRITE would move it on-screen from x1,y1 to x2,y2 while resizing it from scale1 to scale2. – hey presto, instant animation by keyword. At present this can only be done with a combination of API calls and lengthy coding. Yes, I know you can write a reusable module routine to do it, but how much more productive and execution-faster to have it done for you already in the runtime.

    Why change to the .NET platform? For me, there is no advantage in terms of productivity because I do not have to work to deadlines. I know I could master the new language if only I could be bothered to make the effort and I might have been prepared to give it a shot except for the absence of the things I like about VB6 listed above – in particular, control arrays. The control array is such an incredibly useful elegant function that I am amazed Microsoft left it out of the new platform. There are many websites that address this omission and offer solutions to it. None of them cut it – especially the one offered by Microsoft itself which IMHO is the most inelegant ghastly kludge of them all. I think Microsoft actually realise that they made a mistake leaving it out but that they just do not have the courage to admit it – the high and the mighty simply do not make mistakes, do they!

    The things I like about VB2005 Express are:

    the outlining structure in the code editor

    the tabbed module structure

    the more ‘elegant’ IDE

    In other words, I would like to see VB6 fitted out with the .NET user interface. Could this be done with a VB6 plug-in? and, if so, is there any one out there who could do it (apart from Microsoft themselves, who won’t)? I think the the many millions of us minions who helped to make Microsoft rich would like this.

    I do not appreciate the difference between managed and unmanaged code – the difference (if any?) that it makes to productivity and/or execution speed. As far as I can see, what Studio.NET actually accomplishes is that it allows members of a team of programmers to write sections of code in any language that they themselves are accomplished in and then bolt it all together into a single .exe file. Is this what managed code is all about?

    One final thought. Voice recognition is getting better and better because computers are working faster and faster. In the future, programs will be spoken into the computer and the keyboard will go the way of the dodo (well – almost). What language will be used? Natural language of course – the language of VB6, not the language of .NET and certainly not that of C++ and other erudite oddities. Saving Ferris might just be the way forward after all!

  22. Tom Barnett

    Well, in an effort for MS to make VB6 a complete OOP language they found it necessary to make VB 2005 more like VC++ 2005 or VC# 2005, or VJ# 2005 than VB killing more than 50 years of standard Basic language structure. My suggestion is that since all .Net languages compile to the same code why not put them all together in one new language and call it VBCJ.Net, or something similar.

    While Windows Vista will still support VB6, the next generation of Windows surely will not. Alas through the eyes of Microsoft "One after one, by the star dogged moon, too quick for groan or sigh, each (VB6 Programmer) turned his head in gastly pang, and cursed me with his eye!

  23. Nobody

    Screw Microsoft and how do you know that they will not drop for something else in near future? vb6 was great, but now it’s time to move to C++.

  24. Xcabj

    Frankly, fsck Microsoft. Go Linux and use any

    one of a variety of languages. The Linux folks

    have no vested interest in keeping folks on the

    upgrade treadmill. For all you folks so enamored

    of change for change’s sake, remember:

    Change is required for progress, but not all

    change *is* progress.

  25. Pingback: Anonymous

  26. fast

    What is improvement if similar process in .net take few times more than before? Why multitasking support which is slower than more processes one by one. Why GDI+ when it is slower than GDI?
    Microsoft should keep developing of classic VB until they improve those .NET stuffs to the final (if ever will). If not we can conclude that they dont want to improve their softvare but to make new one and to improve a few million of programmers around the world.
    But what with unmanaged programmers? The hell!

    That would be expensive. To Microsoft at least.

  27. Stephen

    Here’s the answer: Microsoft starts a separate company to support and upgrade classic Visual Basic and VBA. They would always have access to each OS as it came along, and make the necessary modifications needed to integrate VB/VBA into it.

    Then when the new OS came out, VB/VBA projects (both old and new) would work with it. Good idea, right? Gonna happen, I don’t think so…

  28. Pingback: Buying oxycontin discount.

  29. Pingback: Celexa xanax.

  30. Adama

    To all,

    Visual Basic 6.0 rises to 5th place in the official Index of programming language popularity for May 2014 while C# drops to 6th, and VB.Net is 11th:

    I also I found this:

    Microsoft must be proud.

    VB6 has overtaken C# to become the most popular Microsoft programming language in the May 2014 Tiobe index.

    After all the time and money Microsoft have spent developing other programming languages, their leading language is Visual Basic 6 !


Leave a Reply

Your email address will not be published. Required fields are marked *