473,791 Members | 2,949 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Disappointment in VC++ .Net in VS2008

Why bother having Stan Lippman and Herb Sutter created a C++/CLI
language for .Net development when Microsoft, and the VC++ development
team, are so clearly intent on limiting .Net development with C++/CLI to
the smallest subset of .Net development technologies in Visual Studio,
while all of the new technologies are given to C# instead ? The bubble
has burst with VS 2008 and we are instead finally told quite frankly, by
a lead VC++ team developer, that VC++ is not going to be a first-class
..Net development language. In that case why bother with C++/CLI, since
it serves little to no purpose for C++ programmers anymore. Here is the
lineup:

1) ASP .NET, not for C++
2) Web services in .Net, not for C++ and even web services client
development is removed in VS 2008.
3) WPF, not for C++ and even creating controls for WPF is absent for
C++/CLI.
4) WCF, not for C++.
5) WWF, not for C++
6) LINQ, not for C++.

Finally all advanced web application development is remove from C++ with
the abandonment of the ATL Server.

VS 2008 is an abortion for C++ .Net developers in every way. The message
is now clear from Microsoft and the pretense is finally dropped "If you
want to do .Net development in C++, just forget about it and start
programming in C#". It should have been clear from the beginning, with
the miraculously appearing loader lock bug, but now is transparent.

Instead the big news in VC++ for VS 2008 is Vista updates for MFC of all
technologies. Gee, I am sure glad I learned a RAD technology like .Net
so I could go back to doing MFC development.

C++/CLI is such a good language, with so much careful and intelligent
decisions made so that it is superior to C# in almost every way, that it
is sad to finally realize that Microsoft never had any plans for C++
developers to effectively compete with C# developers in the .Net world.
It was just a sop so that they could attract C++ developers and turn
them toward C#.

Stan Lippman, Herb Sutter, Brandon Bray, and others, you should all be
ashamed of yourselves in leading VC++ straight to a dead end of
programming for .Net.
Dec 22 '07
53 2371

"Edward Diener" <ed************ *******@tropics oft.comwrote in message
news:uH******** ******@TK2MSFTN GP04.phx.gbl...
Tom Walker wrote:
>"Edward Diener" <ed************ *******@tropics oft.comwrote in message
news:OU******* ******@TK2MSFTN GP04.phx.gbl...
>>C++/CLI is such a good language, with so much careful and intelligent
decisions made so that it is superior to C# in almost every way, that it
is sad to finally realize that Microsoft never had any plans for C++
developers to effectively compete with C# developers in the .Net world.
It was just a sop so that they could attract C++ developers and turn
them toward C#.


What's wrong with you? If you know only one programming language you are
a dinosaur. Use C++ when appropriate. Use C# when appropriate. Use other
languages when appropriate. Stop being anal. Get over it. Move on. Happy
Holidays.

I know C#, Java, and Python very well, thank you.

So it is absolutely normal to you that C++/CLI, despite being a version of
C++ expressly created for .Net programming, should not have the same
No, it is not!

It is designed expressly to bridge the gap between .NET and native code,
whether internal implementation of the BCL, advanced use of Win32 APIs, or
existing C++ libraries.

It does that very well. Any future improvements are focused on doing that
better (bridging generics with STL containers, etc).

End of story.
Dec 24 '07 #31
"Ben Voigt [C++ MVP]" <rb*@nospam.nos pamwrote in message
news:uS******** ******@TK2MSFTN GP05.phx.gbl...
>
No, it is not!

It is designed expressly to bridge the gap between .NET and native code,
That is the case now, but in fairness to Edward, that was not the stated
initial goal back in VS2005 timeframe. Back then, the goal was to be a
better language to develop .NET apps than C# (and they boasted about
superior compiler optimizations).

-- David
Dec 24 '07 #32
>What's the issue here. You simply check the docs or look at the class
>hierarchy itself. It's also a trivial issue to test for it in code if you
need to for some reason. That's usually not req'd though. In any case,
the
"using" statement is a trivial issue in the grand scheme of things. It
really only applies to objects holding unmanaged resources and it's no
reason to choose C++ over C#.

