Microsoft’s phase-out of Visual Basic 6 and move to Visual Basic .Net set up an uproar in the ranks of some of Microsoft’s most loyal developers. Earlier this year, several thousand developers, including many Microsoft MVPs (Most Valuable Professionals), signed a petition calling for Microsoft to continue to support VB6. However, enhancements in the VB platform stand to bring some of those people back.
VB is simply becoming a clone of C# which is more a less a clone of Java, itself a simplified version of C++.
Every release of VB brings it closer to C# – for example the new << and >> operators.
This is all well and good if you are a C++ programmer but very annoying for BASIC programmers.
Real Basic is looking like a good successor to VB6.
Yeah, C# was Microsofts answer to Java. Cross-platform advantage aside, C# greatly improved upon Java and is truly one of Microsofts best products.
VB is pretty much the same thing, except using BASIC style syntax, but the same concepts are still there.
Most VB6 programmers are reluctant because they just don’t want to learn something new. If you actually take him to learn the new stuff, you will like if, if you liked VB6. It actually makes things even easier now more than VB6 did.
Most VB6 programmers are reluctant because they just don’t want to learn something new. If you actually take him to learn the new stuff, you will like if, if you liked VB6. It actually makes things even easier now more than VB6 did.
Actually, you’re right. After all this time, I’m still coding in VB6. Of course, I only use it to build little utils and such for myself. If I were a professional developers, I would’ve made the switch to VB.Net (or something else) a long time ago.
Face it, people .. VB6 ain’t gonna last forever. You’re eventually gonna have to learn something new, so might as well get off your lazy ass and do it now.
Yeah, I was too reluctant to switch over. VB6 was fine for what I did, and learning something new took too much time.
Then I started to learn C#, and obviously in the process, learned more about .NET. So I finally tried to learn VB.net again and it made sense and wasn’t too hard. Of course, I didn’t do all this until I started to write more than just little utilities and became more experienced with software design and engineering.
VB.net (and C#) really is great for professional developers. It’s just so overwhelming at first because it makes things so much easier, so long as you learn the different methodology for doing it. Something like SQLDataAdapter is a good example.
Lazzy?
First, you can not move from vb6 to vb.net unless management allows you to do so.
Second, I have experience debugging applications in vb6 and vb.net. It has been a step backwards when it comes to debugging support from vb6 to vb.net. And I’m not talking about the missing “edit and continue” feature. Debugging vb.net programs sucks and is more time-consuming than debugging a vb6 application. It is very flaky on how it works.
Third, the .net framework is not a big deal to learn for a vb6 program nor is the vb.net syntax. I actually prefer to program in C# these days, but you have to go with what management says. It is mainly the COM support in vb.net that is a major pain to port.
Microsoft should be ashamed for putting out a
de-evolved version of vb known as vb.net.
In my opinion, Microsoft should come out with a free upgrade to vb.net 2005 for all the people who bought vb.net 2002 or 2003.
Most VB6 programmers are reluctant because they just don’t want to learn something new. If you actually take him to learn the new stuff, you will like if, if you liked VB6. It actually makes things even easier now more than VB6 did.
Actually, you’re right. After all this time, I’m still coding in VB6. Of course, I only use it to build little utils and such for myself. If I were a professional developers, I would’ve made the switch to VB.Net (or something else) a long time ago.
Face it, people .. VB6 ain’t gonna last forever. You’re eventually gonna have to learn something new, so might as well get off your lazy ass and do it now.
No mention of VBA. I’ve done a ton of office stuff in Access, et al. VB won’t be truly toe-tagged until MS Office uses VB.nyet for its macros.
Actually, pre-VB.Net versions of VB are what started the whole mainstream acceptance of so called “managed” runtimes (yes, I realize there were plenty of languages before VB that made use of MR’s, but none were really mainstream enough for corporate use…maybe Smalltalk, but that’s not the point of my post).
Sun’s JVM was the answer (plus a whole lot more) to MS’s VB, plus they needed to get something web enabled out to market as well to compete with ASP. MS’s CLR/CTS was their answer to the JVM…C# was simply a language they chose to build on top of the CLR, along with VB. Any language developer can build their own implementation on top of the CLR if they so choose, but for the most part C#/VB will give you pretty much everything you need (and more) to get the job done.
The only constant in life is change, right? Developers will all be forced to retool at some point (probably many times) during their careers…why is this so often viewed as a bad thing? I started out in the VB6/ASP realm, and was ecstatic when C#/.Net was announced as it meant I would probably never have to use that god awful language ever again. I jumped on C# and have never looked back…I certainly wouldn’t wish VB6 or ASP on my worst enemy :-).
RB is worse then VB6 by a long shot. Bigger runtimes built into the EXe. Thus providing tons of unneeded bloat to an EXE and it’s apps run incrediably slower then even .NET ….
No, the last real verison of VB was VB6. Anything higher is still a joke.
So who will be the first dork to make a “VB programmers are stupid” joke?
Python mentioned in one article with Delphi and VB? Oh, my gosh, Hell froze over!
don’t worry. it might be alien to you, but between non-trolls it is not uncommon to speak about programming languages without caring of ideologic borders. those “windows vs linux” trolls are usually clueless anyway.
Well, hell didn’t exactly freeze over. Python has been the Visual Basic of the Linux world for awhile now–particularily in Gnome / Gtk. There are a substantial number of Gnome applications written in Python.
But Python is also becoming quite popular on Windows as an open source VB replacement, thanks largely to the fact that the Python crew has done such an excellent job with the Windows port of Python. I fully expect Python will grow at Microsoft’s expense because of the switch to VB.NET. Those VB programmers who don’t want to learn the complex .NET API, and / or are hobby programmers are going to go somewhere else. Python is probably a good option.
Python is the VB of linux – without useable developent environment. But the goal is similar – simple, easy to learn language for unprofessional programmers. The delphi is different thing: Object Pascal is a real programming language like C, C++, C#, Java.
“Python is the VB of linux – without useable developent environment.”
There are at least two good development environments for Python. WingIDE, (commercial, but excellent), and eric3, which is open source. Check out the screenshots of eric3 and I think you will be impressed:
http://www.die-offenbachs.de/detlev/eric3-screenshots.html
Did I mention that the eric3 IDE itself is written in Python? Kind of blows away the idea that it is not a real programming language.
“But the goal is similar – simple, easy to learn language for unprofessional programmers.”
Python is used in a lot of real applications by professional programmers. Industrial Light and Magic used Python as a control language for the graphics system in Star Wars. The U.S. Navy uses Python, as does NASA. And of course, Red Hat’s installation program is written in Python.
There are at least two good development environments for Python.
This things are very nice, but IMHO not comparable with the professional developer tools, like VS2005 or Eclipse with Java.
Python is used in a lot of real applications by professional programmers. Industrial Light and Magic used Python as a control language for the graphics system in Star Wars. The U.S. Navy uses Python, as does NASA.
And what are this companies doing with python ? IMHO the IML uses C++ to rendering spaceships and other visual effects, and the U.S. Navy also not control the computer systems of motherships with python. But I can imagine a little python scripts in this companies to save data or any other simple tasks.
And of course, Red Hat’s installation program is written in Python
IMHO the biggest problems of the most of linux distros the script-based install/configuration utilities.
“This things are very nice, but IMHO not comparable with the professional developer tools, like VS2005 or Eclipse with Java.”
That’s not because of deficiencies in Python though. It’s simply because the typical open source project cannot hire 100 programmers to work full time on a project.
Then there is a deficiency in the amount of programmers who believe in the project…if it’s something they believe in, “hiring” shouldn’t be a problem for an OSS project.
“Then there is a deficiency in the amount of programmers who believe in the project…”
And that’s often a problem with open source projects in general. Basically, feature xyz will only get implemented if someone on the project team has a personal interest in implementing feature xyz. Unlike commercial, paid developers, open source programmers code what they want in a project, not necessarily what the users want in the project. Sometimes those interests are the same. Sometimes they aren’t.
“if it’s something they believe in, “hiring” shouldn’t be a problem for an OSS project.”
Ideally, yes. In reality, even open source developers have to eat. That means they have to work real jobs as well.
I remember writing a library (in Delphi) for a customer using VB6. I was shocked to discover mid-way though that VB was still using 16-bit integer types by default.
I think VB.Net is a necessary step forward (it has 32-bit integers! ;-)), and people who are complaining should really take a good hard look at their career: anyone who isn’t willing to learn the next thing every fifth year is going to find life as a software developer increasingly lonely.
That said, the article seems to suggest that the IDE was a bit sluggish compared to VB6: if that’s true I can understand how people got so worked up. An IDE is something you use every day, if it’s not up to scratch it can really get under your skin and make all the other little things seem that much worse.
if ur learning vb.net as ur first language its not very hard but makin the switch from vb6 to vb.net can be daunting……just my 0.02$
“if ur learning vb.net as ur first language its not very hard but makin the switch from vb6 to vb.net can be daunting……”
Interestingly, this has proven to be somewhat to advantageous to Java and also to Python. Since there is little transferable knowledge between VB 6 and VB.NET and you have to learn a whole new API to make the switch, there is often no incentive for VB programmers to not jump off the Microsoft ship completely. There have a been a fair number of disenfranchised VB programers who I have talked to who are switching to Java. Others I have heard are switching to Python.
VB.Net is still just a C# clone, and I guess it will always be.
Instead of giving their customers what they ask for, MS says, “this is where you will go today”.
Net is basically a class wrapper around the API.
This was the right approach for C#, wrong approach for VB.
C# needs to be the stick shift.
VB is supposed to be the automatic transmission.
Instead, it’s the same stick-shift transmission with a different color knob.
It’s not about “VB programmers are stupid”.
It’s about how much time (money) you want to spend on a solution.
C# should remain the low-level alternative to C++.
VB is supposed to be the just-get-the-job-done-the-best-way-you-can-I’ve-got-more-important-thi ngs-to-worry-about alternative.
It’s not that VB.Net is too complex; it’s just way more complex than it needs to be.
Sometime the easiest way to do something is look up the old API code and figure out how MS wrapped it and take it from there.
Over all, VB.Net is a few steps forward and a few steps backward and leaves you wondering if this is really where you want to go today.
Actually, it doesn’t matter what language one chooses to use with the .NET framework, they all compile to the same MSIL. Since both languages access the same framework, their power is essentially the same. It is not a case of VB versus C#. It is case of what you prefer, what your comfortable with, etc.
The .NET framework is a true object oriented system. Thus, VB had to change to properly leverage this. It is not that MS left folks behind or doesn’t care or doesn’t get it. It is more of .NET is better so the language had to change.
As a hobbyist programmer, I find VB, with all its helper keywords, and the new My namespace to be in keeping with the VB historical practice to try and hide complexity through simplified keywords and shortcuts. Contrast that with C# that doesn’t provide you with this type of gobbledy gook. C# says, if you want to use me, you will understand me. VB says, if you want to program like a cowboy, I’m game. They are both fun and neat to use. After a while, the differences vaporize.
100% ACK. After 3 years in .NET, it doesn’t make a difference. The syntax itself moves in the background, what becomes more important are coding patterns, usage of the BCL and the concepts.
It’s really a thing about your personal preference – regardless what these VB.NET-haters out there might tell. In my team there are 2 VB.NET programmers and 2 C# guys – they’re working on the same project. And without any problems.
I agree.I contribute to various projects, many of which are C# ones. However, there are no problems in that because I simply do my job with my language of choice (I prefer VB.NET when there’s no need to use C#), compile, deploy… et voilà… no hassle.
That’s a very good thing indeed.
brining spaghetti code to pseudo-object oriented development.
Not so long ago I thought that Python was the best language. It is elegant, one can do much with little coding. I thought PHP was powerfull, yet not very elegant.
Recently I changed my mind due to problems I run into with some projects.
PHP and Python both have problems with their modules. Interpreter loads modules stored in shared libraries, but the main executable has to be precompiled to look for those modules. Adding a support for uncommon database often requires access to the database source code, as well as interpreter source code. It might not be a problem on ones home computer, but it is a huge problem at customers site.
I require that any language that I use can be extended without the access to the source code of the interpreter, and without the gcc, g++, cc or c++ command on the system. Compiling source code could be particular problem on win32.
The examples of good languages are Java and Perl. Both have most of their modules coded in the Java and Perl respectively. Adding an extension module is just matter of adding a JAR file or CPAN module. No system administrator access is required, no C/C++ compiling and no very few native libraries dependencies. That is the robust way, resistant to human errors, someone could call it enterprise way.
I have decided to forget about Python and keep PHP only as long as my PHP applications run at customers sites.
DG
“The examples of good languages are Java and Perl. Both have most of their modules coded in the Java and Perl respectively.”
Well, you are probably one of the few people who considers Perl an example of a good language. Perl is pretty much a mess that doesn’t scale well to large projects. It’s mostly useful for text processing scripts, and system administration tasks when the amount of code needed won’t exceed a few thousand lines. Python is more suitable for large projects, and /or traditional applications such as the kind VB would be used for.
Also, it’s much more feasable to code Java modules in Java than to code Perl modules in Perl for performance reasons. Where as most low level algorithms can be written in Java and deliver acceptable performance, the same is not true with Perl (or Python) for that matter. So often times, modules compiled to native code is the way to go when dealing with Perl or Python. Typically, however, the average programmer doesn’t have to worry about this since most of the low level stuff has already been written.
What you said is true under one important condition. That condition is that you can get your software to work on a machine other than your own.
As I said there might be a number of dependencies that could require the recompilation of interpreter together with some third party software.
For example, try to distribute a Python application that works with proprietary database like ‘Progress’, or even an open source database like ‘Firebird’.
Once you have your application running on other system, than you can worry about performance, or the beauty of a programming language.
DG
Look at all the languages that target the CLR:
http://www.dotnetlanguages.net/DNL/Resources.aspx
So for Microsoft to require a move from VB6 to VB.Net was not a question of necessity, but of policy. Or, more accurately, internal MS politics. A decade long struggle between the pragmatists (VB) and the purists (C++). The purists won. After all, it was embarrassing to work for a company that produced a language that everyone snickered at.
Sure, some VB.NET stuff was necessary. That could have been handled, just like all the other “upgrades” were. But the things that really alienated VB6 developers were those that weren’t necessary, but were done in the name of conforming to other people’s conceptions of what a language should be, people who were not part of the community.
MS is deluding themselves again if they think the latest changes address any of the issues. But I don’t think they really care. Those who still cling to VB6 can be written off as a diminishing, and increasinly irrelevant, circle of cranks who just don’t get it.
Geoff Gigg
If you really really (I mean really) can’t live without VB6 for some reason, there is realbasic which works on windows now. But I think VB.NET is very well designed for beginners, without losing any functionality (it’s just as fast and powerful as C#). Also, boo is a nice easy language to use, it is very much like python: http://boo.codehaus.org/
So the deal with VB is that it is just a sort of declarative means for connecting COM objects to each other. VB and COM are essentially one system, designed specifically to support each other. I’m not very familiar with REALBASIC, but the thing most people complain about when trying to make the switch from VB to VB.NET is the lack of good COM support. You can always build a PIA for wrapping COM objects and interfaces, but marshalling is really not the ideal way to deal with variables, especially complex ones, like recordsets.
Larry Wall is having/had the same problem as Microsoft. Programmers just want incremental improvements to their language not massive leaps. If they want a massive leap they may as well change to another language. I reason this is why C++ was so popular because you could still write C in it.
The concept of “improving” VB has essentially obsoleted an entire language (damn, Microsoft is great at simply obsoleting a product they put out and jumping to another, not supporting it in its later years.) There are those of you that simply take Microsoft’s gesture as a beneficial improvement and go on about your business, provided you like the way VB/.NET is designed and considering it fits the scope of the project you are working on as with any language out there (after all, a language is just a tool.) There are also those of us who originally chose to use the VB language because of its simplicity and resemblance to BASIC. Those who fall into the latter category must feel betrayed that Microsoft has not only mutilated and obsoleted the original language, but has made a new major framework that’s IMO slower and more bloated than the original VB runtime and shoved it down our throats.
To give an example, if a language like C++, Perl, or PHP was no longer supported, but drastically changed to be slight variants of Java, I’m pretty damn sure people would be pissed.
I don’t like BASIC in general, but VB.NET has to be one of the most superfluous environments that Microsoft invests resources into developing. It provides no meaningful advantage to the VB programmer over just learning C#, which is unquestionably the ‘crown jewel’ of the CLR and will be the first to obtain all language improvements (as well as drive the improvements of the runtime as a whole). I think most people that actually like VB (as opposed to VB.NET) will simply stick with VB until doing so becomes painful, and with the incredibly slow adoption of .NET on the client it’ll probably be years before that happens. Delphi programmers are essentially going the same route, as their patron moves to .NET to their chagrin.
No one mentioned of course that .NET is (slow as hell) bytecode. That’s one GOOD reason enough to stay awaw from it. All that crap is just so hardware vendors can fill their filthy pockets and incompetent developers can feel good about themselves.