From: Robby on
Hello,

Can someone give me some general feedback on the folowing subjects.

I would like to know what is the difference between VC++ and VC.NET. I guess
VC++ uses unmanaged code where VC.NET uses managed code??? is this correct.

I still would opt for the old VC++ with native code which is unmanaged code
right?

Also, does knowing C++ offer a solid base towards progamming orientation.
For example if one knows C++, he is able to choose weather he wants to go
with VC++ or VC.NET or C# right?

And is VC++ (native code style) still widely used in todays industry, I
heard that its
not as popular but still a very important language.

--
Best regards
Robert
From: Carl Daniel [VC++ MVP] on
Robby wrote:
> Hello,
>
> Can someone give me some general feedback on the folowing subjects.
>
> I would like to know what is the difference between VC++ and VC.NET.
> I guess VC++ uses unmanaged code where VC.NET uses managed code??? is
> this correct.

Visual C++ .NET is an obsolete product name used for the 2002 and 2003
editions of the product (aka VC7 and VC7.1).

>
> I still would opt for the old VC++ with native code which is
> unmanaged code right?

No. __Every__ version of VC++ supports native code. For new native code
development, use VC++ 2008 (aka VC9).

>
> Also, does knowing C++ offer a solid base towards progamming
> orientation. For example if one knows C++, he is able to choose
> weather he wants to go with VC++ or VC.NET or C# right?

It certaintly wouldn't hurt!

>
> And is VC++ (native code style) still widely used in todays industry,
> I heard that its not as popular but still a very important language.

Native code is less used in line of business applications (like wed sites,
internal database/ERP/CRM applications, etc). Shrinkwrap software (i.e.
what you can buy in a store) is still almost universally native code. Cross
platform code is almost universally native code. System level code (e.g.
drivers, operating systems) is almost universally native code (I say almost
because, for example, Microsoft Research is investigating fully managed
operating systems - kernel, drivers & all).l

-cd


From: itekchandru on
VC++ is specially designed to produce Native code. That is the
code written using VC++ can run directly in OS (No Runtime or
FrameWork needed) ,Run faster than other codes, Produce best optimum
result. It is fully powered by MFC.
To produce Optimum speed it is designed as Unmanaged Code.


VC++.Net 2003 is Different and almost now deprecated because clumsy
syntax of c++.

VC++ 2005 is very great language supports both Managed and Unmanaged
code in same program, same file. This is new language called C++/CLI
( http://en.wikipedia.org/wiki/C%2B%2B/CLI ) . U can code traditional
c++ and C++/CLI in same file as line by line. Traditional C++
supports and produce Native code and C++/CLI supports and produce
CLR.net Managed Code in single executable.

So finally if u intended for speed use VC++ 6.

Otherwise VC++2005(C++/CLI) is the best.

By .
itekchandru.

From: Carl Daniel [VC++ MVP] on
itekchandru wrote:
> VC++ is specially designed to produce Native code. That is the
> code written using VC++ can run directly in OS (No Runtime or
> FrameWork needed) ,Run faster than other codes, Produce best optimum
> result. It is fully powered by MFC.
> To produce Optimum speed it is designed as Unmanaged Code.
>
>
> VC++.Net 2003 is Different and almost now deprecated because clumsy
> syntax of c++.

No, you're confusing the product "VC++ .NET 2003" with the language "Managed
extensions for C++", which was introduced with VC7, and then deprecated with
VC8 in favor of C++/CLI. VC7 and VC7.1 both introduced significant
improvements for native code generation compared to VC6 in addition to their
support for maanged code.

>
> VC++ 2005 is very great language supports both Managed and Unmanaged
> code in same program, same file. This is new language called C++/CLI
> ( http://en.wikipedia.org/wiki/C%2B%2B/CLI ) . U can code traditional
> c++ and C++/CLI in same file as line by line. Traditional C++
> supports and produce Native code and C++/CLI supports and produce
> CLR.net Managed Code in single executable.

VC++ 2005 is not a language, it's a product. The product supports 4
languages:
C - native
C++ - native
MC++ - managed (same as in VC7 & 7.1)
C++/CLI - managed (new syntax)

The ability to mix native and managed, even within a single file, was
introduced with VC7 and is not a new feature of VC8 (2005).

>
> So finally if u intended for speed use VC++ 6.

No. VC6 is an outdated, unsupported compiler with poor language
conformance. For the fastest code, use VC9 (VC++ 2008) and compile native.

>
> Otherwise VC++2005(C++/CLI) is the best.

No. C++/CLI is not being positioned as a primary language for application
development. It's ideally suited for building the "glue" that sits between
a managed application written in another language (like C#) and existing
native code written in C or C++ (Fortran or whatever).

-cd