You think it's not an issue for us lazy programmers used to Intellisense
to
"check the docs or look at the class hierarchy itself"? ;) Come to think
of it, that would be a great Intellisense feature: draw a red squiggly
underneath a declaration of an IDiposable class that does not have a
'using'
statement. David L - want to fill out a Connect request for this?
(You're
the Connect King).... ;)
This has nothing to do with "guesswork" which is the focus of this
particular thread. And yes you should check the docs before using anything.
You don't rely on code to officially establish things. A compiler warning
would also be a more realistic alternative here (in addition to whatever
visual cues may be possible) since a "using" statement isn't mandatory or
even necessarily called in the same function where you create the object.
Dec 24 '07 #33
Ben Voigt [C++ MVP] wrote:
"Edward Diener" <ed************ *******@tropics oft.comwrote in message
news:uH******** ******@TK2MSFTN GP04.phx.gbl...
>Tom Walker wrote:
>>"Edward Diener" <ed************ *******@tropics oft.comwrote in message
news:OU****** *******@TK2MSFT NGP04.phx.gbl.. .
C++/CLI is such a good language, with so much careful and intelligent
decisions made so that it is superior to C# in almost every way, that it
is sad to finally realize that Microsoft never had any plans for C++
developers to effectively compete with C# developers in the .Net world.
It was just a sop so that they could attract C++ developers and turn
them toward C#.

What's wrong with you? If you know only one programming language you are
a dinosaur. Use C++ when appropriate. Use C# when appropriate. Use other
languages when appropriate. Stop being anal. Get over it. Move on. Happy
Holidays.
I know C#, Java, and Python very well, thank you.

So it is absolutely normal to you that C++/CLI, despite being a version of
C++ expressly created for .Net programming, should not have the same

No, it is not!

It is designed expressly to bridge the gap between .NET and native code,
whether internal implementation of the BCL, advanced use of Win32 APIs, or
existing C++ libraries.

It does that very well. Any future improvements are focused on doing that
better (bridging generics with STL containers, etc).

End of story.
How nicely to just "end the story" once technology is redefined to your
own ends. There was never the slightest talk of C++/CLI being designed
simply to bridge the gap between .NET and native code ( by which I have
to assume you mean the native Windows API ) and it is nonsense to
interpret it that way since .Net interop also does the exact same thing.

There was a great deal of talk and hype and promotion, especially by
Herb Sutter, but also by Stan Lippman, of C++/CLI being a language for
C++ programmers to access the .Net framework, with the unspoken
assumption that the VC++ team would make sure that C++ programmers would
have the same facilities to do so as any other .Net language else why
should C++ programmers bother to learn and use it.

That lie has now been exposed in the latest VS 2008 release and by the
remarks of members of the VC++ team and now we find out that C++/CLI,
all of a sudden, was never meant to be a first class language to access
..Net.

In the face of the sudden change of direction for C++/CLI it is
fruitless to continue it for mainstream .Net programming. I will
continue to use VC++ for native Windows programming tasks, as I do at my
job, but there is no question that using C++/CLI for .Net programming is
now largely a wasted task.

I have already used previously a C++ extended language which was treated
as a second class programming language in another RAD environment and I
do not tend to do so again.
Dec 24 '07 #34

"Edward Diener" <ed************ *******@tropics oft.comwrote in message
news:ua******** ******@TK2MSFTN GP03.phx.gbl...
Ben Voigt [C++ MVP] wrote:
>"Edward Diener" <ed************ *******@tropics oft.comwrote in message
news:uH******* *******@TK2MSFT NGP04.phx.gbl.. .
>>Tom Walker wrote:
"Edward Diener" <ed************ *******@tropics oft.comwrote in message
news:OU***** ********@TK2MSF TNGP04.phx.gbl. ..
C++/CLI is such a good language, with so much careful and intelligent
decisions made so that it is superior to C# in almost every way, that
it is sad to finally realize that Microsoft never had any plans for
C++ developers to effectively compete with C# developers in the .Net
world. It was just a sop so that they could attract C++ developers and
turn them toward C#.

What's wrong with you? If you know only one programming language you
are a dinosaur. Use C++ when appropriate. Use C# when appropriate. Use
other languages when appropriate. Stop being anal. Get over it. Move
on. Happy Holidays.

I know C#, Java, and Python very well, thank you.

So it is absolutely normal to you that C++/CLI, despite being a version
of C++ expressly created for .Net programming, should not have the same

No, it is not!

It is designed expressly to bridge the gap between .NET and native code,
whether internal implementation of the BCL, advanced use of Win32 APIs,
or existing C++ libraries.

