🔒 Locked
Which is better?
Advertisement
Original Post
The VS 6 compiler is really terrible.
Quote:
Original post by DeadFish
"and the vs 6 compiler is terrible"
Could you elaborate please?
It's been said that the vs 6 compiler doesn't support partial specialization of templates, which are required for much of the magic in boost and other libraries. I have no first hand proof.
I did though run across an unrelated problem which required me to replace the compiler exe [and libs] with the 2003 version. [edit: though I cannot remember what it was]
No, VS 6 was always terrible. All of the competing compilers you mentioned were there before .net came around, and were beter than vc then too. VC was and still is a nightmare to use outside its IDE, if you ever need to. The VS system had great debugging but for actual writing of code it was less useful than a decent plain text editor. The IDE crashed a lot, and for some reason crashing usually caused it to write garbage into your source files.
Not all bad though. I've mentioned the nice debugging ability, and Visual Assist (shareware plugin for VS) added features which made the IDE very nice for coding, as well as protecting your source files from being corrupted.
I always though that 6 was ridiculously large, but compared to .net it is a gnat. .net's UI is very nice. I have never once seen .net crash, but some features of vs.net 2003 don't work on certain computers, with no apparent pattern (for example, on my computer I cannot create any projects). I suspect that the IDE developers are thorough in catching exceptions, but hide any errors that they find rather than reporting them.
For the past year I have been using plain text editors rather than IDEs. It has made life so much easier.
Not all bad though. I've mentioned the nice debugging ability, and Visual Assist (shareware plugin for VS) added features which made the IDE very nice for coding, as well as protecting your source files from being corrupted.
I always though that 6 was ridiculously large, but compared to .net it is a gnat. .net's UI is very nice. I have never once seen .net crash, but some features of vs.net 2003 don't work on certain computers, with no apparent pattern (for example, on my computer I cannot create any projects). I suspect that the IDE developers are thorough in catching exceptions, but hide any errors that they find rather than reporting them.
For the past year I have been using plain text editors rather than IDEs. It has made life so much easier.
You are exaggerating. VS 6.0 isn't "terrible". If it is so terrible, then why has it remained popular even after VS .NET came out 3 years ago?
While it doesn't fully support the C++ standard, the unsupported parts of the language aren't used much anyway. I agree that it has problems but those are rare, and its optimization is good, even though it isn't the best.
The real killing blows are that VS 6.0 is now incompatible with DirectX and it is no longer supported by Microsoft. (Obviously, these are to force developers using VS 6.0 to buy VS .NET.)
If you have a choice, VS .NET is clearly the better (if not the only) choice.
While it doesn't fully support the C++ standard, the unsupported parts of the language aren't used much anyway. I agree that it has problems but those are rare, and its optimization is good, even though it isn't the best.
The real killing blows are that VS 6.0 is now incompatible with DirectX and it is no longer supported by Microsoft. (Obviously, these are to force developers using VS 6.0 to buy VS .NET.)
If you have a choice, VS .NET is clearly the better (if not the only) choice.
I have been using the new VS 2005 beta. Dispite some actual beta issues with the compiler, I like the IDE interface better than VS.NET. I'm not even quite sure why. It just has a better feel to it.
And right now, you can download the 2005 Express versions for free. They recently released the second public version of the beta. The express versions are basically geared towards entusiests and are stripped down a little. From what I understand, the final product wont be free, but it will be cheaper than the full blown VS 2005 package.
[edit]
Also VS 2005 does seem to have better template support than VS.NET, which had MUCH better template support than VS 6.
And right now, you can download the 2005 Express versions for free. They recently released the second public version of the beta. The express versions are basically geared towards entusiests and are stripped down a little. From what I understand, the final product wont be free, but it will be cheaper than the full blown VS 2005 package.
[edit]
Also VS 2005 does seem to have better template support than VS.NET, which had MUCH better template support than VS 6.
Quote:I can't say in general, but at my workplace we still use it because we have libraries that are completely dependant on VC6s quirks and non-compliance with the standard. Trying to compile the libraries on .Net results in enough errors that the compiler says it won't spit out any more, and we don't have the resources to fix it at the moment. All new code is generally created and tested in VS.Net 2003, and then tested to make sure VC6 can handle it. Then it'll get a few hacks to make it work in VC6 and we don't touch it any more (or we modify the original and redo the hacks after it works).
Original post by JohnBolton
You are exaggerating. VS 6.0 isn't "terrible". If it is so terrible, then why has it remained popular even after VS .NET came out 3 years ago?[...]
Quote:VC6 nor VS.Net 2002 support enough of the standard to get a fully working compile of Boost::Spirit. In fact, many parts of the boost library are crippled on VC6 which is a big deal if you're into productivity. I can't say 2003 does either, but it supports quite a bit more. I've heard 2005 supports a proper boost build, but I haven't tried it.
Original post by Anonymous Poster Quote:
Original post by Nitage
VC6 doesn't support some parts of the C++ standard relating to templates.
Anyone having real problems with this or is just because templates are "holy" among die hard c++ fans? :)[...]
Quote:
Original post by Extrarius
In fact, many parts of the boost library are crippled on VC6 which is a big deal if you're into productivity. I can't say 2003 does either, but it supports quite a bit more. I've heard 2005 supports a proper boost build, but I haven't tried it.
That's a silly thiing to say. may places don't use Boost and are still very productive. Using boost doesn't mean your more productive than a non boost user. Similarly not using boost doesn't mean you don't produce code as productivly as a boost user.
If all you need are containers and some basic algorithms then stl is all you need, including boost may not buy you anything and definitely won't make you more productive.
Cheers
CHris
Quote:I often see code (at school, work, and on the internet) where somebody recreated not-insignificant parts of boost. Such people would greatly benefit from just using boost since they coded the replacements because they needed the functionality and didn't know it was already available somewhere (as opposed to needing something unique, or needing it to be optimized a certain way, etc).
Original post by chollida1
[...]
Don't use Visual C++ 6.0 compiler it's offically defunct product, pre-dates C++ standardization thats something like 8-9 years old technology, it's implementation of the C++ standard library is poor, parts of it broke.
I read some people say that VC++ 6.0's only problem is templates, this is not true it's much more than that, here is the offical list of just known standard Noncompliance Issues. Note that also applies to VC++ 7.0 (.NET 2002) aswell.
I read some people say that VC++ 6.0's only problem is templates, this is not true it's much more than that, here is the offical list of just known standard Noncompliance Issues. Note that also applies to VC++ 7.0 (.NET 2002) aswell.
Quote:
Original post by Anonymous Poster
Anyone having real problems with this or is just because templates are "holy" among die hard c++ fans? :)
Yup, some of the stuff I dabble with has no chance whatsoever of working on VC6. It is just brain-dead in that regard. The only decent argument I've seen for keeping it around is if you're a total miser about executable image size: you can dynamically link to the C/C++ runtime library and be assured that pretty much everyone has it.
Quote:
Original post by Extrarius Quote:I often see code (at school, work, and on the internet) where somebody recreated not-insignificant parts of boost. Such people would greatly benefit from just using boost since they coded the replacements because they needed the functionality and didn't know it was already available somewhere (as opposed to needing something unique, or needing it to be optimized a certain way, etc).
Original post by chollida1
[...]
Good explanantaion, I'd agree with that. I just took exception to your statement that anything that can't compile the boost library really limits productivity.
Cheers
Chris
Hi,
The DX9 D3DX libs wont link in VS6 unless you install an old version of them. I just comment this because it shows how MS slowly drops support on old software (at least they should leave it free as unsupported SW).
Anyway VS6 is a nice product, I used it for years but once I started with .Net... well... how can I tell you... VS6 looks so small now...
Luck!
Guimo
The DX9 D3DX libs wont link in VS6 unless you install an old version of them. I just comment this because it shows how MS slowly drops support on old software (at least they should leave it free as unsupported SW).
Anyway VS6 is a nice product, I used it for years but once I started with .Net... well... how can I tell you... VS6 looks so small now...
Luck!
Guimo
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement