About C++ IDEs

  • Thread starter LifeStory via DotNetMonster.com
  • Start date
L

LifeStory via DotNetMonster.com

Hi all,

I am now using C++ for operations research techniques implementations to get
numerical reults, I have a question what is the difference between VC++.Net,
VC++ 6.0 (in terms of performance)? and which one is better to be used? and
related to IDEs is it better to use Visual Studio 6.0 or Visual Studio .Net
2005? and what are the restrictions on using both of them?

Thank you.

nana
 
D

David Lowndes

I am now using C++ for operations research techniques implementations to get
numerical reults, I have a question what is the difference between VC++.Net,
VC++ 6.0 (in terms of performance)? and which one is better to be used? and
related to IDEs is it better to use Visual Studio 6.0 or Visual Studio .Net
2005? and what are the restrictions on using both of them?

VC6 is much lighter weight IDE than VS2005, but having said that
either should work well on a reasonably modern PC.

VC6 is no longer maintained and its compiler won't cope with more
complex C++. The C++ compiler in VS2005 is considerably better in
conformance to the language.

If your C++ code will be using templates, I'd recommend you use the
latest version, otherwise either would probably suffice for your
requirements.

Dave
 
E

Eberhard Schefold

LifeStory said:
I am now using C++ for operations research techniques implementations to get
numerical reults, I have a question what is the difference between VC++.Net,
VC++ 6.0 (in terms of performance)? and which one is better to be used? and
related to IDEs is it better to use Visual Studio 6.0 or Visual Studio .Net
2005? and what are the restrictions on using both of them?

VC6 is 9 (nine) years old. In a fast-evolving technology, I can't
believe that anyone even considers using a compiler/IDE/library that
cannot be anything but hopelessly outdated.
 
H

Herhor

LifeStory via DotNetMonster.com pisze:
Hi all,

I am now using C++ for operations research techniques implementations to get
numerical reults, I have a question what is the difference between VC++.Net,
VC++ 6.0 (in terms of performance)?

Get Orcas!
 
N

Nathan Mates

VC6 is 9 (nine) years old. In a fast-evolving technology, I can't
believe that anyone even considers using a compiler/IDE/library that
cannot be anything but hopelessly outdated.

The compiler and library may be hopelessly outdated, but the VC6
IDE has one major thing going for it: it doesn't suck in quite the way
the 200x IDE does. VC6's IDE never once crashed on me in Win2000/XP.
VS200x dies on me 2-5 times a week. [2002 was 2-5 times a day,
minimum.] VC6 also supported focus follows mouse just fine, something
that VC5 and 200x have had serious problems with. It is *seriously*
annoying to have such misbehavior. VC6's IDE just feels snappy on
modern systems, while 200x is still a bit sluggish.

I'd seriously consider paying good money to be able to use VS2005's
compiler/library (which is a LOT better) with VC6's IDE (which I still
think is a lot better).

Nathan Mates
 
M

Michael Viking

Eberhard Schefold said:
LifeStory via DotNetMonster.com wrote:
SNIP

VC6 is 9 (nine) years old. In a fast-evolving technology, I can't
believe that anyone even considers using a compiler/IDE/library that
cannot be anything but hopelessly outdated.

And I can't believe anybody would upgrade, upgrade, and upgrade, and
upgrade...and upgrade some more.

What I recall was that 9 years ago people were able to develop operating
systems, office applications, email systems, IDEs, compilers, hmm, what else
did MS produce with their C++ tools and VC6 seemed to work fine for the
task. From what I understand, their latest operating system, office
applications, email systems, database systems, IDEs, compilers, etc. are
still in C++. It was good enough then, it's good enough now. If you don't
need the super latest standards-compliant C++ (and I argue that few honestly
do - and those that do, should), why upgrade?

We still use VC6 because the compiler works fine for us and the IDE rocks.

-Michael Viking
 
D

David Wilkinson

Nathan said:
I'd seriously consider paying good money to be able to use VS2005's
compiler/library (which is a LOT better) with VC6's IDE (which I still
think is a lot better).

