<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:admin="http://webns.net/mvcb/"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
	<channel> 

	<title>Comments on: Best book for a beginner to learn C? </title>
	<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C/</link>
	<description>Comments on Ask MetaFilter post Best book for a beginner to learn C?</description>
	<pubDate>Wed, 21 May 2008 22:55:30 -0800</pubDate>
	<lastBuildDate>Wed, 21 May 2008 22:55:30 -0800</lastBuildDate>
	<language>en-us</language>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<ttl>60</ttl>

	<item>
		<title>Question: Best book for a beginner to learn C? </title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C</link>	
		<description>Best book for a beginner to learn C? I&apos;ve never learned a programming language, but I&apos;m hoping to learn C over the summer. My friend, a computer science student, is going to teach me as he learns it. We would like a textbook or reference book or work book of some kind. What would be a good choice? &lt;br /&gt;&lt;br /&gt; I&apos;ve heard the K and R &apos;C Programming Language&apos; is considered the &apos;bible&apos; of C programming, but I am wondering if this would be an appropriate choice for a beginner. &lt;br&gt;
Things to bear in mind:&lt;br&gt;
1) my friend will be creating &apos;lessons&apos; from whatever book we choose. We&apos;d like it to be thorough and start from the basics, but density is not necessarily an issue. That said, I&apos;d like the text to be readable for both of us. &lt;br&gt;
2) Although I have never programmed anything before, when I was younger, I dabbled in a bit of Flash so I&apos;m reasonably ok with computers, and I have some background in math and logic. I don&apos;t know if this will help.&lt;br&gt;
&lt;br&gt;
Thanks for your recommendations.</description>
		<guid isPermaLink="false">post:ask.metafilter.com,2008:site.92096</guid>
		<pubDate>Wed, 21 May 2008 22:44:12 -0800</pubDate>
		<dc:creator>asparagrass</dc:creator>
		
			<category>C</category>
		
			<category>programming</category>
		
			<category>programminglanguage</category>
		
			<category>computers</category>
		
	</item> <item>
		<title>By: GuyZero</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349052</link>	
		<description>I&apos;m pretty sure I used Kochan&apos;s book to learn C when I was 15 or so: &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0672326663/metafilter-20/ref=nosim/&quot;&gt;Programming in C&lt;/a&gt;. I have a much older edition but I am pretty sure it is a classic. As one Amazon reviewer noted, it was written in &apos;83 but the current edition was revised in 2004, although it&apos;s not like C has changed a lot in 25 years.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349052</guid>
		<pubDate>Wed, 21 May 2008 22:55:30 -0800</pubDate>
		<dc:creator>GuyZero</dc:creator>
	</item><item>
		<title>By: pwicks</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349055</link>	
		<description>&lt;a href=&quot;http://en.wikipedia.org/wiki/The_C_Programming_Language_(book)&quot;&gt;K&amp;amp;R &lt;/a&gt;is pretty much the canonical book on C.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349055</guid>
		<pubDate>Wed, 21 May 2008 23:05:50 -0800</pubDate>
		<dc:creator>pwicks</dc:creator>
	</item><item>
		<title>By: tachikaze</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349058</link>	
		<description>K&amp;amp;R is ancient history, akin to Chaucer in the scheme of things.&lt;br&gt;
&lt;br&gt;
I was going to object to taking up C as a first language, but upon further thought C99 isn&apos;t that bad of a sandbox to play in, compared to its offshoots: Java, C#, JavaScript, PHP5, plus: Perl, Python, Ruby, processing, etc.&lt;br&gt;
&lt;br&gt;
So my advice is to find a good C99 introduction and some programming tasks you&apos;re interested in.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349058</guid>
		<pubDate>Wed, 21 May 2008 23:08:41 -0800</pubDate>
		<dc:creator>tachikaze</dc:creator>
	</item><item>
		<title>By: orthogonality</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349062</link>	
		<description>Get K&amp;amp;R!&lt;br&gt;
