View Full Version : Visual Studio .NET
Rob Smith
02-10-2004, 10:32 AM
I'm currently writing a small downloadable game in MSVC 6, and would like to switch to VS.NET 2003 for various reasons.
I was wondering if it would have an impact on the overall size of my download. like any if it needs dlls i would have to ship with the game, or the executables were just bigger.
Another thing is compatibility. Does it generate good code for old machines. I'm trying to go as low as humanly possible and using DirectX 3.
Thanks in advance.
Akura
02-10-2004, 10:56 AM
You shouldn't have any problems whatsoever when doing this. afaik vs.net 2k3 produces exes that run on win95.
The only thing the download may increase is if you start using .net stuff, that makes the user download the .net framework so they can use your software.
kerchen
02-10-2004, 11:03 AM
And at 22MB, downloading the .NET framework is not a trivial matter. I could tell you other reasons why using .NET for your game is a bad idea, but Joel On Software already did it for me (and did a better job than I could too): Please Sir May I Have a Linker? (http://www.joelonsoftware.com/articles/PleaseLinker.html). :)
Dan MacDonald
02-10-2004, 11:25 AM
I think rob is asking about writing native apps, just converting his project to the new IDE. This works pretty good no real bloat is induced, it still compiles as it did before. unless i'm mistaken, however, your app will now require version 7.x of the C runtime libraries to run. Even xp machines did not ship with this version of the CRuntime so you typically have to package it with your app.
Fenix Down
02-10-2004, 12:53 PM
Originally posted by kerchen
I could tell you other reasons why using .NET for your game is a bad idea, but Joel On Software already did it for me (and did a better job than I could too): Please Sir May I Have a Linker? (http://www.joelonsoftware.com/articles/PleaseLinker.html). :)
I just read that article, and while I'm not a big MS fan myself, it sounds a bit fishy to me. As I understand, this guy is saying that apps written for an older version of the .NET framework won't work with newer versions. That sounds very odd to me given that MS has put so much effort into developing COM and using it extensively in so many things (like DirectX) for backwards compatibility. Does .NET not have a scheme for backwards compatibility? I must admit I don't know much about the internals of the .NET system, but that doesn't sound like Microsoft.
He also complains about the fact that you need to distribute the whole framework and can't just link with the parts you need. Well, that's life.. This is the same exact problem as Java has, and it's a necessary evil. It's the only way to ensure consistency in runtime environments, and for Java (.NET probably works similarly, must be compiled to bytecode) it's absolutely mandatory that every VM implementation has support for all the libraries available in Java, or you could say goodbye to "compile once run everywhere." Sorry if this is a bit off topic, but I just wanted to say that because his opinion seems a bit uninformed. Don't like the 21 meg runtime? Don't use the .NET libraries, or wait until they're widely distributed. It sucks, but I can't say Microsoft has done something wrong.
Rob Smith
02-10-2004, 01:22 PM
Let me just clarify. I am talking about native c++, not managed. So there is no need for the .net framework.
Originally posted by Dan MacDonald
unless i'm mistaken, however, your app will now require version 7.x of the C runtime libraries to run. Even xp machines did not ship with this version of the CRuntime so you typically have to package it with your app.
Can't you just statically link the runtime? Thanks for all the replys.
Dan MacDonald
02-10-2004, 01:55 PM
Yep, you can statically link it. It's an option.. but then that is adding a little to your size. It's not really any larger then the old 6.0 runtime however so depending on how you were linking before. It may or may not represent a size increase.
Rob Smith
02-10-2004, 02:02 PM
Originally posted by Dan MacDonald
Yep, you can statically link it. It's an option.. but then that is adding a little to your size. It's not really any larger then the old 6.0 runtime however so depending on how you were linking before. It may or may not represent a size increase.
Sweet. Thanks a lot. So VS.NET 2003 it is. man that's gunna hurt the pocket book. But a necessary evil I guess.
One really nice thing about VS.NET 2003 over VS6.0 is that it does pretty aggresive link-time optimization. If you statically link to libraries, it will cut out most of what you don't use in the final executable and not leave it hanging there despite being unused, which most compiler/linkers do.
a_j_harvey
02-10-2004, 08:21 PM
MFC apps compiled in VS.NET won't run on vanilla Win95 pc's. Win95 needs an old version of the MS Accessibility redist (that is a bit hard to find).
damocles
02-11-2004, 01:36 AM
So VS.NET 2003 it is. man that's gunna hurt the pocket book. But a necessary evil I guess
This is interesting - why exactly do you feel it's necessary? Although .net does add some nice new features, it's hardly necessary. It's definitely geared towards the hardcore application developer. I don't know what it is you do, but if it's game dev then .net is far from a necessity, more of a luxury.
BitBoy
02-11-2004, 03:25 AM
Isn't it possible to buy Visual C++ .NET 2003 separately, not the whole .NET suite? This is what I'm considering, since I know I'll probably never use Visual Basic, C# and whatever else comes with the whole package. I think you can get VC++.NET for about $150 here in Sweden, and probably less in the US. :)
henning
02-11-2004, 04:26 AM
Visual C++ .NET is indeed quite cheap compared to Visual Studio .NET. The only real difference on the C++ side is that Visual C++ .NET doesn't including an optimizing compiler. Check out:
http://msdn.microsoft.com/visualc/howtobuy/choosing.aspx
BitBoy
02-11-2004, 07:18 AM
Doh! Thanks for pointing that out! Guess how happy I'd be if I realized that the compiler I just had bought had no optimizing capabilities... :eek:
I guess there's no possibility to buy the professional version of VC++ .NET separately? *sigh* MS sure knows how to get people to spend their hard earned cash...
Rob Smith
02-11-2004, 08:38 AM
Originally posted by damocles
This is interesting - why exactly do you feel it's necessary? Although .net does add some nice new features, it's hardly necessary. It's definitely geared towards the hardcore application developer. I don't know what it is you do, but if it's game dev then .net is far from a necessity, more of a luxury.
The only reason not to seems to be money. $549 US is a lot of money, but not tons, and for it i get:
Latest greatest.
I would assume better code generation.
Better debugger.
More ansi compliant, helps since i use gnu for cross platfrom.
easy pocket pc development.
And the reason why I even started looking into it, LuaPlus is set up for it.
I realize I can get LuaPlus to work without it. but the main developer on LuaPlus uses it so it is best to keep in step, to avoid those nasty gotchas anytime a new release comes out.
Dan MacDonald
02-11-2004, 09:20 AM
Lua is da bomb!
Originally posted by BitBoy
I guess there's no possibility to buy the professional version of VC++ .NET separately? *sigh* MS sure knows how to get people to spend their hard earned cash...
MS could care less about you and I or independent developers. They make their money through big corps like Siemens, BOA. If your not using .NET then I believe MSV C++ 6.0 will do the job just fine and is considerably cheaper than the alternative.
Mark Fassett
02-11-2004, 12:13 PM
Well, if you remember, the pro version of Visual C++ alone used to be darn near that $549 for a full version.
Lizardsoft
02-11-2004, 12:17 PM
VS .NET is great for the extra C++ compatibility but the IDE itself isn't really improved, so don't expect leaps and bounds of improved functionality if you are writing native Win32 apps. The intellisense is a bit improved but still very buggy. My huge complaint is that the mechanism for jumping to a function actually works less now than in it did in VC++ 6. For some reason VS. NET has trouble finding even simple member functions, and if you select one that can't be found then the dropdown box gets all messed up. In VS .NET 2K2 this also stole keyboard focus and required lots of random clicking to get it back, haven't been using 2K3 long enough to tell for sure if at least that bit has been fixed. 2K3 is just as bad at finding functions though, this didn't take long to discover. VC++ 6 only seems to chock on complex function declarations with many default parameters. With 2K3 I find myself using the old fashioned method of searching for the function name to jump to it because the thing just doesn't work. :(
Originally posted by Mark Fassett
Well, if you remember, the pro version of Visual C++ alone used to be darn near that $549 for a full version. True, but we live in the present:D
Plenty of packages to choose from ebay:
http://search.ebay.com/search/search.dll?cgiurl=http%3A%2F%2Fcgi.ebay.com%2Fws%2F&krd=1&from=R8&MfcISAPICommand=GetResult&ht=1&SortProperty=MetaEndSort&query=visual+c%2B%2B+6.0
Originally posted by Rob Smith
The only reason not to seems to be money. $549 US is a lot of money, but not tons, and for it i get:
Do you know anyone that works at MS? They can purchase ligit copies of their own software through the company store at 10% the retail price (except of Xbox games which cost $20 at the company store).
They can even have the software delievered to your doorstep, no questions asked. (But they do have a $1000 limit per year).
I was able to get Visual Studio DotNet Professional (with all her bells and whistels) for $100 that way through a buddy. I could have gotten DotNet Architect for about $250 I think but I totally didn't need it and I didn't want to drain my friend's account.
EDIT TO ADD:
I wouldn't purchase VSDotNet (or VC++DotNet) if you were only going for the new IDE, though. If you wanted to do rapid development with C# (I use C# primarily for tools, I love it and the DotNetFramework is amazing, IMHO) though it's a different story.
John Olsen
02-12-2004, 09:48 PM
Being an MS alumni I can say the company store there is a pretty slick benefit for the employees and the friends they tell about it. :) I was always sure to max out my yearly limit whether for myself or friends. Visual Studio.NET 2003 has some good stuff in it, but at retail prices I can see how indies would definitely want to make due with 6.0 until you've produced a selling title and upgraded from peanut butter and jelly 3 meals a day.
You'd probably be better off getting some plug-ins like Workspace Whiz (http://www.workspacewhiz.com/) and Whole Tomato's (http://www.wholetomato.com/) Visual Assist that make the interface easier to use. Workspace Whiz is done by a friend of mine. Those two tools should be able to keep people happy with slightly out of date IDEs for a while at a reasonable price.
Visual Assist is awesome. If you're just looking for a better IDE for your C++ development than save yourself a couple hundred dollars and make this purchase instead.
BitBoy
02-13-2004, 01:18 AM
Personally, I'm not considering buying .NET because of its improved IDE - I'm perfectly happy with the one that VC6 has, even without tools such as Visual Assist. Hey, I hardly ever use most of the helper tools available in VC6 anyway! What I'm interested in is the updated and improved compiler, with better code generation for new processors and - most importantly - vastly improved standard compliancy. Unfortunately, the compiler in VC6 can't be improved by buying a plugin, like the IDE can. I guess I'll be using my old version for some time still.
Originally posted by BitBoy
What I'm interested in is the updated and improved compiler, with better code generation for new processors and - most importantly - vastly improved standard compliancy.
Ahh, I see. That could definetly be an issue if you are writing code that uses advanced template functionality (like metaprogramming).
Originally posted by John Olsen
... until you've produced a selling title and upgraded from peanut butter and jelly 3 meals a day.
Damn!?
You get to have peanut butter AND jelly at every meal! You lucky bum! ;)
David