Nathan Mates

Have you looked at the Intel compiler? It claims to be plug-in
compatible with VC6.
 
D

David Wilkinson

Michael said:
And I can't believe anybody would upgrade, upgrade, and upgrade, and
upgrade...and upgrade some more.

What I recall was that 9 years ago people were able to develop operating
systems, office applications, email systems, IDEs, compilers, hmm, what else
did MS produce with their C++ tools and VC6 seemed to work fine for the
task. From what I understand, their latest operating system, office
applications, email systems, database systems, IDEs, compilers, etc. are
still in C++. It was good enough then, it's good enough now. If you don't
need the super latest standards-compliant C++ (and I argue that few honestly
do - and those that do, should), why upgrade?

We still use VC6 because the compiler works fine for us and the IDE rocks.

Michael:

Basically, I agree with you. But for me, the most important reason to
move to away from VC6 (which I have not yet done for my MFC projects) is
that PSDK's after Feb 2003 cannot be used with it.
 
N

Nathan Mates

Have you looked at the Intel compiler? It claims to be plug-in
compatible with VC6.

It's harder to do so at work. I doubt the Intel compiler can kick
out Xenon (== XBox 360) code; MS ties their development tools together
at the hip. Plus, when the rest of the team uses 2005, keeping the
..dsp & .vcproj files in sync could get really annoying. When you're on
a team, certain customizations are easy. Some aren't.

Frankly, if they fixed my few royal annoyances with 2005-- e.g. not
supporting focus-follows-mouse, and the 'always step into disassembly,
even when in 100% source view' bugs, I'd be more willing to give up
any dreams of returning to VC6. I like what the compiler team has done
with 2005, and the secure functions (e.g. strcpy_s) are so easy to use
they help out a lot. I just wish the UI/IDE team could show some
results for the effort they put in.

Nathan Mates
 
E

Eberhard Schefold

Michael said:
What I recall was that 9 years ago people were able to develop operating
systems, office applications, email systems, IDEs, compilers, hmm, what else
did MS produce with their C++ tools and VC6 seemed to work fine for the
task. From what I understand, their latest operating system, office
applications, email systems, database systems, IDEs, compilers, etc. are
still in C++. It was good enough then, it's good enough now.

Not for us, not at all. The VC6 compiler has serious bugs and deviations
from the standard that severely hurt us in the past. Runtime error
checking has greatly improved since then, in many respects. The Standard
C++ library that comes with VC6 is hopelessly outdated and flawed. Any
attempt to use a common library like Boost is in vain.

But I see that we're not even living on the same planet, so I must
respect that.
 
D

Daniel James

David Wilkinson said:
I agree with you. But for me, the most important reason to
move to away from VC6 (which I have not yet done for my MFC projects) is
that PSDK's after Feb 2003 cannot be used with it.

The great advantage of using the Feb 2003 PSDK is that it doesn't support
-- and so you will not inadvertently use -- any of the repulsive GUI-bling
eye-candy monstrosities that MS have chosen to contaminate their OS with
since Win2k.

There are many things wrong with VC6 and the VS98 IDE, but the alarming
thing is the number of things that were right with that IDE that were
subsequently discarded in VS200x.

To echo what others here have said: I would be very happy to be able to use
the C++ compiler from VS2005 in the VS98 IDE.

Cheers,
Daniel.
 
H

Hendrik Schober

Michael Viking said:
And I can't believe anybody would upgrade, upgrade, and upgrade, and
upgrade...and upgrade some more.

What I recall was that 9 years ago people were able to develop operating
systems, office applications, email systems, IDEs, compilers, hmm, what else
did MS produce with their C++ tools and VC6 seemed to work fine for the
task.

People where able to do that even 15 years ago.
Why don't you go back even further?
From what I understand, their latest operating system, office
applications, email systems, database systems, IDEs, compilers, etc. are
still in C++. It was good enough then, it's good enough now. If you don't
need the super latest standards-compliant C++ (and I argue that few honestly
do - and those that do, should), why upgrade?

For one, in order to use techniques that make your
code safer, you will need a compiler that supports
those techniques. Try to use boost with VC6.
Also, VC6 was seriously lacking when it comes to
its std lib.
Finally, if your code needs to get compiled on
several compilers, VC6 is a major PITA. It chokes
on what every other compiler happily compiles and
eats lots of erronous code at the same time.
You keep being locked into that for 9 years now,
just putting off the work to migrate that to a
compliant compiler/std lib pair.
We still use VC6 because the compiler works fine for us and the IDE rocks.

What's wrong with C or even assembler? Worked
fine, too, editors were snappy on a 286, and
people wrote operating systems, IDEs, office
applications and what not using these. SCNR
-Michael Viking

Schobi

--
(e-mail address removed) is never read
I'm HSchober at gmx dot de
"If there were some arcane way to remove the heads of every
newsgroup troll on the planet, I think it would elevate
humans to a whole new level of intelligence."
Rocky Frisco
 
M

Michael Viking

See inline:

Hendrik Schober said:
Michael Viking <[email protected]> wrote:

People where able to do that even 15 years ago.
Why don't you go back even further?

If I throw a ball away from me at 45 degrees it rises and then falls. It's
a parabola. Maybe I consider VC6 to be the peak of the IDE?
For one, in order to use techniques that make your
code safer, you will need a compiler that supports
those techniques. Try to use boost with VC6.
Also, VC6 was seriously lacking when it comes to
its std lib.
Finally, if your code needs to get compiled on
several compilers, VC6 is a major PITA. It chokes
on what every other compiler happily compiles and
eats lots of erronous code at the same time.
You keep being locked into that for 9 years now,
just putting off the work to migrate that to a
compliant compiler/std lib pair.

I agree that some people have this issue. We don't. We don't need to
compile code on several compilers, and I bet that few do. Maybe we're
putting off work, but so far so good. We sure didn't get fooled like some
people doing the work to go to 2003, and then more work to 2005. And we're
not locked in to some particular version of the Framework, and we're not
locked in to making our customers install the Framework.
rocks.

What's wrong with C or even assembler? Worked
fine, too, editors were snappy on a 286, and
people wrote operating systems, IDEs, office
applications and what not using these. SCNR

Again. I think of it as a parabola. Sure I could do those things, and
because I can it makes me better at what I do now. But those are "too close
to the metal" in most cases - but we do have assembly in our code. At some
point one is abstracted so far away from what's going on that it's too far.
..NET is in many ways too far. And from what I've seen of people we've
interviewed, the ones who could write in C and assembler and understand that
Win SDK and know what they're doing are a heck of a lot better than the
people who can put together some sort of UI with the latest .NET and that's
all they know. Reality is these people don't know much of anything, and if
they do have some kind of problem, it's abstracted away to where they can't
understand or debug it.

-Michael Viking
 
H

Hendrik Schober

Michael Viking said:
See inline:



If I throw a ball away from me at 45 degrees it rises and then falls. It's
a parabola. Maybe I consider VC6 to be the peak of the IDE?


VC6 is more than an IDE and I didn't talk about the IDE.
You specifically said "C++ tools". I like the newer IDEs
better, but I agree that VS6 was very snappy. But its C++
compiler was a PITA and we were very happy when VC7.1
came along.
I agree that some people have this issue. We don't. We don't need to
compile code on several compilers, and I bet that few do.

(You avoided adressing the other two points.)
Maybe we're
putting off work, but so far so good. We sure didn't get fooled like some
people doing the work to go to 2003, and then more work to 2005.

We neither, BTW. 2003 was a great improvement (due to
its fixed C++ compiler) and we happily switched. 2005
was a customer's requirement and it was an easy switch,
so nobody complained.
And we're
not locked in to some particular version of the Framework, and we're not
locked in to making our customers install the Framework.


