My computer science department is offering both Microsoft Visual Studio 6 Pro and Visual Studio .NET 2003 to its students through Microsoft’s MSDN program.
What is the difference? Is 6 pro older?
I don’t know much about all of the .NET stuff, should I go with 6 Pro for simplicity?
.net 2003 is the next version and, IMO, much easier to use. I’m going back to 6.0 to work on something these days, and I’m really amazed that I was ever able to get anything done in it.
If you’re doing it for a class, get whatever the instructor/professor wants as there ARE differences in the language itself. Off the top of my head, a big one is font stuff…
VB6
Private Sub cmdButton_Click() ' Make the font of a text box bold
txtBox.Font.Bold = True
End Sub
VB .NET/.NET 2003
Private Sub cmdButton_Click() ' Same thing...
txtBox.SelectionFont = new font(txtBox.SelectionFont, FontStyle.Bold)
End Sub
It can be done either way, but if your books and notes have it one way and your programs are bugging, that could be why. Also, if you turn in assignments done with one version, they might not work natively with the prof’s version.
.NET is a completely differerent object model. Much improved IMO, but utterly different nonetheless.
If it’s for a class, I 100% agree that you should get whatever the class & textbook use.
In the commercial world of MS-based software development, .NET is the current leading edge and 100% future direction. v6 is the dying past. If you’re intending to earn a buck writing code with MS tools, or against MS OS’s, the sooner you embrace .NET, the easier that’ll be.
VS 6’s C++ compiler is vastly inferior to the newer ones from MS. I can’t tell you how many times 6’s compiler has issued an internal compiler meltdown for me, especially when working with templates.
I THINK .NET allows you to run .exes on UNIX, Linux and Macs if you load the .NET framework first. Someone please tell me if I’m wrong.
But yes, it is the new direction. I have yet to get into .NET and do work in VB6. I use VB6 to build utilites to work against an Informix database. And now, .dlls that work with a GIS programm - ArcMap/ArcView/ArcInfo. I know that I will have to learn .NET soon. It’s just the way it is.
Visual Studio .NET 2003 (yes, version 7.1) is vastly superior to 6 for C++ for two reasons: the C++ implementation is nearly entirely conforming to the C++ standard (version 6 shipped a year or two before the standard was finalized), and the standard library that comes with 7.1 is very good. The 6.0 version was limited because of a lawsuit between the library implementors (Dinkumware, Inc.) and their publisher. The publisher was claiming the copyright.
Also, contrary to objections, VB is pretty much dead. C# is the new VB. And C++/CLI is on the cusp of being the best language for doing .Net programming. The new version (currently in beta IIRC) introduces some new keywords and other improvements. See here for more.
I think version 6 is easier to get started in some ways, but 7.1 has other advantages that more than make up for it.
I’m showing your post to my manager. I need to write a front-end in ASP.NET for our server management solution and he’s insisting I code in VB. Trying to convince him that VB is on its way out is proving harder than I thought it would be.
The entire point of the .NET initiative was that programmers would not have to be constrained to any one programming language. Any language that conforms to the CLR can be seamlessly inserted into any other language. So this means it’s quite easy to write a VB.NET shell thats running a C++.NET backend that occasionally makes function calls to Perl.NET functions when it needs to do some heavy string processing.
Like Shalmanese said. The key to this is that VB is dead. VB.NET is very much alive. They’re very different animals.
VB, like FoxPro before it, was an odd-man out in the MS development world. Not really compatible with anything, an island unto itself.
.NET is really all about the object object model and the CLR. Modern langauges are little more than flow-of-control statements and object manipulations. So since VB.NET uses the same object model as C#.NET and C++.NET & Cobol.NET (I’m not kidding) and Perl.NET, etc., there’s no reason for VB not to continue for many years.
VB.NET:
Dim MyTextBox as System.Windows.Forms.TextBox
MyTextBox = New System.Windows.Forms.TextBox
MyTextBox.Text = “ABC”
Not much difference. You code exactly the same interactions against exactly the same OM; the only difference is the language’s syntax for declarations, conditionals and loops. BFD.
One of our projects has half the code in VB.NET and the other half in C#.NET. The call stack oftens passes between source languages 6 or 8 times. Doesn’t matter a bit. Totally seamless.
Failing the class because your programs written in the newer version don’t compile/run in the older version the prof wants seems pretty compelling to me.
If the prof doesn’t care or it’s not for a class, then yes, go with the newer one.
What, precisley, is the class? If it’s learning C++, then it’d be tough to make a C++ program that runs on one and not the other (assuming the project isn’t accidentally created as a .NET project).