Fog Creek Software
Discussion Board




anybody still uses VC 6 ?

Most of my customers (those that do unmanaged code only) still use VC6.
the main reasons seems to be 'we still have this code base' to 'don't bother porting'.

How many shops that don't bother about .NET have switched to post VC6 compilers ?

Why didn't marketing at Microsrt stress the better code optimization features for the newer products ?

Michael Moser
Saturday, August 30, 2003

We've switched to VC7 for our main development trunk and aren't using .net in it. There's no doubt the compiled software is faster and more standards compliance is nice, although the compile and link times are twice as long than in VC6!

John C
Saturday, August 30, 2003

We're still using VC6 for to compile a very popular software. Our code is entirely written in C and uses standard Win32 API calls.
We're even planning to switch to another compiler that can use MSVCRT (We hate using another C Runtime). Any suggestions?

FireMode
Saturday, August 30, 2003

VC7 doesn't support MSVCRT when doing unmanaged code?

dmooney
Saturday, August 30, 2003

You can use Borland C++Builder to build C applications linking to MSCVRT, I believe. Or you can use Dev-C++: http://www.bloodshed.net/devcpp.html

Roel Schroeven
Saturday, August 30, 2003

I like Codewarrior.  Been meaning to check out the Intel compiler.  Anybody use it?


Saturday, August 30, 2003

> VC7 doesn't support MSVCRT when doing unmanaged code?

Apart from the nice GUI and the more compliant compiler, as far as I'm aware everything you could do in VC6 you can do in VC7 in an unmanaged sense. I like to think of .net as an add-on to VC7 that you don't have to use, rather than being an implicit part of it.

John C
Saturday, August 30, 2003

MinGW [ http://www.mingw.org ] is a port of GCC to Windows + MSVCRT. It's the backend used by Dev-C++, and it works well (although rather slow when compiling C++ code with lots of template instantiations).

There's also Watcom's compiler, recently open sourced [ http://openwatcom.org ] and Digital Mars C/C++ [ http://digitalmars.com ], which in earlier life was called Datalight C, Zorland C, Zortech C++ and Symantec C++. And there's of course the Borland compiler.

If you only need C, then you might like Jacob Navia's lcc-win32, or Fabrice Bellard's tcc, both compile rather good code at amazingly fast speeds.

KAI, which had a wonderful C/C++ -> C compiler was bought by Intel and the product discontinued AFAIK; There's still comeau C++ as a C++ -> C translator if you need it. Intel's own compiler is supposed to be very good.

And VC6 is still a great choice if you don't need the .NET stuff.

Ori Berger
Saturday, August 30, 2003

Intel's Compiler is not on the list as a replacement?  Check it out.  I looked at an earlier version of  it for a project and it would work with both as a drop in replacement for VC++ command line and will allow you to use Visual Studio Editor as well. 
http://www.intel.com/software/products/compilers/cwin/

A Software Build Guy
Saturday, August 30, 2003

John C,

That's what I thought too, which is why I was confused by Firemode's comment. Firemode, care to respond?

dmooney
Sunday, August 31, 2003

We are still using VC6 for production work, simply because there are no new features which justify the upgrade cost, and I haven't yet found an editor/compiler combination which integrates better.

As an academic exercise, I recently evaluated the Digital Mars compiler as a low-cost (yes, we'd pay for the CD) alternative. I used only the compiler, in conjunction with the TextPad editor. It worked well, but error reporting wasn't as tightly integrated as with the VC6 IDE. I'll make a more apples-with-apples comparison with the Digital Mars IDE when my CD arrives.

Digital Mars has good compile times. Executable code size was (puzzling) variable in comparison to VC6. Holding compiler options constant, some programs were smaller, some larger. I'm still playing with options to see if I can figure out the circumstances in which this applies.

The one negative I have with the DM compiler is that I can't find a way to report "unused variable" warnings. We compile code to the maximum warning level in VC6, and make sure there are no compiler warnings before releasing the code for testing. I don't want to use a compile with FEWER warnings.

HeWhoMustBeConfused
Monday, September 01, 2003

Here at Metrowerks, we use our own CodeWarrior for Windows tools to do about 95% of our Win32 development.  We use the same object file formats and name mangling as VC++, and I've heard of people using the MSVCRT.lib with CW, although we have our own very standards conformant C/C++ library and runtime also.

The only real hole in the CW toolset is resource editing.  We worked on a resource editor a few years ago, but the project got canelled when the programmer who was developing it left.  Most of our existing UI has been done cross platform on the Macintosh, so we don't feel the pain too much.  We work with .RC and .RES files generated by VC++ too, so we can always boot that if we need to edit those files with a graphical editor.

Ben Combee
Monday, September 01, 2003

"I can't find a way to report "unused variable" warnings"

Lint.


Tuesday, September 02, 2003

I wouldn't classify the VS.NET IDE as much of an improvement over VS 6.  It's gone backwards in quite a few places.

Flamebait sr.
Tuesday, September 02, 2003

Advantages of using VC.net are
- Better MSDN on STL but still not good enough in explaining it. Developer who develops with STL will know these explanations are useless.
- Support newer compiler as VC 6.0 compiler is way too outdate. Stuff like #import  "libid:0000.000" are not supported which make developer like me frustrated. I am seeking a way to update the VC 6 compiler, email me if you have the solution and will be greatly appreaciated
- better debugger.

Disadvantages of using VC.net are

- Slow IDE. I wonder if it is because it runs on .NET.
- Consuming too much memory. Must be .NET again.
- Buggy. Probably not well tested.
- tend to mingle or introduce those managed codes to unmanaged codes which make thing very complicated. Definitely, Microsoft strategy to make developer to move to .NET which consider cheap tactic.
- lousy MSDN on unmanaged codes.
- no class wizards.

Anthony Y
Monday, April 12, 2004

*  Recent Topics

*  Fog Creek Home