We neither. All native, portable std C++.
Again. I think of it as a parabola. Sure I could do those things, and
because I can it makes me better at what I do now. But those are "too close
to the metal" in most cases - but we do have assembly in our code. At some
point one is abstracted so far away from what's going on that it's too far.

Right. And where the point inbetween is, that is a
personal preference. So yours isn't better or worse
just because you feel it's right.
For me using libraries like boost and applying some
modern template techniques (that shift work to compile-
time, thus making the code faster at run-time and
making more fail at compile-time instead of run-time)
is a necessary abstraction, and dealing with raw
pointers etc. is too close to the metal and a last
century's way of doing things.
.NET is in many ways too far.

Of course. However, I don't know why you keep bringing
this into the discussion. (I suppose you have evaluated
newer VC versions far enough to know that they do not
only do .NET, have you?)
And from what I've seen of people we've
interviewed, the ones who could write in C and assembler and understand that
Win SDK and know what they're doing are a heck of a lot better than the
people who can put together some sort of UI with the latest .NET and that's
all they know. Reality is these people don't know much of anything, and if
they do have some kind of problem, it's abstracted away to where they can't
understand or debug it.

In my youth[TM] I heard the same about people not doing
assembler.
-Michael Viking

Schobi

--
(e-mail address removed) is never read
I'm HSchober at gmx dot de
"If there were some arcane way to remove the heads of every
newsgroup troll on the planet, I think it would elevate
humans to a whole new level of intelligence."
Rocky Frisco
 
M

Michael Viking

Hendrik Schober said:
Michael Viking <[email protected]> wrote:


VC6 is more than an IDE and I didn't talk about the IDE.
You specifically said "C++ tools". I like the newer IDEs
better, but I agree that VS6 was very snappy. But its C++
compiler was a PITA and we were very happy when VC7.1
came along.

The compiler in VC6 is fine. It's not optimal, it's not best, but it's
fine. The proof is all the applications that were developed with it.
(You avoided adressing the other two points.)

I'm not sure which points I missed, so I'll try to address each one. We
don't use Boost. Some do, but I'd guess that most don't? We use very
little of the std lib, and it's not hard to repair the issues we come
across, since they're just header files. We're not worried about being
locked into VC6. The work you're worried about us putting off is work we
don't have to do. Why do something we don't need to?
We neither, BTW. 2003 was a great improvement (due to
its fixed C++ compiler) and we happily switched. 2005
was a customer's requirement and it was an easy switch,
so nobody complained.

It's my understanding that quite a few people got burned here trying to use
C++/CLI or whatever it was.
We neither. All native, portable std C++.
Good.
far.

Right. And where the point inbetween is, that is a
personal preference. So yours isn't better or worse
just because you feel it's right.
For me using libraries like boost and applying some
modern template techniques (that shift work to compile-
time, thus making the code faster at run-time and
making more fail at compile-time instead of run-time)
is a necessary abstraction, and dealing with raw
pointers etc. is too close to the metal and a last
century's way of doing things.

These are valid. For the size of our dev team and what we need to do, we
don't feel moving to the compiler, making these changes, etc. is a tradeoff
we want to make. If you have the time and resources, that's great.
Of course. However, I don't know why you keep bringing
this into the discussion. (I suppose you have evaluated
newer VC versions far enough to know that they do not
only do .NET, have you?)

My mistake here. Sorry.
And from what I've seen of people we've
interviewed, the ones who could write in C and assembler and understand that
Win SDK and know what they're doing are a heck of a lot better than the
people who can put together some sort of UI with the latest .NET and that's
all they know. Reality is these people don't know much of anything, and if
they do have some kind of problem, it's abstracted away to where they can't
understand or debug it.

In my youth[TM] I heard the same about people not doing
assembler.

I honestly don't know what you're saying here. If I understand it, it's not
far from what I'm saying: people who know how to program in assembler are
better than people who don't. Back then, I'd recommend programming in C,
but if I were choosing between two candidates for the job, I'd prefer the
one who knew how to program in Assmebler, the same as I would today.
-Michael Viking
 
H

Hendrik Schober

