make it easier. In VB6 i don't have to know what classes are. It has been to complicated for simple programms.
@Xavier.. Sorry, I was away. See the other forum (Bring back Classic Visual Basic.. http://tinyurl.com/m6mkdmv ) -- that forum has "taken off" averaging a comment a day. In particular, they agree we VB6ers do not want it to somehow replace VB.net, we just need back VB6. It's as different as chalk and cheese -- both have the same first letters. Maybe it is a mindset thing, but I can't change it and I'm far from alone.
All I really want MS to do is to endorse it and sell it again -- instead, by saying it's obsolete, they are impeding my skills, my company and my career. I have acres of code that can't be upgraded. I've spent $100K on salaries trying to upgrade, and our apps just do not work as well or at all. The next step would be to rewrite from scratch by employing VB.net experts (preferably with no track record in VB6), but we will end up with something different meaning my client will expect us to commit to a new product approval process, months of testing, etc. It's a product that took a decade to evolve so spending another decade is not a viable business plan (what if they simply don't want it?).
Also, now that I know that Microsoft are capable of obsoleting something as important as VB6, only a madman would give Microsoft a chance to ruin his career twice in the same lifetime by investing years of experience into VB.Net (which is already showing signs of continuity slips.. Silverlight gone, VB.Net not in other promised platforms, take up slow). Before I can go back to bed with MS, they must restore VB6 even if only to prove to me they will Never do anything like that ever again.
For what it's worth, we did rewrite some of our applications and we wrote a code converter (much better than what Microsoft bundled) which allows us to write in VB6 and deploy in VB6 or VB.net -- and guess what? Nobody wants the VB.net version. They are no longer interested. Even the consultants are now confused -- whereas they used to insist we kept up, now they just turn a blind eye (because, for example, they have many thousands of PCs stuck in XP ... that's another story, but related to the same inconsistencies).
So my company is blighted in that we can't sell the company or its IPRs while ever it's based on code which Microsoft gaily tells the world is obsolete. If I'd written it in Cobol, Fortran or Pascal, that would not have happened. Indeed, Microsoft and its crackers inconsistency policy (eg: office ribbon bar, Xbox styled front end on W8) have themselves become a liability -- consultants eyes light up when I tell them I'm using Linux for certain things now. Most of the development community used to be either VB or C++ but has now fragmented and gone to the four winds. Microsoft have simply lost their way and lost their enviable pivotal position in the OS market. All I can do is implore them to at least start their journey back to that place by re-engaging their abandoned original client base.
Finally, re my earlier entry below, I still say VB6 was and is a better, faster, more intuitive development tool, often maligned as a beginner's tool, but one that is spectacularly powerful in the hands of professionals, often delivering benchmarks on the same page as C++ when properly written. Ref mention of powerbasic, pure, real, etc -- all good, but no good commercially if not backed by a major corporation, pref a respected OS builder.
The 3 things I hope Microsoft learn are consistency, continuity, consideration. If you want to be on a no-ads vb6 news feed, please email me as in my username.
I don't know of any official and independent studies that would back my claim, but, speaking from personal experience among friends who started working with VB6, I'd say 70-75% are extremely pleased having moved to VB.NET.
The other 30-25% have moved to c#, mainly because of the overwhelming community support that exists for it and, up to some point, they aren't "that different".
I still believe the problem is a matter of mindset.
You cannot "move" to VB.NET expecting to work then way you did with VB6.
The same would apply if you moved to RealBASIC (or whatever name it has now), or PowerBASIC or any other old or modern BASIC-flavored language.
May I jump in here hard on the side of L. Ofaday: VB6 is a fine tool that allows for tremendous productivity; . NET is, to me, a nightmare I long since abandoned. Why MS can’s see this in the number of users who have fled it’s language offerings is odd.
From what you describe, I find it a bit surprising that you "don't get" .NET.
You appear to be quite a seasoned programmer with lots of experience.
I think that, although VB.NET and VB6 share a similar name, the similarities end right there.
Programming in .NET requires a different mindset that, to me, is more logical and a lot more powerful.
Well, I think that's the whole problem: perhaps you are trying to "see" .NET with VB6 eyes (if that makes any sense).
Although both are supposed to be object oriented languages, VB.NET takes it to a how new level, while VB6 only scratches the surface.
I understand that VB6 embraces the whole "rapid application development" environment a lot better than its .NET languages counterparts, but that's a tradeoff I'm quite happy to live with...
My recommendation is that you give it a second chance; but this time, try to see VB.NET (or, perhaps, c#) with completely new eyes. Assume nothing.
I guarantee you that once you get the hang of it, you'll be asking yourself why you didn't switch sooner. Trust me. The same thing happened to me.
When .NET 1.0 was released I had the exact same feelings as you. But by the time version 2.0 was released, it changed everything.
I still need to maintain many VB6 applications and I just get depressed whenever I have to travel back in time to work on them ;)
Many thanks @Xavier for your courteous and constructive reply.
I think there is a very interesting point to be made here if Microsoft is listening -- there are very different types of developer, ranging from batch scripters through spreadsheet users, right through to Java on Sparc servers then driver SDK mastery. ASM isn't on that scale as it is a different tool that I use when VB6 runs out of power (and I use C++ similarly). Those at the left end of that spectrum (me included) produce customer interfacing apps as packaged, finished, documented tools for operators and users. Those at the other end of the spectrum make the tools and drivers for people like me, or work on banking system server farms.
You are IMHO a very advanced programmer and possess skills which I do not, with an eye to the lower level, deeper stuff. I have a relatively poor memory for details, and I don't like development platforms that require massive amounts of knowledge. I have a very logical mind that works well from a small data set. VB6 and ASM (which is also by nature reduced instruction set) just do it for me. Others who memorise things well take to C++ and, it would seem, to dotnet. I don't want to be learning and researching my whole life, I want to learn a little and apply my logic immediately. When I buy the kind of tools that you make so very well, I'm buying research time that I don't have.
My quick CV .. transport timetable Information system software is the main one -- 100s of terminals, many thousand displays, guiding probably a million people a day. My other VB6 apps -- IIS, VoIP, Office s/w (DB & publisher, calendar), OCR, 3D designer, etc.
My software is more of a giant interactive spreadsheet -- it's very high level. It's all about making computers work for people. May apps process strings with thousands of exceptions, and need to interface what it's doing to operators. My skill set is being able to sit in meetings, analyse and design software, interpret what people want and need and deliver it -- Very quickly. It's also being able to introduce fixes overnight, and deploy on PCs that get locked away in dusty cupboards for years on end.
It's also about choosing the right development package that has access to "under the Hood" when inevitably some image/voice processing or other is required. I don't know what other people call it but I think of it as onion layer development. I want the high end stuff to have nothing to do with the low-end stuff. I don't want to be able to access the low-end stuff easily. I want clearly defined layers. To me, VB6 was perfect at providing the outer onion layer.
I get VB6. I don't get dotnet. In VB6, someone says they need a menu for something completely different, and I just do it. I like how the IDE is instant... If it needs to be streamlined, I can try it with changing values, recompile several times a minute. I like how i can close VB6 completely and reopen it again in approximately 3 seconds, even with several MB of source code. Of course VB6 runtimes are tiny and that also makes it easy to replace a PC, deploy to hundreds of PCs, or send sample applications to people who have no idea what a dotnet framework is (using INNO installer, as the VS6 packager has been badly deprecated and certainly doesn't work now).
I'm a hardware developer by training, and have a few assembly packages for my drivers, including an extremely simple operating system. I just started to use VB6 when other developers were letting me down. It was intuitive and powerful all at the same time. I quickly learned the fundamental disciplines of procedural layout and error trapping etc, and then I was out there in boardrooms selling stuff, and later as a development manager writing very quick applications for others to fill in the blanks.
But, in conclusion, I know there are people making blindingly good packages with other development platforms, and I simply consider dotnet to be something else. They are just different packages for different intellects providing different types of solution. For me, replacing VB6 with dotnet is a bit like going to an accountant, taking away his Excel spreadsheet and giving him SAP.
Dear L Ofaday,
To answer your main question regarding what is it that I do:
I code. I write programs for a living… and 80% of all the programs I’ve written are in VB6.
For example (and I’m assuming we’re of a similar age, otherwise you won’t event understand the purpose of most of them):
- The first (ever) program to ease the process of maintaining your GeoCities web site (2Geo).
- The first (ever) program to combat PopUps (PopUp Killer): http://software.xfx.net/utilities/popupkiller/
- The first (ever) ActiveX component to provide access and control to the Windows Mixer API (MixerPro): http://software.xfx.net/activex/mxp/index.php
- The first (ever) ActiveX control that allowed developers to monitor and, beautifully display, the audio being monitored through any mixer source (DXVUMeter): http://software.xfx.net/activex/dxvu/index.htm
- The first (ever) keyword-based search engine for Windows (KeyLaunch):
Here’s a nice article about this never-released version of KeyLaunch, which as a bonus, includes a live interview with me and Mr. Leo Laporte: http://whenimbored.xfx.net/2012/10/keylaunch-3-0-or-the-awesomeness-that-never-got-released/
…should I continue? Because I can…
Anyway, all those programs/libraries were developed by me alone, in VB6.
At the time, considering I’ve always been “quite fluent” in other languages, I felt just like you; as VB6 allowed me to rapidly and quite easily implement anything that came to my mind.
But things changed by the time Microsoft released version 2.0 of the .NET framework.
I won’t go into any details (as I feel I’ve already answered your question) but take DXVUMeter, for example… one of the most complex programs I’ve ever coded.
At one point, both the VB6 and .NET versions were equably similar (of course, this has considerably changed in the past few years), but their similarity was limited to just the functionality the library itself provided.
The way some stuff is done in that control is just, well… orgasmic in .NET, while in VB6, is just well, a PITA!
If you are interested, I could give some more “detailed” and “precise” examples, but trust me: coding in .NET is almost as good as having ***.
@Xavier, I'd respectfully be very interested to know what you do. I'm yet to find a mainstream use of dotnet. (I'm yet to find a Microsoft app that uses it). I'm sure there is one and I simply ask so I can understand.
I'm a classic vs6 programmer and I pioneered some software that was mainly VB6 with a little under the hood tinkering from C++. I turned over a few million out of it.
Is dotnet the holy grail of "wants" for such programmers? I hired programmers to add to my core package, and they kept telling me the virtues of C++, so I gave them free reign and yet for all their undoubtedly impressive acknowledge, they struggled to come up with basic (pardon the pun) GUIs. It was only when I insisted they stick to boring old VB6 that they started being productive.
I don't know how VB6 could be described as inelegant as you infer by comparison -- it was a simple, beautiful, clean, fast tool. It could be used by idiots to produce horrible hacks, or you could introduce management, add-ons for code control, discipline about the use of run-time only error trapping, and end up with some unbelievably solid run-time programs.
So you will understand if I ask.. What do you do?
Nick Roberts commented
Nevertheless, improvement of the VS help ought to be obviously high on the agenda.
It would be great to have a big 'tree' of the .NET library classes, grouped by functional area.
Please, please make the search work better, so that it is properly specific to filters (e.g. language), and find some way to get it to present a better targetted, narrower set of results (possibly by retaining a small, exposed, user-editable set of contextual keywords to automatically mix into the search).
But it's a good thing.
Once you get used to it and really understand what's going on (known C/C#/Java helps a lot) you immediately realize the potential.
I still maintain VB6 projects and I just hate the language -- VB.NET is just beautiful, simple and extremely powerful.