&lt;br&gt;
1) Each chapter is a &quot;lesson&quot;. Each chapter ends with exercises. Do (some of) the exercises. K&amp;amp;R is very readable. It&apos;s concise, but very clear.&lt;br&gt;
2) Math and logic will prove helpful. &lt;br&gt;
&lt;br&gt;
Another thing that I find helpful is &quot;role playing&quot;. When writing a function, think of yourself as the function, and ask, what am I provided (the function parameters) and what must I do (the functional requirement). A good function does exactly ONE thing, calling other functions as necessary to do that thing. Many functions do nothing other than call other functions (are &quot;implemented in terms of&quot; other functions) in some order.&lt;br&gt;
&lt;br&gt;
Functions can be broadly divided into three types: those that transform their argument(s) into some other thing (the result), those that have side effects (chnage something external to the function), and those that provide a single &quot;facade&apos;&quot; that calls other functions in some order (do this, then do that, then do something else).&lt;br&gt;
&lt;br&gt;
Finally, avoid like the plague any book by &lt;a href=&apos;http://www.lysator.liu.se/c/schildt.html&apos;&gt;Herb Schildt.&lt;/a&gt;</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349062</guid>
		<pubDate>Wed, 21 May 2008 23:13:26 -0800</pubDate>
		<dc:creator>orthogonality</dc:creator>
	</item><item>
		<title>By: jacalata</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349069</link>	
		<description>I used K&amp;amp;R in my Intro to Programming class in my first year class (2003), it seemed pretty clear.&lt;br&gt;
&lt;br&gt;
Also, no offence to your friend, but is he really going to be a good teacher if he&apos;s learning the language as you both go along?</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349069</guid>
		<pubDate>Wed, 21 May 2008 23:45:12 -0800</pubDate>
		<dc:creator>jacalata</dc:creator>
	</item><item>
		<title>By: hz37</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349075</link>	
		<description>Have you considered learning C++ ? I really enjoyed &quot;Thinking in C++&quot; by Bruce Eckel. I&apos;ve used it to teach C++ classes as well, and the students loved it. It&apos;s also very well written, and chapter 3 (&quot;The C in C++&quot;) brings you up to speed on the bulk of C programming.&lt;br&gt;
&lt;br&gt;
If you&apos;re going to do programming on the Windows OS, I&apos;d suggest getting the free Turbo C++ 2006 compiler from Borland, which also is a RAD tool so you can easily make Windows programs and try out the stuff you&apos;ve learned. At any rate, you can create simple console mode programs with a main() function, like you will see in exercises from any C/C++ tutorial or book. Just a suggestion!&lt;br&gt;
&lt;br&gt;
Good luck,&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Hens Zimmerman</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349075</guid>
		<pubDate>Thu, 22 May 2008 00:03:56 -0800</pubDate>
		<dc:creator>hz37</dc:creator>
	</item><item>
		<title>By: flabdablet</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349094</link>	
		<description>If K&amp;amp;R is the King James, &lt;a href=&quot;http://careferencemanual.com/&quot;&gt;H&amp;amp;S&lt;/a&gt; is the Good News.&lt;br&gt;
&lt;br&gt;
Contrary to many, I think C is an excellent pick for a first computer language, for those who have the patience to take a systematic approach to self-education.  It&apos;s close enough to the machine to give you a solid grounding in how computers actually &lt;em&gt;work&lt;/em&gt;, but high-level enough that you &lt;em&gt;can&lt;/em&gt; write readable, maintainable and even re-usable code in it.  Also, much of what has come since is in direct response to fixing assorted shortcomings of C.  Until you&apos;ve banged your head against those for a while, you won&apos;t really be well placed to appreciate the fixes.&lt;br&gt;
&lt;br&gt;
For Kernighan&apos;s sake don&apos;t go near C++ until you understand C.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349094</guid>
		<pubDate>Thu, 22 May 2008 00:58:26 -0800</pubDate>
		<dc:creator>flabdablet</dc:creator>
	</item><item>
		<title>By: alasdair</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349096</link>	
		<description>If you&apos;ve never programmed before, I&apos;d suggest the lower-learning-curve &lt;a href=&quot;http://www.deitel.com/Books/C/CHowtoProgram5e/tabid/1704/Default.aspx&quot;&gt;Deitel and Deitel C How to Program.&lt;/a&gt;</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349096</guid>
		<pubDate>Thu, 22 May 2008 01:02:25 -0800</pubDate>
		<dc:creator>alasdair</dc:creator>
	</item><item>
		<title>By: strangecargo</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349097</link>	
		<description>When I was taking my first CS classes in college, &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~eroberts/&quot;&gt;Eric Roberts&lt;/a&gt;&apos; books &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0201543222/metafilter-20/ref=nosim/&quot;&gt;The Art and Science of C&lt;/a&gt; and &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0201545411/metafilter-20/ref=nosim/&quot;&gt;Programming Abstractions in C&lt;/a&gt; were the standard coursebooks for Stanford&apos;s two-quarter introductory series that served as both an introduction to C as well as an introduction to programming.&lt;br&gt;