Michael Viking said:
The compiler in VC6 is fine. It's not optimal, it's not best, but it's
fine.

That depends on what you do. It's almost ten years old
and disregards standard C++ in many critical areas. IME,
as soon as the keyword 'template' appeared somewhere,
VC6 caused trouble.
The proof is all the applications that were developed with it.

LOL! This is "proof" that (ancient) BASIC was a fine
language.
[...]
(You avoided adressing the other two points.)

I'm not sure which points I missed, so I'll try to address each one. We
don't use Boost. Some do, but I'd guess that most don't?

I have no idea why one wouldn't want to use a box
full of tools as boost is. But even if -- it didn't
take boost to make VC6 choke. It couldn't even keep
up with /my/ template code (and that was long before
I got my nose into template meta stuff).
It prevented us from doing things in better, safer,
and more efficient ways.
We use very
little of the std lib, and it's not hard to repair the issues we come
across, since they're just header files. [...]


Oh boy.
It's my understanding that quite a few people got burned here trying to use
C++/CLI or whatever it was.

<shrug>
I wouldn't know.
Still, this has nothing to do with any of my points.
[...]
Right. And where the point inbetween is, that is a
personal preference. So yours isn't better or worse
just because you feel it's right.
For me using libraries like boost and applying some
modern template techniques (that shift work to compile-
time, thus making the code faster at run-time and
making more fail at compile-time instead of run-time)
is a necessary abstraction, and dealing with raw
pointers etc. is too close to the metal and a last
century's way of doing things.

These are valid. For the size of our dev team and what we need to do, we
don't feel moving to the compiler, making these changes, etc. is a tradeoff
we want to make. If you have the time and resources, that's great.


There's about half a dozen developers working on
the projects I work on. Not all of them work on
Windows, though. As a small company that ships
software to some very big companies, we know how
brutal deadlines can be.
We see it the other way around: We can't afford
to not to use technologies that save time and
make our code more stable.
[...]
And from what I've seen of people we've
interviewed, the ones who could write in C and assembler and understand that
Win SDK and know what they're doing are a heck of a lot better than the
people who can put together some sort of UI with the latest .NET and that's
all they know. Reality is these people don't know much of anything, and if
they do have some kind of problem, it's abstracted away to where they can't
understand or debug it.

In my youth[TM] I heard the same about people not doing
assembler.

I honestly don't know what you're saying here. [...]

When I was young, I was told that those who only
write code in high-level languages and don't do
assembler don't know much of anything. Since most
applications today are not written in assembler,
but in some higher-level language, and since that
wouldn't be possible if the overwhelming majority
of those making them where morons, I have to
conclude that this statement was wrong.
Now you say those who only write .NET stuff and
don't know the much about the Win32 API don't know
much of anything. I compare that statement with my
experience with similar statements and don't see
much value in it.
(BTW, while I write most of my code on Windows, 95%
of the code I write nowadays runs on quite a few
platforms. Therefor I write plain and portable std
C++ and almost never use the Win32 API at all --
and thus know very little about it. Your above
statement paints me as not knowing much of anything.)
-Michael Viking

Schobi

--
(e-mail address removed) is never read
I'm HSchober at gmx dot de
"If there were some arcane way to remove the heads of every
newsgroup troll on the planet, I think it would elevate
humans to a whole new level of intelligence."
Rocky Frisco
 
M

Michael Viking

Hendrik Schober said:
(BTW, while I write most of my code on Windows, 95%
of the code I write nowadays runs on quite a few
platforms. Therefor I write plain and portable std
C++ and almost never use the Win32 API at all --
and thus know very little about it. Your above
statement paints me as not knowing much of anything.)

Based on all your posts I'm quite sure you're very competent. What I say
doesn't paint you as somebody who doesn't know much of anything, it paints
you as somebody we most likely wouldn't hire to work on our applications
since your skill set doesn't fit. And my guess is that you have programmed
in C, and it wouldn't surprise me if you've programmed in Assembler.

Cheers.

-Michael Viking
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top