<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: C++ vs. C# - a Checklist from a C++ Programmers Point of View</title>
	<atom:link href="http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/</link>
	<description>A Blog on Parallel Programming and Concurrency by Michael Suess</description>
	<pubDate>Sat, 13 Mar 2010 20:50:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Haridas Pal</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98488</link>
		<dc:creator>Haridas Pal</dc:creator>
		<pubDate>Tue, 09 Mar 2010 10:40:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98488</guid>
		<description>:mrgreen:  :neutral:  :twisted:  :arrow:  :shock:  :smile:  :???:  :cool:  :evil:  :grin:  :idea:  :oops:  :razz:  :roll:  :wink:  :cry:  :eek:  :lol:  :mad:  :sad:  :!:  :?:</description>
		<content:encoded><![CDATA[<p> <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_mrgreen.gif' alt=':mrgreen:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_neutral.gif' alt=':neutral:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_arrow.gif' alt=':arrow:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_eek.gif' alt=':shock:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_smile.gif' alt=':smile:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_confused.gif' alt=':???:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_cool.gif' alt=':cool:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_evil.gif' alt=':evil:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':grin:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_idea.gif' alt=':idea:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_redface.gif' alt=':oops:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_razz.gif' alt=':razz:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_rolleyes.gif' alt=':roll:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_wink.gif' alt=':wink:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_cry.gif' alt=':cry:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_surprised.gif' alt=':eek:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_lol.gif' alt=':lol:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_mad.gif' alt=':mad:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_sad.gif' alt=':sad:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_question.gif' alt=':?:' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Savan</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98456</link>
		<dc:creator>Savan</dc:creator>
		<pubDate>Tue, 23 Feb 2010 21:46:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98456</guid>
		<description>:cool:  :grin:  :evil:  :mrgreen:  :neutral:</description>
		<content:encoded><![CDATA[<p> <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_cool.gif' alt=':cool:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':grin:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_evil.gif' alt=':evil:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_mrgreen.gif' alt=':mrgreen:' class='wp-smiley' />  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_neutral.gif' alt=':neutral:' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98441</link>
		<dc:creator>Eric</dc:creator>
		<pubDate>Sun, 14 Feb 2010 07:19:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98441</guid>
		<description>In reply to Bicubic, I agree about the cost/benefit factors.  As someone who has developed software in C++ for a while, C# seems better at letting the developer be more productive than C++.  I'm also a younger developer who has been working in the industry, but not for too long.

However, I think there are perfectly valid reasons why C++ would be chosen as a development language.  I suppose one reason is actually why you wouldn't want to choose C#: C# is a proprietary language, created by Microsoft, and Microsoft has no interest in developing a C# compiler and .NET runtime for platforms other than Windows.  3rd-party .NET implementations do exist for other platforms - the most prevalent being Mono - but Mono tends to be a step or two behind Microsoft's implementation, and there is a chance that Microsoft could do something (legally or technologically) to impair 3rd-party implementations from being developed.  This is in contrast to Java, where Sun develops the runtime for most platforms currently available.  C++, on the other hand, is an open language, and compilers exist for almost all platforms.

Also, I have heard that even in C#/.NET projects, C++ is used where performance is very important.  C and C++ also seem more common on devices with limited RAM and storage space, although I've heard of C#/.NET for those devices as well.

I suppose the thing that makes me hesitate most about C# is that it's most strongly tied to Microsoft and Windows.  If a company wants to develop software only for Windows, that's fine, but sometimes it can be important to consider making your software available for other platforms as well too.  That's just another cost/benefit ratio to consider though: You have to consider your customers (or potential customers) and try to decide how much money the company could make by making the software just for Windows or also for Linux/Mac too.</description>
		<content:encoded><![CDATA[<p>In reply to Bicubic, I agree about the cost/benefit factors.  As someone who has developed software in C++ for a while, C# seems better at letting the developer be more productive than C++.  I&#8217;m also a younger developer who has been working in the industry, but not for too long.</p>
<p>However, I think there are perfectly valid reasons why C++ would be chosen as a development language.  I suppose one reason is actually why you wouldn&#8217;t want to choose C#: C# is a proprietary language, created by Microsoft, and Microsoft has no interest in developing a C# compiler and .NET runtime for platforms other than Windows.  3rd-party .NET implementations do exist for other platforms - the most prevalent being Mono - but Mono tends to be a step or two behind Microsoft&#8217;s implementation, and there is a chance that Microsoft could do something (legally or technologically) to impair 3rd-party implementations from being developed.  This is in contrast to Java, where Sun develops the runtime for most platforms currently available.  C++, on the other hand, is an open language, and compilers exist for almost all platforms.</p>
<p>Also, I have heard that even in C#/.NET projects, C++ is used where performance is very important.  C and C++ also seem more common on devices with limited RAM and storage space, although I&#8217;ve heard of C#/.NET for those devices as well.</p>
<p>I suppose the thing that makes me hesitate most about C# is that it&#8217;s most strongly tied to Microsoft and Windows.  If a company wants to develop software only for Windows, that&#8217;s fine, but sometimes it can be important to consider making your software available for other platforms as well too.  That&#8217;s just another cost/benefit ratio to consider though: You have to consider your customers (or potential customers) and try to decide how much money the company could make by making the software just for Windows or also for Linux/Mac too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rhonald Moses</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98440</link>
		<dc:creator>Rhonald Moses</dc:creator>
		<pubDate>Sun, 14 Feb 2010 02:17:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98440</guid>
		<description>Sorry mate! I don't buy everything [except the part that benchmarks are waste]. Except Business; I don't see C# being used 'much' in other fields and definitely not in Media [AutoCad, Maya all are in C++] and Engineering [C has upper hand here still].

For Business and Business automation; yep C# has reasonable penetration. But when it comes to Web, PHP still rules the world dude.</description>
		<content:encoded><![CDATA[<p>Sorry mate! I don&#8217;t buy everything [except the part that benchmarks are waste]. Except Business; I don&#8217;t see C# being used &#8216;much&#8217; in other fields and definitely not in Media [AutoCad, Maya all are in C++] and Engineering [C has upper hand here still].</p>
<p>For Business and Business automation; yep C# has reasonable penetration. But when it comes to Web, PHP still rules the world dude.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bicubic</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98439</link>
		<dc:creator>Bicubic</dc:creator>
		<pubDate>Sun, 14 Feb 2010 01:54:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98439</guid>
		<description>I think most people who say they're "done benchmarks" and found C# "x times slower" don't actually work in the real world.  Starting with the fact that neither C++ nor C# have any intrinsic speed. That's determined by the libraries, the compiler and the architecture its compiling for.

There's only a small handful of real world scenarios in which these artificial benchmarks have even remote relevance to what you will actually be doing. Unless you're writing quake 5 or a number crunching supercomputer client app, there aren't many other cases where you will feel and perf loss between native and managed code. Funnily enough, C# is being trialed for cluster computing and has been found to have surprisingly little overhead.

Getting back to the real world, most applications written are fairly lax on perf and heavy on gui and logic. Most businesses that write them focus on the best cost/benefit value and realize that writing managed code is considerably faster and more maintainable than something like C++.

While working in the industry as a younger programmer, I found that many businesses still tend to avoid .net languages because their senior 'old school' programmers 'hate' the language without actually having written a single line of code in it. And I am very glad to see that as the number of younger programmers increases in the workplace, we are shifting that opinion towards objectivity and away from religious 'i want to know what the cpu is doing' crap. In 9 cases out of 10, C# is a better language choice for solutions in business, engineering, automation, media, data handling, etc applications; simply because you're going to spend a fraction of dev time creating code to do the same things, if nothing else.</description>
		<content:encoded><![CDATA[<p>I think most people who say they&#8217;re &#8220;done benchmarks&#8221; and found C# &#8220;x times slower&#8221; don&#8217;t actually work in the real world.  Starting with the fact that neither C++ nor C# have any intrinsic speed. That&#8217;s determined by the libraries, the compiler and the architecture its compiling for.</p>
<p>There&#8217;s only a small handful of real world scenarios in which these artificial benchmarks have even remote relevance to what you will actually be doing. Unless you&#8217;re writing quake 5 or a number crunching supercomputer client app, there aren&#8217;t many other cases where you will feel and perf loss between native and managed code. Funnily enough, C# is being trialed for cluster computing and has been found to have surprisingly little overhead.</p>
<p>Getting back to the real world, most applications written are fairly lax on perf and heavy on gui and logic. Most businesses that write them focus on the best cost/benefit value and realize that writing managed code is considerably faster and more maintainable than something like C++.</p>
<p>While working in the industry as a younger programmer, I found that many businesses still tend to avoid .net languages because their senior &#8216;old school&#8217; programmers &#8216;hate&#8217; the language without actually having written a single line of code in it. And I am very glad to see that as the number of younger programmers increases in the workplace, we are shifting that opinion towards objectivity and away from religious &#8216;i want to know what the cpu is doing&#8217; crap. In 9 cases out of 10, C# is a better language choice for solutions in business, engineering, automation, media, data handling, etc applications; simply because you&#8217;re going to spend a fraction of dev time creating code to do the same things, if nothing else.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rhonald Moses</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98433</link>
		<dc:creator>Rhonald Moses</dc:creator>
		<pubDate>Fri, 05 Feb 2010 03:32:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98433</guid>
		<description>For scientific calculations C++ will fare well; but FORTRAN is the best. You can actually build modules in FORTRAN and include them in C/C++.</description>
		<content:encoded><![CDATA[<p>For scientific calculations C++ will fare well; but FORTRAN is the best. You can actually build modules in FORTRAN and include them in C/C++.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98432</link>
		<dc:creator>Eric</dc:creator>
		<pubDate>Fri, 05 Feb 2010 00:37:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98432</guid>
		<description>For massive scientific calculations, I'm not sure either language would be better.  However, one thing I think is nice about C# is that it includes a decimal numeric type, which does math in base-10 rather than base-2 so that you don't get binary roundoff error.  I know that numeric precision (i.e., significant figures) is important in doing scientific calculations, so that could be a plus for C#.  There are base-10 numeric libraries available for C and C++, but some cost money and some can only be used in Linux or only on Windows, etc.</description>
		<content:encoded><![CDATA[<p>For massive scientific calculations, I&#8217;m not sure either language would be better.  However, one thing I think is nice about C# is that it includes a decimal numeric type, which does math in base-10 rather than base-2 so that you don&#8217;t get binary roundoff error.  I know that numeric precision (i.e., significant figures) is important in doing scientific calculations, so that could be a plus for C#.  There are base-10 numeric libraries available for C and C++, but some cost money and some can only be used in Linux or only on Windows, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yan Frieston</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98431</link>
		<dc:creator>Yan Frieston</dc:creator>
		<pubDate>Fri, 05 Feb 2010 00:33:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98431</guid>
		<description>Which is better in terms of massive scientific calculations? Please give help!

Many thanks</description>
		<content:encoded><![CDATA[<p>Which is better in terms of massive scientific calculations? Please give help!</p>
<p>Many thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98401</link>
		<dc:creator>Eric</dc:creator>
		<pubDate>Wed, 20 Jan 2010 03:11:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98401</guid>
		<description>I think C++ and C# both have their merits.  Compared to C++, I think C# has features that can help a developer be more productive for many things, but C++ is still required in situations where you need to do more low-level tasks or tasks that are more speed-sensitive or timing-sensitive (somewhat analagous to writing in C++ vs. assembly code).

Not long ago, I read that Microsoft may phase out Managed C++.  Does anyone know if that's true?  I certainly hope not - Managed C++ provides the bridge from C#/.NET to C++ and legacy code.  I imagine there are many useful libraries and pieces of code written in C++ that would not be accessible from C# were it not for Managed C++.  Also, a company might have its own C/C++ codebase that it might want to re-use in C# (via Managed C++) rather than spending time (and money) re-writing it in C#.</description>
		<content:encoded><![CDATA[<p>I think C++ and C# both have their merits.  Compared to C++, I think C# has features that can help a developer be more productive for many things, but C++ is still required in situations where you need to do more low-level tasks or tasks that are more speed-sensitive or timing-sensitive (somewhat analagous to writing in C++ vs. assembly code).</p>
<p>Not long ago, I read that Microsoft may phase out Managed C++.  Does anyone know if that&#8217;s true?  I certainly hope not - Managed C++ provides the bridge from C#/.NET to C++ and legacy code.  I imagine there are many useful libraries and pieces of code written in C++ that would not be accessible from C# were it not for Managed C++.  Also, a company might have its own C/C++ codebase that it might want to re-use in C# (via Managed C++) rather than spending time (and money) re-writing it in C#.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rhonald Moses</title>
		<link>http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/comment-page-2/#comment-98400</link>
		<dc:creator>Rhonald Moses</dc:creator>
		<pubDate>Wed, 20 Jan 2010 02:48:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/#comment-98400</guid>
		<description>I see that even after 2 and half years, this thread is alive :-)

In short; C++ is a good language which can be used only by people who knows programming and can take responsibility in what they do. I love it because it does not come in between and let you do what you'd like to do; either good or bad.

C# is designed to pull Java developers mainly emulating already familiar C/C++ syntaxes. It limits the language usage by taking care most of things [I personally don't require Garbage Collector] that normally is the responsibility of the coder himself. Also it has made the programmers lazy. But still it's a good language.

I am amazed by the way C++ still standing amidst all wanna be best languages. Even now, most of the high intensive applications uses C++ [AutoCad, Maya for example].

So, if you are planning something that require to operate at hardware level as well as high level and cross-platform, then go for C++. Otherwise, it's better you go to some managed languages.</description>
		<content:encoded><![CDATA[<p>I see that even after 2 and half years, this thread is alive <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>In short; C++ is a good language which can be used only by people who knows programming and can take responsibility in what they do. I love it because it does not come in between and let you do what you&#8217;d like to do; either good or bad.</p>
<p>C# is designed to pull Java developers mainly emulating already familiar C/C++ syntaxes. It limits the language usage by taking care most of things [I personally don't require Garbage Collector] that normally is the responsibility of the coder himself. Also it has made the programmers lazy. But still it&#8217;s a good language.</p>
<p>I am amazed by the way C++ still standing amidst all wanna be best languages. Even now, most of the high intensive applications uses C++ [AutoCad, Maya for example].</p>
<p>So, if you are planning something that require to operate at hardware level as well as high level and cross-platform, then go for C++. Otherwise, it&#8217;s better you go to some managed languages.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