It does that very well. Any future improvements are focused on doing
that better (bridging generics with STL containers, etc).

End of story.

How nicely to just "end the story" once technology is redefined to your
own ends. There was never the slightest talk of C++/CLI being designed
simply to bridge the gap between .NET and native code ( by which I have to
assume you mean the native Windows API ) and it is nonsense to interpret
it that way since .Net interop also does the exact same thing.
I do not just mean the native Windows API, although that's a substantial
value. Also, .NET interop may be the underlying layer (unless compiling
with /clr and not /clr:pure) but only the C++/CLI compiler brings you
interop in a usable package. And C++/CLI is the only way to go if you need
mixed-mode, p/invoke simply cannot interop with a non-COM C++ library.
>
There was a great deal of talk and hype and promotion, especially by Herb
Sutter, but also by Stan Lippman, of C++/CLI being a language for C++
programmers to access the .Net framework, with the unspoken assumption
that the VC++ team would make sure that C++ programmers would have the
same facilities to do so as any other .Net language else why should C++
programmers bother to learn and use it.

That lie has now been exposed in the latest VS 2008 release and by the
remarks of members of the VC++ team and now we find out that C++/CLI, all
of a sudden, was never meant to be a first class language to access .Net.

As I understood it, it was hyped for library development, for extending the
MS-provided framework. It excels at that.
In the face of the sudden change of direction for C++/CLI it is fruitless
to continue it for mainstream .Net programming. I will continue to use
VC++ for native Windows programming tasks, as I do at my job, but there is
no question that using C++/CLI for .Net programming is now largely a
wasted task.

I have already used previously a C++ extended language which was treated
as a second class programming language in another RAD environment and I do
not tend to do so again.

Dec 24 '07 #35
>Nonsense. Who uses C# to complement C++. It's the other way around and
>only then to deal with legacy code and gaps in the framework. Outside of
this the two languages do in fact compete.

I do. I use C++/CLI for low-level device interactions, and C# for GUI
development and accessibility to other programmers. They complement each
other well.
You're using the term "complement " very loosely however. I could just as
well say that VB complements C++ on the GUI side. The real issue for me
however is the very presence of two languages. It makes the entire process
of developing software inherently more complicated and expensive.
Dec 24 '07 #36

"Larry Smith" <no_spam@_nospa m.comwrote in message
news:eI******** ******@TK2MSFTN GP05.phx.gbl...
>>Nonsense. Who uses C# to complement C++. It's the other way around and
only then to deal with legacy code and gaps in the framework. Outside of
this the two languages do in fact compete.

I do. I use C++/CLI for low-level device interactions, and C# for GUI
development and accessibility to other programmers. They complement each
other well.

You're using the term "complement " very loosely however. I could just as
well say that VB complements C++ on the GUI side. The real issue for me
however is the very presence of two languages. It makes the entire process
of developing software inherently more complicated and expensive.
I respectfully disagree. It's quite useful to have tailored languages to
particular tasks, as long as the integration effort is low. Just because a
program needs to call some library that must be implemented with assembly
language (like Interlocked* functions), should the entire program be forced
into assembler? Of course not. regexes in C++ are ugly, much better to
use perl for that. Child process automation in C++ is ugly, much better to
use tcl/expect for that.

C++/CLI is a quantum leap forward in this respect because it exposes the
native power of raw C and assembler to a managed environment, and it does so
*easily*. Compare the effort needed to make a .NET component in C++/CLI vs
creating a Java JNI, TCL extension, Perl binary module, etc in C or C++.
I've heard Lua and Ruby are the other high level language that integrates
very well with C, and I doubt even they make it as trivial as C++/CLI.

For example:

void asmbreak( void )
{
__asm int 3;
}

public ref class Fragile
{
public:
static void BreakMe() { asmbreak(); }
};