&lt;br&gt;
They aren&apos;t books you&apos;ll reference much later on in your programming career, but they do quite a good job at using C to teach the more general programming concepts that you&apos;ll need regardless of what language you&apos;re using.&lt;br&gt;
&lt;br&gt;
As with most college textbooks, the new book prices are insane. Buy used.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349097</guid>
		<pubDate>Thu, 22 May 2008 01:07:18 -0800</pubDate>
		<dc:creator>strangecargo</dc:creator>
	</item><item>
		<title>By: flif</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349168</link>	
		<description>K&amp;amp;R is very well written and very concise.&lt;br&gt;
If you want to learn C++, start with an early slim edition of Stroustrup&apos;s instead of the current verbose edition.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349168</guid>
		<pubDate>Thu, 22 May 2008 05:04:18 -0800</pubDate>
		<dc:creator>flif</dc:creator>
	</item><item>
		<title>By: cmiller</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349188</link>	
		<description>&lt;a href=&quot;http://careferencemanual.com/&quot;&gt;Harbison and Steele&apos;s &quot;C: A Reference Manual&quot;&lt;/a&gt; is the best reference there is.  It is not a tutorial, but when you have a question about some facet, this is The Book to pick up.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349188</guid>
		<pubDate>Thu, 22 May 2008 06:07:19 -0800</pubDate>
		<dc:creator>cmiller</dc:creator>
	</item><item>
		<title>By: pharm</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349195</link>	
		<description>I&apos;m with the crowd on recommending Harbison &amp;amp; Steele over K&amp;amp;R.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349195</guid>
		<pubDate>Thu, 22 May 2008 06:25:26 -0800</pubDate>
		<dc:creator>pharm</dc:creator>
	</item><item>
		<title>By: kableh</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349231</link>	
		<description>I keep K&amp;amp;R as a reference, but &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0672326965/metafilter-20/ref=nosim/&quot;&gt;C Primer Plus&lt;/a&gt; is what I started with.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349231</guid>
		<pubDate>Thu, 22 May 2008 07:29:46 -0800</pubDate>
		<dc:creator>kableh</dc:creator>
	</item><item>
		<title>By: Idcoytco</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349295</link>	
		<description>C is not a good language to learn unless you are going to be using it every week. Assess why you want to learn, and pick a suitable language.&lt;br&gt;
&lt;br&gt;
To find books that match your learning style, go and browse in a real bricks-and-mortar book shop with real paper books. If you are doing this seriously you probably need more than one -- an easy introduction and something that takes the ideas further.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349295</guid>
		<pubDate>Thu, 22 May 2008 08:29:24 -0800</pubDate>
		<dc:creator>Idcoytco</dc:creator>
	</item><item>
		<title>By: East Manitoba Regional Junior Kabaddi Champion &apos;94</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349321</link>	
		<description>If I wasn&apos;t a programmer, and I started by learning C, I would never be a programmer. I&apos;d go nuts. Learn something object-oriented first.&lt;br&gt;
