<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Why you need to know C++</title>
	<atom:link href="http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/feed/" rel="self" type="application/rss+xml" />
	<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/</link>
	<description>Upgrading the software development process one reader at a time.</description>
	<lastBuildDate>Tue, 01 May 2012 06:08:29 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: jeewanthabandara</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-1356</link>
		<dc:creator><![CDATA[jeewanthabandara]]></dc:creator>
		<pubDate>Tue, 01 May 2012 06:08:29 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-1356</guid>
		<description><![CDATA[I totally agree with you. I learned c and c++ initially and still mastering c++ cos its my fav. It lets you get down and dirty with coding. It helps when you move to Java as well. Im telling this from first hand experience. Its easier when you know c or c++. They are the base for many languages and have great support online.]]></description>
		<content:encoded><![CDATA[<p>I totally agree with you. I learned c and c++ initially and still mastering c++ cos its my fav. It lets you get down and dirty with coding. It helps when you move to Java as well. Im telling this from first hand experience. Its easier when you know c or c++. They are the base for many languages and have great support online.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PhoenixMako</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-447</link>
		<dc:creator><![CDATA[PhoenixMako]]></dc:creator>
		<pubDate>Mon, 19 Oct 2009 04:34:22 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-447</guid>
		<description><![CDATA[I can see where you are coming from with this statement, however, keep in mind that C++ is not meant for you to learn and then in turn go work for IBM, Microsoft, or Sun Microsystems.  It is very, very important for one to know the concepts of the language in order to better understand the free flow of information.  I posed the exact same reluctance...buck up and learn it.  Once you are on the other side, you will see why C++ plays an important part in today&#039;s programming languages and programmers.  In counterpoint, I thought that I would never need to know the concepts of MS Excel but now that I have had to take Advanced Technical Physics and had to make charts and line graphs, I wish that I had paid as much attention to the concepts and flow as what I did in OOP class and Structured Programming classes.  So as a final point, keep this in mind.  You as well as all of us had to learn the MLA style of writing and doing essays.  Microsoft Word is awesome at correcting me still, however, it cannot think for me and this is why I still need what I learned in English..High School through Collegiate English.  Learn C++ front to back then tell us how much you hate it.  Thanks for making a good point.  Wish you well with your studies.]]></description>
		<content:encoded><![CDATA[<p>I can see where you are coming from with this statement, however, keep in mind that C++ is not meant for you to learn and then in turn go work for IBM, Microsoft, or Sun Microsystems.  It is very, very important for one to know the concepts of the language in order to better understand the free flow of information.  I posed the exact same reluctance&#8230;buck up and learn it.  Once you are on the other side, you will see why C++ plays an important part in today&#8217;s programming languages and programmers.  In counterpoint, I thought that I would never need to know the concepts of MS Excel but now that I have had to take Advanced Technical Physics and had to make charts and line graphs, I wish that I had paid as much attention to the concepts and flow as what I did in OOP class and Structured Programming classes.  So as a final point, keep this in mind.  You as well as all of us had to learn the MLA style of writing and doing essays.  Microsoft Word is awesome at correcting me still, however, it cannot think for me and this is why I still need what I learned in English..High School through Collegiate English.  Learn C++ front to back then tell us how much you hate it.  Thanks for making a good point.  Wish you well with your studies.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: What Programmers Should Be Learning in College &#171; Software++</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-76</link>
		<dc:creator><![CDATA[What Programmers Should Be Learning in College &#171; Software++]]></dc:creator>
		<pubDate>Thu, 04 Jun 2009 00:36:55 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-76</guid>
		<description><![CDATA[[...] Why you need to know&#160;C++  [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Why you need to know&nbsp;C++  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brice Richard</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-65</link>
		<dc:creator><![CDATA[Brice Richard]]></dc:creator>
		<pubDate>Tue, 26 May 2009 13:41:45 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-65</guid>
		<description><![CDATA[I completely DISAGREE with the notion that either C++ or C should be learned first before moving to other languages....I mean, if you start out learning those languages, fine.

But, I believe that in 10 years C and C++ will not be languages what will be an asset in the toolbox of developers....why&gt;? Because I believe that these languages MAY be viewed in the future as having too much flexibility that thwarts simplicity in design.

The languages I believe will be prevalent for developing with in the future are C#, F#, Matlab and VB.Net......and also oddly enough, VBA.....which I believe will be the new Cobol in 25 years......

I develop small-scale applications using VB.Net and VBA and the last thing I want to have to deal with is deeply profound memory issues......in my mind, I am glad to have an automated memory process for working with objects and variables.....which is the Garbage Collector......I don&#039;t want to have to deal with these issues......when the PARALLEL methods come out in the next version of VB/C# multithreading will be much easier to deal with as well......

If the CLR can be constructed to assist my programming efforts in these areas, why on earth should I be bothered with learning languages where I have to add another level of abstraction to the programming process by understanding memory constructs and multi-threading?

I think it comes with the evolution of a language.....as programming languages evolve, so too will the need to be less involved with the intimate processes that occur &quot;in the background&quot; of computer processing which are handled in an automated way...or at least in a way that requires MUCH LESS intervention by the developer.]]></description>
		<content:encoded><![CDATA[<p>I completely DISAGREE with the notion that either C++ or C should be learned first before moving to other languages&#8230;.I mean, if you start out learning those languages, fine.</p>
<p>But, I believe that in 10 years C and C++ will not be languages what will be an asset in the toolbox of developers&#8230;.why&gt;? Because I believe that these languages MAY be viewed in the future as having too much flexibility that thwarts simplicity in design.</p>
<p>The languages I believe will be prevalent for developing with in the future are C#, F#, Matlab and VB.Net&#8230;&#8230;and also oddly enough, VBA&#8230;..which I believe will be the new Cobol in 25 years&#8230;&#8230;</p>
<p>I develop small-scale applications using VB.Net and VBA and the last thing I want to have to deal with is deeply profound memory issues&#8230;&#8230;in my mind, I am glad to have an automated memory process for working with objects and variables&#8230;..which is the Garbage Collector&#8230;&#8230;I don&#8217;t want to have to deal with these issues&#8230;&#8230;when the PARALLEL methods come out in the next version of VB/C# multithreading will be much easier to deal with as well&#8230;&#8230;</p>
<p>If the CLR can be constructed to assist my programming efforts in these areas, why on earth should I be bothered with learning languages where I have to add another level of abstraction to the programming process by understanding memory constructs and multi-threading?</p>
<p>I think it comes with the evolution of a language&#8230;..as programming languages evolve, so too will the need to be less involved with the intimate processes that occur &#8220;in the background&#8221; of computer processing which are handled in an automated way&#8230;or at least in a way that requires MUCH LESS intervention by the developer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brooks Moses</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-51</link>
		<dc:creator><![CDATA[Brooks Moses]]></dc:creator>
		<pubDate>Sun, 17 May 2009 01:54:10 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-51</guid>
		<description><![CDATA[Indeed -- and, to be clear, I do agree with the message.

Mostly I was defending the assertion that nobody really understands C++ -- which I think is arguably true of the whole language, for most practical versions of &quot;nobody&quot;.  (I think there are a good number more people who can understand any given part of it with a minute or two of memory-refresher reading, though.)  The idea of what constitutes &quot;basic competency&quot; in a language with that many dark corners is a quite fuzzy one, and we could have an entertaining and entirely meaningless argument over a beer about it!

(Meanwhile, it occurs to me that FizzBuzz would be a really good practice problem for template metaprogramming.  Thank you for the implicit suggestion there!)]]></description>
		<content:encoded><![CDATA[<p>Indeed &#8212; and, to be clear, I do agree with the message.</p>
<p>Mostly I was defending the assertion that nobody really understands C++ &#8212; which I think is arguably true of the whole language, for most practical versions of &#8220;nobody&#8221;.  (I think there are a good number more people who can understand any given part of it with a minute or two of memory-refresher reading, though.)  The idea of what constitutes &#8220;basic competency&#8221; in a language with that many dark corners is a quite fuzzy one, and we could have an entertaining and entirely meaningless argument over a beer about it!</p>
<p>(Meanwhile, it occurs to me that FizzBuzz would be a really good practice problem for template metaprogramming.  Thank you for the implicit suggestion there!)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: johnfx</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-47</link>
		<dc:creator><![CDATA[johnfx]]></dc:creator>
		<pubDate>Fri, 15 May 2009 21:42:24 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-47</guid>
		<description><![CDATA[Technically I said &quot;&lt;strong&gt;basic &lt;/strong&gt;competency&quot;, but I&#039;d be willing to retreat back to &quot;VERY basic competency&quot;, although I thought that I had implied that by fundamentally saying that you just needed to be conversant enough to solve FizzBuzz implement a very simple example of OOP using polymorphism. 

Of course you&#039;d need to be better versed in the more advanced features of C++ beyond OOP if you are going to work in it on a regular basis. My message here is essentially &quot;Even if you plan to be a VB, C#, Java Programmer it will help you to be a better programmer if you aren&#039;t completely C++ illiterate.&quot;

That said, your points are very well taken, thanks for your response.]]></description>
		<content:encoded><![CDATA[<p>Technically I said &#8220;<strong>basic </strong>competency&#8221;, but I&#8217;d be willing to retreat back to &#8220;VERY basic competency&#8221;, although I thought that I had implied that by fundamentally saying that you just needed to be conversant enough to solve FizzBuzz implement a very simple example of OOP using polymorphism. </p>
<p>Of course you&#8217;d need to be better versed in the more advanced features of C++ beyond OOP if you are going to work in it on a regular basis. My message here is essentially &#8220;Even if you plan to be a VB, C#, Java Programmer it will help you to be a better programmer if you aren&#8217;t completely C++ illiterate.&#8221;</p>
<p>That said, your points are very well taken, thanks for your response.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brooks Moses</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-46</link>
		<dc:creator><![CDATA[Brooks Moses]]></dc:creator>
		<pubDate>Fri, 15 May 2009 21:13:49 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-46</guid>
		<description><![CDATA[C++ is a lot more than C with OOP, though.  What are your opinions on template meta-programming?

I would think that a &quot;competency in C++&quot; (as opposed to a competency in a subset of C++) would require at least having a reasonable understanding of the concepts behind such meta-programming, such as how one constructs &quot;empty&quot; types and then uses them to pass information for making (arbitrarily complicated) compile-time decisions.  But this is not even mentioned in Stroustrop&#039;s big book on C++; one needs to get to specialized books on C++ template programming to get any explanation of it.]]></description>
		<content:encoded><![CDATA[<p>C++ is a lot more than C with OOP, though.  What are your opinions on template meta-programming?</p>
<p>I would think that a &#8220;competency in C++&#8221; (as opposed to a competency in a subset of C++) would require at least having a reasonable understanding of the concepts behind such meta-programming, such as how one constructs &#8220;empty&#8221; types and then uses them to pass information for making (arbitrarily complicated) compile-time decisions.  But this is not even mentioned in Stroustrop&#8217;s big book on C++; one needs to get to specialized books on C++ template programming to get any explanation of it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: johnfx</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-45</link>
		<dc:creator><![CDATA[johnfx]]></dc:creator>
		<pubDate>Fri, 15 May 2009 19:44:54 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-45</guid>
		<description><![CDATA[I&#039;m quite sure that I know the difference. I have programmed in both of them at one time or another. However, I think the assertion that C++ is a monstrous language that no one understands is a bit of an exaggeration. 

In any event, I think that&#039;s a moot point. I am advocating only a basic competency in the language, not a memorization of the entire STL. I am just raising the bar a little by specifying C++ because I think that understanding OOP syntax is a critical skill for today&#039;s programmers.  

PS: I appreciate your input, even if we might disagree. A key reasons I started this blog was to create some meaningful discussion on some core aspects of programming.]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m quite sure that I know the difference. I have programmed in both of them at one time or another. However, I think the assertion that C++ is a monstrous language that no one understands is a bit of an exaggeration. </p>
<p>In any event, I think that&#8217;s a moot point. I am advocating only a basic competency in the language, not a memorization of the entire STL. I am just raising the bar a little by specifying C++ because I think that understanding OOP syntax is a critical skill for today&#8217;s programmers.  </p>
<p>PS: I appreciate your input, even if we might disagree. A key reasons I started this blog was to create some meaningful discussion on some core aspects of programming.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-44</link>
		<dc:creator><![CDATA[Mark]]></dc:creator>
		<pubDate>Fri, 15 May 2009 17:57:50 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-44</guid>
		<description><![CDATA[C, not C++!

C is a small, low-level language.  There is a certain elegance to its simplicity.

C++ is a monstrous language that no one really understands.

It&#039;s important to know the difference, especially if you&#039;re advocating learning one of them.]]></description>
		<content:encoded><![CDATA[<p>C, not C++!</p>
<p>C is a small, low-level language.  There is a certain elegance to its simplicity.</p>
<p>C++ is a monstrous language that no one really understands.</p>
<p>It&#8217;s important to know the difference, especially if you&#8217;re advocating learning one of them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous Coward</title>
		<link>http://improvingsoftware.com/2009/05/14/why-you-need-to-know-c/#comment-43</link>
		<dc:creator><![CDATA[Anonymous Coward]]></dc:creator>
		<pubDate>Fri, 15 May 2009 17:39:13 +0000</pubDate>
		<guid isPermaLink="false">http://improvingsoftware.com/?p=578#comment-43</guid>
		<description><![CDATA[I&#039;ll be pedantic and point out that for (3), Software Jesus is talking about *C*, not C++, and even makes an effort to reinforce this:

   Learn C before graduating.
   Part two: C. Notice I didn&#039;t say C++.]]></description>
		<content:encoded><![CDATA[<p>I&#8217;ll be pedantic and point out that for (3), Software Jesus is talking about *C*, not C++, and even makes an effort to reinforce this:</p>
<p>   Learn C before graduating.<br />
   Part two: C. Notice I didn&#8217;t say C++.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