What's that, under 30 tokens (not counting the assembly itself) to make any
assembler code available to a C# or VB.NET or JS.NET or F# or Eiffel.NET
program?
Dec 24 '07 #37
It's quite useful to have tailored languages to particular tasks, as long
as the integration effort is low
Integration is a secondary concern. The complexity of supporting two large
and complicated languages like C# and C++ is your main concern. Now you need
expertise on your staff not only in two languages, but two platforms
(managed and unmanaged). This creates serious problems on various fronts.
One language, one platform. Life is now so much more simple. If the gaps
were closed between .NET and the WinAPI then this could be a reality. You
would then need to turn to another language/platform only when necessity
truly demands it. In practice that would almost be never (for most
organizations anyway).
Dec 24 '07 #38
>Good point that we don't really know for sure. But say the reason were to
>tie us to a proprietary language/OS. They could do that by creating a
Borland C++Builder-like environment which is native and still proprietary.
There'd be less of a tie in because it would have to interface
seamlessly with standard C/C++ code - like C++/CLI does :)
>So locking us into a proprietary environment alone does not explain why they
pushed managed.
It won't be the whole story, there will be grains of truth in all
arguments we get to hear - and the ones we don't hear.

Merry Christmas
Dave
Dec 24 '07 #39
>From our point of view, the company's neglect has contributed, but I still
>think you are missing something huge: if the marketplace had been more
receptive, the company would not have neglected it.
That assumes that MS listen to all their customers - they've recently
discovered (with the renewed interest in native VC++) that they
haven't been listening to all their customers... though I suspect the
situation is more that they haven't *heard* from all their customers!

The segment of their customers who use native C++ probably don't
attend the marketing shindigs (TechEd/MSDN events) that's the normal
capture for those gigs.

Merry Christmas
Dave
Dec 24 '07 #40

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
1999
by: Homer | last post by:
Hi All, In my work place we are still using VS6.00 with C++ and are not allowed to use a newer version (to connect to source control). We also use ClearCase as source control software. What I did was to install VS 2008 Beta 1 on my machine and made a copy of my source directory to use VS2008 with it. I want to use VS2008 only as my editor and don't want to check-in/check-out with it (since my company doesn't like it). When I open my...
6
1388
by: =?Utf-8?B?RGlwZXNoX1NoYXJtYQ==?= | last post by:
Hi all, I am porting an code written in VC++ to VC.Net to make it manage. But in Managed VC we dont use "const" keyboard at all. but my code is using it very frequently, so is their any alternative to it or we have to remove the "const" keyword from our code completely. Please suggest me the solution. Secondly i am getting one error as:: error C4439: 'function_name' : function definition with a managed type in the signature must have a...
9
1945
by: =?Utf-8?B?UmFqZXNoYXowOQ==?= | last post by:
I heared that microsoft give technical support to vb upto this year end. Can any one microsoft stops techinical support for vc++(6.0)? was microsoft announced any official date?
9
1852
by: =?Utf-8?B?S3VlaXNoaW9uZyBUdQ==?= | last post by:
What is the difference between the regular VC++ edition and the VC++ express edition? If there is not too much difference in functionality, why the express edition is free?
20
2898
by: Iouri | last post by:
Hi everybody, We are currently using VS2003 and now we are in the porcess of upgrading to the next Visual Studio version. Does somebody have a real life experience with VS2008? My boss wants to go with VS2005 and I am trying to convince to buy VS2008. Can somebody provide links to compare 2 products in terms of how stable they are. I do not need VS2008 new features, I need to prove to my management that VS2008 is a stable product. TIA
2
2444
by: Academia | last post by:
I have vs2005 installed on the System disk and vs2008 installed on a different disk. I want to remove VS2005. I read one time about some problem with uninstalling vs2005 after vs2008 is installed but can't find the site now. Is there a problem? Would reinstalling vs2008 fix any problem that may occur because of uninstalling vs2005.
2
1765
by: goo.one1 | last post by:
Hi All, I'm looking for info on how to port VC++ 6 code/projects to VC++ 9 (2008). I noticed that there is a converter built-in for Visual *BASIC* to convert from VS6 to 9... I have found the following brief note:
6
2696
by: =?Utf-8?B?S3VlaXNoaW9uZyBUdQ==?= | last post by:
I want to create a sound to alert the user when some event occurs. How do I do it from my VC++ .NET window form program?
3
5806
by: =?Utf-8?B?SmFtZXMgV29uZw==?= | last post by:
Hi everybody, There is a fatal error while installing VS2008 SP1 on Vista 64bit Business edition. The last line of error log is Installation failed with error code: (0x80070643) I tried to uninstall Silverlight first (which is described in some blogs) and install .NET framework 3.5 SP1 manually but still failed. My VS2008 is Team Suit for developer and Vista SP1 is also installed.
0
9669
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10427
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10207
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10155
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9029
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7537
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5559
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3718
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2916
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.