473,385 Members | 1,387 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

C++.NET vs.C++ (traditional)

I'm curious to know if C++.NET produced a smaller & faster (performance
wise) executeable. I don't know too much about C++ and I'm only starting to
pick it up now, but given that I'm doing a lot of development with VB.NET &
C# I was going to migrate to C++.NET. As I understand it, traditional C++
compiles to a more effient binary which seem to out-perform most if not all
binaries produced by C# or VB.NET.

1. If .NET is an intermediate language, then how does C++.NET fit into the
big picture?

2. Does C++.NET strictly use the .NET framework or can it use
traditional/standard C++ templates and libraries?

3. Will I see any performance gain if I decide to port an application from
VB.NET/C# to C++.NET?

I know there are a lot of really talented developers out there who could
shed some light on this, I would greatly apprecaite it!

--
Message posted via http://www.dotnetmonster.com
Nov 21 '05 #1
3 4978
Chris,

This is a myth.

The less cycles a program use to fulfil a problem the faster it is.

That can be by a C++ program easier be realized for small programs than for
programs who use a lot of methods which uses methods which uses methods.

However when it becomes a big program than the C++ program than the change
is that it becomes much slower.

The reason is than that because the programmer has to make all his program
logic by himself, that will be probably less efficient done than in programs
where a lot of classes (logic) are distributed with the language.

DotNet has an endless amount of classes and it is efficient to use them.
There are two ways to use C++ with VSNet. One is as a dotNet program
(managed code) and one is classic (unmanaged code).

However is there a part in your program that is a key part that needs
absolute speed, than it can be efficient to do it in C++ and than go around
by instance all inbuilt safety.

An example is for me in that 3D game programs, where there are part which
really depend on the most shortest way (the most less cycles) to gain a
goal.

However by instance painting the forms on screen when you don't use drawing
in dotNet is done by the OS itself, so interfering in this will give you
probably not much advantage. 3D game programs don't AFAIK seldom use forms
or are (when they are in that mode) slow.

I hope this gives an idea.

Cor
Nov 21 '05 #2
"Chris Murphy via DotNetMonster.com" <fo***@DotNetMonster.com> schrieb:
I'm curious to know if C++.NET produced a smaller & faster (performance
wise) executeable. I don't know too much about C++ and I'm only starting
to
pick it up now, but given that I'm doing a lot of development with VB.NET
&
C# I was going to migrate to C++.NET. As I understand it, traditional C++
compiles to a more effient binary which seem to out-perform most if not
all
binaries produced by C# or VB.NET.
Managed C++ is not primarily intended for development of "new" applications.
Its advantages lie in the ability to be combined seamlessly with "old" C++
code (interoperability with COM etc.). Managed C++'s runtime
characteristics are similar to those of VB.NET and C#.
1. If .NET is an intermediate language, then how does C++.NET fit into the
big picture?
C++.NET consists of a "managed" and an "unmanaged" part. The unmanaged part
is the traditional C++, the managed extensions are similar to VB.NET/C#, but
MC++ has a really ugly syntax compared to VB.NET/C#.
2. Does C++.NET strictly use the .NET framework or can it use
traditional/standard C++ templates and libraries?
Still, traditional C++ can be used, but it's not executed as managed code.
3. Will I see any performance gain if I decide to port an application from
VB.NET/C# to C++.NET?


I would say "no". Unmanaged code (traditional C++) is better suitable for
realtime applications, but you loose the advantage of a managed execution
environment.

To make a conclusion, I don't recommend to "migrate" code written in
VB.NET/C# to MC++. On the one hand, it's a lot of work, and there are no
benefits of this migration. What you can do is keeping the VB.NET/C# code
and putting it into class libraries, and use these class libraries in your
MC++ project.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Nov 21 '05 #3
Thanks for the clarification. I think I'll stick to VB.NET and C# for the
time being, though I will pick up C++ since I'm sure I'll enjoy the
challenge. All of the insights and suggestions were great, I'm starting to
get a better grasp of the range of .NET and it's collection of languages.

--
Message posted via http://www.dotnetmonster.com
Nov 21 '05 #4

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

Similar topics

5
by: Suzanne Vogel | last post by:
** Isn't the 'static_cast' operator the same as traditional type casting? ie, Aren't the following ways of getting b1, b2 the same? // 'Derived' is derived from 'Base' Derived* d = new...
1
by: bjwang | last post by:
Hello wisers, We are testing a system which is developed on top of Oracle 9iAS. The client PCs are using Internet Explorer to access the system. We are sure that the Oracle 9i database server is...
6
by: Robert J. O'Hara | last post by:
I'm one of those people who practices what some consider "dull" and others consider "elegantly conservative" page design. I appreciate good traditional typography and standards-compliant liquid...
0
by: phendryx | last post by:
Heres the info: We have a charting control we use in traditional ASP and it is causing division by 0 errors that the control maker can't figure out. So we need to replace it. There is a good,...
0
by: | last post by:
I have an application that I'm converting from traditional ASP to asp.net, using visual basic to code with. the line it doesn't like is: "If (sData(rownumber, lcnt) = sData(rownumber - 1,...
1
by: Fred | last post by:
I am trying to convert an existing COBOL app from using exclusively tradional I-O (READ verb) to using a mix of traditional and and SQL. Please don't ask why, my question is conceptual. After...
0
by: djbclark | last post by:
Is there a clean way to build Python under a non-traditional path, linking with other software that is under non-traditional paths, on unix? I maintain a build of Python that is part of a...
7
by: =?Utf-8?B?Q2hha3JhdmFydGh5?= | last post by:
Today, after watching the presentation by Amanda Silver at http://channel9.msdn.com/Showpost.aspx?postid=335058 , from Channel 9, started exploring the LINQ features. Surprisingly, few facts...
8
by: Michael Rempel | last post by:
I have a site developed in traditional ASP that need significant work. I got a copy of VS2005 because I was told it supported traditional ASP, but I am having a good deal of trouble setting it up...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

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.