<?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: My plea against C++</title>
	<atom:link href="http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/feed/" rel="self" type="application/rss+xml" />
	<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/</link>
	<description>Just a few bad ideas.</description>
	<lastBuildDate>Wed, 16 Nov 2011 01:25:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Joseph Huang</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2402</link>
		<dc:creator>Joseph Huang</dc:creator>
		<pubDate>Fri, 13 Jul 2007 22:31:06 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2402</guid>
		<description>Gambit-C compiles to C, not C++, so that mite be an issue. If compiling to C is fine, there are many languages that you could use. I recommend Mercury, which has a high-level C backend.

http://www.cs.mu.oz.au/research/mercury/</description>
		<content:encoded><![CDATA[<p>Gambit-C compiles to C, not C++, so that mite be an issue. If compiling to C is fine, there are many languages that you could use. I recommend Mercury, which has a high-level C backend.</p>
<p><a href="http://www.cs.mu.oz.au/research/mercury/" rel="nofollow">http://www.cs.mu.oz.au/research/mercury/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2395</link>
		<dc:creator>Aaron</dc:creator>
		<pubDate>Thu, 12 Jul 2007 13:23:41 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2395</guid>
		<description>It sounds like you have a good college then.  If you really do have a good enough grasp of it maybe you dont need to do it, but I am not saying you should do it just because its hard (ala punch cards).  I have worked with a lot of people in the industry who have no clue how computers work and thats a bad, bad thing.  They are barely able to patch together snippets of code they found on the web, chant some voodoo incantation, and then close their eyes click Run and hope something not too bad happens.  People like that could really benefit from some C++ experience.  

Not everyone can grok memory and pointers and templates and the stl and how to architect non-gc programs, but I think everyone should at least try.   If you really already understand that maybe you dont need anymore experience.  That said though, if you do, then maybe it shouldnt be such a big deal to this project in C++ rather than Erlang, right?  Actually having to write the code that does some of what Erlang gives you out of the box will probably help you understand Erlang better as well.

And maybe thats one of the things your teacher is trying to teach your class.  Not just how to write a protocol, but how to make it work without invoking &quot;magic&quot; constructs in a concurrent language like Erlang that students dont really understand.  Its like how you probably had to write a linked list implementation even though almost every language known to man has a library linked list.  There is something to be said for writing basic stuff instead of just using what has already been written for you.  It gives you some good experience.


kirindave, there is a difference between being spineless and understanding that doing hard things can make you a better person.  Also, for what its worth, if you consider games and real applications that people use everyday, C++ is far more prevalent for those than higher level and niche languages like Erlang.  Obviously its not the same for web applications, but in my experience it is the people who can ONLY do web apps or can ONLY do hard C++ apps that really stagnate.</description>
		<content:encoded><![CDATA[<p>It sounds like you have a good college then.  If you really do have a good enough grasp of it maybe you dont need to do it, but I am not saying you should do it just because its hard (ala punch cards).  I have worked with a lot of people in the industry who have no clue how computers work and thats a bad, bad thing.  They are barely able to patch together snippets of code they found on the web, chant some voodoo incantation, and then close their eyes click Run and hope something not too bad happens.  People like that could really benefit from some C++ experience.  </p>
<p>Not everyone can grok memory and pointers and templates and the stl and how to architect non-gc programs, but I think everyone should at least try.   If you really already understand that maybe you dont need anymore experience.  That said though, if you do, then maybe it shouldnt be such a big deal to this project in C++ rather than Erlang, right?  Actually having to write the code that does some of what Erlang gives you out of the box will probably help you understand Erlang better as well.</p>
<p>And maybe thats one of the things your teacher is trying to teach your class.  Not just how to write a protocol, but how to make it work without invoking &#8220;magic&#8221; constructs in a concurrent language like Erlang that students dont really understand.  Its like how you probably had to write a linked list implementation even though almost every language known to man has a library linked list.  There is something to be said for writing basic stuff instead of just using what has already been written for you.  It gives you some good experience.</p>
<p>kirindave, there is a difference between being spineless and understanding that doing hard things can make you a better person.  Also, for what its worth, if you consider games and real applications that people use everyday, C++ is far more prevalent for those than higher level and niche languages like Erlang.  Obviously its not the same for web applications, but in my experience it is the people who can ONLY do web apps or can ONLY do hard C++ apps that really stagnate.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jordan Wilberding</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2394</link>
		<dc:creator>Jordan Wilberding</dc:creator>
		<pubDate>Thu, 12 Jul 2007 11:43:11 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2394</guid>
		<description>“I hope your TA says no, you’ll learn more from it”

As I have TA&#039;d classes myself I can say this is the farthest from the truth. How do you learn more by having a required language that is used for almost every CS class taught?

For all the classes where I have designed the materials they are structured in a way that a student can choose any language they want. This gives students a chance to try different languages and compare how elegant their code is compared to other kids who chose different languages.

Fortunately, most of the classes at the university I attend are like this. I can tell you, writing programs in Erlang allowed me to take 1/5th of the time it took other people to use C++ and Java.</description>
		<content:encoded><![CDATA[<p>“I hope your TA says no, you’ll learn more from it”</p>
<p>As I have TA&#8217;d classes myself I can say this is the farthest from the truth. How do you learn more by having a required language that is used for almost every CS class taught?</p>
<p>For all the classes where I have designed the materials they are structured in a way that a student can choose any language they want. This gives students a chance to try different languages and compare how elegant their code is compared to other kids who chose different languages.</p>
<p>Fortunately, most of the classes at the university I attend are like this. I can tell you, writing programs in Erlang allowed me to take 1/5th of the time it took other people to use C++ and Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wayne Khan</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2393</link>
		<dc:creator>Wayne Khan</dc:creator>
		<pubDate>Thu, 12 Jul 2007 09:49:07 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2393</guid>
		<description>I was once asked to write a .NET webapp for a school project when .NET was still pretty new. The frontend was, of course, ASP.NET. The entire course provided code fragments in VB.NET. I hated the wordiness but I did the work nevertheless.

Then midway through I figured that C#.NET provided the C-style syntax and curly braces I loved. I wrote the entire code-behind in C# and received a D grade as a result.</description>
		<content:encoded><![CDATA[<p>I was once asked to write a .NET webapp for a school project when .NET was still pretty new. The frontend was, of course, ASP.NET. The entire course provided code fragments in VB.NET. I hated the wordiness but I did the work nevertheless.</p>
<p>Then midway through I figured that C#.NET provided the C-style syntax and curly braces I loved. I wrote the entire code-behind in C# and received a D grade as a result.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OU</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2392</link>
		<dc:creator>OU</dc:creator>
		<pubDate>Thu, 12 Jul 2007 09:19:28 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2392</guid>
		<description>It might be nice to GPLv3 an erlang version of the problem task, and the offending C++ code. Just for a comparison.</description>
		<content:encoded><![CDATA[<p>It might be nice to GPLv3 an erlang version of the problem task, and the offending C++ code. Just for a comparison.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Masklinn</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2391</link>
		<dc:creator>Masklinn</dc:creator>
		<pubDate>Thu, 12 Jul 2007 08:55:19 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2391</guid>
		<description>&gt; Being a good programmer is not about bending a problem to meet your requirements, it’s about doing the best you can with the tools you have available.

Funny, I was told that being a good programmer means carefully studying the *real* requirement and using the right tools for the right job, which C++ definitely isn&#039;t in this case.

&gt; Just do it in C++. Why suffer a penalty?

Because using C++ for that is stupid, and sometime convenience is better than gimmicky points.

Plus implementing a correct solution in half the time and getting 90% of the maximum grade beats failing to implement a correct solution and getting 10% out of the potential 100% of the maximum grade.

&gt; Dont be a pussy, you are in college to learn the hard stuff so suck it up and do it in C++. 

no.

&gt; Really understanding C and C++ will really help you understand computers

Lol.

Well, no, really.

&gt; which is very valuable and will really help you be a better programmer

That&#039;s the most stupid and delusional thing ever.

C++ doesn&#039;t make you a better programmer, and for C to make you a better programmer you need to hack on systems stuff such as OS or drivers code.

Languages like Erlang, Lisp or Haskell, on the other hand, do make you a better programmer by broadening your solution-research space and offering you alternative methodologies and programming paradigms to work with.</description>
		<content:encoded><![CDATA[<p>&gt; Being a good programmer is not about bending a problem to meet your requirements, it’s about doing the best you can with the tools you have available.</p>
<p>Funny, I was told that being a good programmer means carefully studying the *real* requirement and using the right tools for the right job, which C++ definitely isn&#8217;t in this case.</p>
<p>&gt; Just do it in C++. Why suffer a penalty?</p>
<p>Because using C++ for that is stupid, and sometime convenience is better than gimmicky points.</p>
<p>Plus implementing a correct solution in half the time and getting 90% of the maximum grade beats failing to implement a correct solution and getting 10% out of the potential 100% of the maximum grade.</p>
<p>&gt; Dont be a pussy, you are in college to learn the hard stuff so suck it up and do it in C++. </p>
<p>no.</p>
<p>&gt; Really understanding C and C++ will really help you understand computers</p>
<p>Lol.</p>
<p>Well, no, really.</p>
<p>&gt; which is very valuable and will really help you be a better programmer</p>
<p>That&#8217;s the most stupid and delusional thing ever.</p>
<p>C++ doesn&#8217;t make you a better programmer, and for C to make you a better programmer you need to hack on systems stuff such as OS or drivers code.</p>
<p>Languages like Erlang, Lisp or Haskell, on the other hand, do make you a better programmer by broadening your solution-research space and offering you alternative methodologies and programming paradigms to work with.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: maht</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2390</link>
		<dc:creator>maht</dc:creator>
		<pubDate>Thu, 12 Jul 2007 08:38:37 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2390</guid>
		<description>Perhaps it is because he can;t mark it because he only knows Java and C++. Perhaps you should try a C looking language.

Limbo is the one I would choose. It has CSP and GC and other stuff that takes you away from all that C++/Java crap and it&#039;s readable by C programmers.

*AND* if Nemo is the guy I think he is, he&#039;ll be v. pleased :)

http://www.vitanuova.com/inferno/limbo.html</description>
		<content:encoded><![CDATA[<p>Perhaps it is because he can;t mark it because he only knows Java and C++. Perhaps you should try a C looking language.</p>
<p>Limbo is the one I would choose. It has CSP and GC and other stuff that takes you away from all that C++/Java crap and it&#8217;s readable by C programmers.</p>
<p>*AND* if Nemo is the guy I think he is, he&#8217;ll be v. pleased :)</p>
<p><a href="http://www.vitanuova.com/inferno/limbo.html" rel="nofollow">http://www.vitanuova.com/inferno/limbo.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JJ</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2389</link>
		<dc:creator>JJ</dc:creator>
		<pubDate>Thu, 12 Jul 2007 07:19:26 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2389</guid>
		<description>Please stop whining. Yes, whining. Clearly typing doesn&#039;t make your arms sore, so why complain about it in your email? Clearly neither C nor C++ lead to bad software, as there is a lot of great software written in both (Linux, for example).

There are many people  who are quite happy coding in C++, and many of them are quite comfortable using whatever the current fad language is too. 

Anyone who gets confused by compiler error messages is clearly inexperienced in the given language. How about you spend some time learning C++ properly rather than whining?</description>
		<content:encoded><![CDATA[<p>Please stop whining. Yes, whining. Clearly typing doesn&#8217;t make your arms sore, so why complain about it in your email? Clearly neither C nor C++ lead to bad software, as there is a lot of great software written in both (Linux, for example).</p>
<p>There are many people  who are quite happy coding in C++, and many of them are quite comfortable using whatever the current fad language is too. </p>
<p>Anyone who gets confused by compiler error messages is clearly inexperienced in the given language. How about you spend some time learning C++ properly rather than whining?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Albino</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2387</link>
		<dc:creator>Albino</dc:creator>
		<pubDate>Thu, 12 Jul 2007 06:59:49 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2387</guid>
		<description>This kid seems to have a good grasp of the world to me.  Unless he is outright lying about his 7 years experience with other B&amp;D languages, I would give in on this one.  Of course the TA has to be smart enough to understand that freeing someone like this is more important than forcing them to stay with the rest of the class.  Thats damn near impossible in this world where the 80% is eating Java like its a cream filled jelly doughnut and the other 20% is experiencing freedoms like lisp, haskell, and erlang.

If I&#039;m the TA/Professor and I&#039;m educated on the cutting edge of what&#039;s going on in the language world, I have this kid write me something fairly advanced dealing with C++ code to prove he knows how and then I&#039;m turn him loose.  His learning a whole new language to accomplish one programming assignment ought to show his commitment to learning.

UnwashedMeme: You do have one solace.  They _must_ grade your code.  One of the Python Twisted guys was bragging in IRC a few years back how in the beginning Java course he wrote one of his assignments without using any loops.  The entire purpose of the assignment was to teach the student how to write loops.  The point was not forgotten by the grader nor the professor.</description>
		<content:encoded><![CDATA[<p>This kid seems to have a good grasp of the world to me.  Unless he is outright lying about his 7 years experience with other B&amp;D languages, I would give in on this one.  Of course the TA has to be smart enough to understand that freeing someone like this is more important than forcing them to stay with the rest of the class.  Thats damn near impossible in this world where the 80% is eating Java like its a cream filled jelly doughnut and the other 20% is experiencing freedoms like lisp, haskell, and erlang.</p>
<p>If I&#8217;m the TA/Professor and I&#8217;m educated on the cutting edge of what&#8217;s going on in the language world, I have this kid write me something fairly advanced dealing with C++ code to prove he knows how and then I&#8217;m turn him loose.  His learning a whole new language to accomplish one programming assignment ought to show his commitment to learning.</p>
<p>UnwashedMeme: You do have one solace.  They _must_ grade your code.  One of the Python Twisted guys was bragging in IRC a few years back how in the beginning Java course he wrote one of his assignments without using any loops.  The entire purpose of the assignment was to teach the student how to write loops.  The point was not forgotten by the grader nor the professor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kirindave</title>
		<link>http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/comment-page-1/#comment-2386</link>
		<dc:creator>kirindave</dc:creator>
		<pubDate>Thu, 12 Jul 2007 03:52:25 +0000</pubDate>
		<guid isPermaLink="false">http://the.unwashedmeme.com/blog/2007/07/11/my-plea-against-c/#comment-2386</guid>
		<description>For the love of xose, don&#039;t listen to the defeated and spineless people giving you advice to &quot;suck it up and code in C++&quot;.  They&#039;re the kind of people who never get anywhere in the field, and wonder why their careers stagnate. 

Erlang is among some of the many languages used by software companies focused on delivering a quality product as opposed to an adequate one. I myself had to fight to use Objective-C in college, so I wish you luck.

If you want someone to email your TA or professor with reassurances that these languages are used in the domain I question, email me and I&#039;ll gladly send one for you.</description>
		<content:encoded><![CDATA[<p>For the love of xose, don&#8217;t listen to the defeated and spineless people giving you advice to &#8220;suck it up and code in C++&#8221;.  They&#8217;re the kind of people who never get anywhere in the field, and wonder why their careers stagnate. </p>
<p>Erlang is among some of the many languages used by software companies focused on delivering a quality product as opposed to an adequate one. I myself had to fight to use Objective-C in college, so I wish you luck.</p>
<p>If you want someone to email your TA or professor with reassurances that these languages are used in the domain I question, email me and I&#8217;ll gladly send one for you.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.487 seconds -->

