Im new to programming and I want to learn VB but dont know where to start.
Should I learn Visual Basic 6 first or should I learn .Net 2008 first?
Printable View
Im new to programming and I want to learn VB but dont know where to start.
Should I learn Visual Basic 6 first or should I learn .Net 2008 first?
Welcome to VBForums :wave:
Definitely go for 2008.
VB6 was released way back in 1998, and is no longer supported by Microsoft (and before long using it will be virtually pointless, as VB6 programs wont work in future versions of Windows).
Unless you have an explicit need to use VB6, you shouldn't even consider learning it.
.Net is a far better choice. You can download the express version for free and it's an up to date language whereas 6 is now out of date (there's still lot of 6 around but it's all downhill from here.)
Most people have it by now (it is part of Vista and 7, and on Automatic Updates for XP), and those that don't have it can download it easily (via your programs installation package).
As I said before, VB6 programs wont work in future versions of Windows, so any programs you make in it will need to be re-written in .Net fairly soon.
Yeah I got 3.5 pushed down to some newly fired up latops so it seems that the framework issue will be a thing of the past!
11 years ago when VB6 came out, most people didn't have the necessary dependency files to run a VB6 program. That didn't stop people from using VB6 and whether someone does or does not have the framework installed yet should not stop you from using VB.NET
Ok, thanks guys. .Net it is!
OK, this may be a stupid question but here goes....Wich is better and wich would you recomend VS Pro. 2005 or 2008?
If the choice is between 2005 and 2008, go with 2008. There are some advantages to that, and no disadvanatages.
Esposito has a fairly rare situation which makes all the .NET languages unsuitable for what he is doing. He explained that well a few months back in a different thread, but he's still upset that MS followed the .NET path.
The correct path in my opinion.
considering the runtime is extremely tiny, idont see why they wouldnt include it.
It is strange but maybe it had to do with how .NET was originally envisioned. I reckon after the next version of windows it will be included.
In my experience, VB6 programs tend to run somewhat faster than their .net 3.5 counterparts, I'd say, on average, I saw a 10% improvement in overall performance. Granted, you don't get as many excellent features in Visual Studio 6 as you do in 2008 like the cryptography namespace. So it's really a question of what you're looking for; are you looking for a program that will run fast, or one that's easier to develop with. Since you're a beginner, I'd suggest the latter, in which case, you should go with VB.Net or C# if you feel ... adventurous.
However, once you start to really know what you're doing, I would pick up something like C++. It may be hard to get started with, and may seem a curious choice when compared to more recent languages, like C#, but C++ gives you pretty much unparalleled amounts of control over what your program does, second only to ASM. The choice, however, is always yours to make.
On average I also feel that 10% of statistics are made up on the spot. This whole x application in y language runs A% faster is nonsense. You don't go to a business manager and say but it runs 10% faster, you tell him you can make it 6 weeks quicker, utilizing the latest security and best networking features.
90% of statistics are made up on the spot.
I wrote a program in VB6 that was HIGHLY processor intensive. It took three days to run, and during that time, the only interaction with the HD was a small write operation every minute or so (saving state, in case of a power failure, naturally). I then re-wrote the code in .NET. I had the VB6 project open, so that I could copy what was suitable to be copied, but the code really benefitted from OO design, which VB6 doesn't do, so much of the design changed. Are these two comparable? Only slightly, as the code is not the same, nor should it be. The VB6 program took advantage of VB6 features, while the .NET version took advantage of .NET features. The result was a program that took about three days to run. I then turned Option Strict ON (I did this far enough back that I wasn't aware of Option Strict), fixed all the resulting issues, and turned off Integer overflow checks. The resulting program took two days to run.
Therefore, a heavily processor dependent program, written in VB6, then re-written for .NET, performed faster in .NET than in VB6, by a significant factor. What does this mean? Nearly nothing. The two programs did the same thing, but I didn't try to run VB6-style code as .NET, and it wasn't possible to run .NET-style code in VB6. There would be no way to do a true apples-to-apples comparison without restricting yourself to looking at very isolated instances. At the whole program level, such comparisons are dubious, at best. After all, VERY few programs are so slow that you can perform side-by-side comparisons of the different languages, and if you have a program, as I did, which takes long enough to measure, the program is also complex enough that writing the same code in the two different languages means that the .NET version will be poorly written, since .NET can mimic VB6, but VB6 can't mimic .NET.
Thank you shaggy! That is my sentiment exactly, just more eloquently put.
Unless the manager you're speaking to is in the gaming industry (which I'm not in, but have friends who are), in which case it's something of a mixture between the two. It's one of the reasons I've taken to C++. My case(s) may be atypical, but I only have my own data upon which to make my decisions.
In the end, I was simply giving an example of my experiences, giving the OP a bit more insight and allowing him to make a better choice for him.