&lt;br&gt;
Clearly that&apos;s just my opinion though.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349321</guid>
		<pubDate>Thu, 22 May 2008 08:52:48 -0800</pubDate>
		<dc:creator>East Manitoba Regional Junior Kabaddi Champion &apos;94</dc:creator>
	</item><item>
		<title>By: tehloki</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349333</link>	
		<description>&quot;C for dummies&quot; was my textbook for first year university, and so far, I haven&apos;t failed to find a single bit of information in the thing. It&apos;s got a really great learning curve.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349333</guid>
		<pubDate>Thu, 22 May 2008 09:04:05 -0800</pubDate>
		<dc:creator>tehloki</dc:creator>
	</item><item>
		<title>By: jeffamaphone</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349406</link>	
		<description>Deitel and Deitel is horrible, terrible and boring.  Sorry, I can&apos;t really recommend it.&lt;br&gt;
&lt;br&gt;
I learned C++ using the Borland Turbo C++ 3.0 manual and found it quite useful, but I suppose that isn&apos;t really something one can easily find these days.&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://www.codinghorror.com/blog/archives/001108.html&quot;&gt;See also&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
I would recommend &lt;a href=&quot;http://books.google.com/books?as_auth=Bjarne+Stroustrup&amp;sa=X&amp;oi=print&amp;ct=title&amp;cad=author-navigational&amp;hl=en&quot;&gt;Stroustrup&apos;s books&lt;/a&gt;.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349406</guid>
		<pubDate>Thu, 22 May 2008 10:14:47 -0800</pubDate>
		<dc:creator>jeffamaphone</dc:creator>
	</item><item>
		<title>By: fairytale of los angeles</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349427</link>	
		<description>I started with C and with Deitel and Deitel, and I second all the &quot;that&apos;ll scare you off the art for life&quot; commentary.  If K&amp;amp;R is a better read, go with that.&lt;br&gt;
&lt;br&gt;
(I had to get into Python to realize that I&apos;m probably nowhere near as bad of a novice coder as Intro to C at my first university made me think I was.  The combination of bad lecturer, bad examples, Deitel and Deitel, an incomprehensible TA, and the language itself just conspired to make me freeze up every time I sat down to code.)</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349427</guid>
		<pubDate>Thu, 22 May 2008 10:28:12 -0800</pubDate>
		<dc:creator>fairytale of los angeles</dc:creator>
	</item><item>
		<title>By: speedo</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349461</link>	
		<description>I got (and still get) some good mileage out of &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0125521421/metafilter-20/ref=nosim/&quot;&gt;Introductory C: Pointers, Functions and Files&lt;/a&gt;. It doesn&apos;t assume the reader has programmed before and starts with basic programming concepts concepts, paired with the C implementations.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349461</guid>
		<pubDate>Thu, 22 May 2008 10:44:19 -0800</pubDate>
		<dc:creator>speedo</dc:creator>
	</item><item>
		<title>By: neuron</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1349686</link>	
		<description>If you&apos;ll be learning C on a Mac, get Dave Mark&apos;s &quot;book&quot; (PDF) from Spiderworks. It worked great for me.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1349686</guid>
		<pubDate>Thu, 22 May 2008 13:29:12 -0800</pubDate>
		<dc:creator>neuron</dc:creator>
	</item><item>
		<title>By: chunking express</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1352765</link>	
		<description>I really like K&amp;amp;R.  It&apos;s probably one of the best written programming books I&apos;ve read.  It is terse, but not to the point of being incomprehensible.  It&apos;s also a nice read.  (I like Stoustrup&apos;s C++ book, but it is certainly not as well written.)</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1352765</guid>
		<pubDate>Mon, 26 May 2008 08:38:23 -0800</pubDate>
		<dc:creator>chunking express</dc:creator>
	</item><item>
		<title>By: flabdablet</title>
		<link>http://ask.metafilter.com/92096/Best-book-for-a-beginner-to-learn-C#1353740</link>	
		<description>If K&amp;amp;R is the King James, and H&amp;amp;S is the Good News, then the &lt;a href=&quot;http://www.lemis.com/grog/Documentation/Lions/index.html&quot;&gt;Lions Book&lt;/a&gt; is the Dead Sea Scrolls.&lt;br&gt;
&lt;br&gt;
When the Lions Book is no longer perplexing, you&apos;ve learned C.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.92096-1353740</guid>
		<pubDate>Tue, 27 May 2008 07:05:48 -0800</pubDate>
		<dc:creator>flabdablet</dc:creator>
	</item>
	</channel>
</rss>
