[Noisebridge-discuss] Recommendations for learning C?

bandit bandit at cruzio.com
Sat Mar 10 16:11:15 PST 2012


Find an example program in "learn 21" that does something like you want to
do.
Get it working.
Then start changing it to do what you want.
Make sure each change works.

This is probably better than just doing the exercises.
"Learn 21" does a good job of describing the pieces of the language.

Hint: learn how to use printf()
A slime trail is one of the most valuable debugging tools there is.
It is my standard method.

... bandit



> On Mar 9, 2012 4:22 PM, "Robert Chu" <robertayoungchu at gmail.com> wrote:
>>
>> Harvey (who comes in at night usually) was tutoring me on C, and he said
> he didn't like how the book I was using layed out it's code exercises.
>> So I am a little on the fence about continuing with Learn C in 21 Days.
>> .
>
> This is a mistake I make all the time, don't worry too much about
> optimizing how you learn. To be honest it doesn't matter if you're using
> the absolute best tool or not, any book is going to get the job done.
>
> This is especially true when it comes to computer programming. No book can
> ever teach you how to program, you teach yourself and the book is there to
> make it easier to teach yourself.
>
>> I most likely will focus more on comprehending it then working with the
> code exercises there
>
> This is a terrible idea, the most important thing you can do is exercise
> the things you've learned by practicing and trying them out with real
> code.
> The arguments you will have with your compiler are invaluable.
>
> - Brian
>
>> Cheers
>> Rayc
>>
>> On Fri, Mar 9, 2012 at 3:49 PM, Matt Joyce <matt at nycresistor.com> wrote:
>>>
>>> Remember...
>>>
>>> Be a pointer.
>>>
>>> On Fri, Mar 9, 2012 at 3:31 PM, Robert Chu <robertayoungchu at gmail.com>
> wrote:
>>> > I remember you Bandit, thanks for support by being open to answering
>>> > questions.
>>> >
>>> > Cheers
>>> > Rayc
>>> >
>>> >
>>> > On Fri, Mar 9, 2012 at 3:20 PM, jim <jim at well.com> wrote:
>>> >>
>>> >>
>>> >> how's your assembler on *nix?
>>> >>
>>> >>
>>> >>
>>> >> On Fri, 2012-03-09 at 14:35 -0700, bandit wrote:
>>> >> > I happen to be a C expert (30+ years, well over a million LOC as a
>>> >> > guess).
>>> >> > I am glad to answer C questions when I am at NB on Saturdays.
>>> >> > (I am the guy with one hand.)
>>> >> >
>>> >> > I recommend "Learn C in 21 days" over the white book.
>>> >> > The white book (K&R 2) is the absolute best piece of tech writing
>>> I
> have
>>> >> > ever seen,
>>> >> > but for a beginner, "21 days" is better - it breaks the pieces
>>> down
>>> >> > better.
>>> >> >
>>> >> > ... bandit
>>> >> >
>>> >> >
>>> >> > >
>>> >> > >
>>> >> > >     Great! I've been lonely in there the last several
>>> >> > > weeks. Note that Robert is finishing up his SQL class
>>> >> > > at 6 PM and tends to run over. We can deal with that.
>>> >> > >     Note also that the format is specified as "study
>>> >> > > group" rather than class. The idea is that we're all
>>> >> > > humbly studying along trying to help each other; the
>>> >> > > class format is that some one person goes blah blah...
>>> >> > > and everybody else has to shut up and listen.
>>> >> > >     In fact, mostly the C part of things has been a
>>> >> > > class, but that's entirely negotiable per your (and
>>> >> > > anyone-else-who-shows-up's) wishes.
>>> >> > >     You've got access to a linux computer, yes?
>>> >> > >
>>> >> > >
>>> >> > >
>>> >> > > On Thu, 2012-03-08 at 12:03 -0800, Robert Chu wrote:
>>> >> > >> Thank you all for recommendations so far.
>>> >> > >>
>>> >> > >>
>>> >> > >> Daravine: if I could borrow The C Programming Language, 2nd
> Edition,
>>> >> > >> by Kernighan and Ritchie. That would be wonderful.
>>> >> > >>
>>> >> > >>
>>> >> > >> Andy: Thank you for the recommendations.
>>> >> > >>
>>> >> > >>
>>> >> > >> Jim: I am looking into coming in on Tuesdays to attend the C
> class.
>>> >> > >>
>>> >> > >>
>>> >> > >>
>>> >> > >>
>>> >> > >> Thanks for all the given and upcoming recommendations
>>> >> > >> Cheers
>>> >> > >> Rayc
>>> >> > >>
>>> >> > >> On Thu, Mar 8, 2012 at 11:52 AM, jim <jim at systemateka.com>
>>> wrote:
>>> >> > >>
>>> >> > >>            Why don't you come by the Turing classroom at 6 PM
>>> >> > >>         some Tuesday evening. That place/time is scheduled for
>>> >> > >>         C programming (and assembler, per interest) on Linux.
>>> >> > >>
>>> >> > >>            As to books, that depends on your experience. If you
>>> >> > >>         have little or no programming experience, then Stephen
>>> >> > >>         Kochan's ANSI C is probably the best book--it is not
>>> >> > >>         complete but it's a really well written intro to the
>>> >> > >>         language. Also Steven Prata (C Primer Plus) and Robert
>>> >> > >>         LaFore (I forget the title) have very good books for
>>> >> > >>         people just getting into C.
>>> >> > >>
>>> >> > >>            One of the best books for those who are serious was
>>> >> > >>         put out by MIX publishing. It claims it's written for
>>> >> > >>         intermediate level students, but those must be some
>>> smart
>>> >> > >>         and/or determined intermediates. It's divided into two
>>> >> > >>         sections, tutorials and reference. Both sections have
>>> >> > >>         lots and lots of examples, and to have example code for
>>> >> > >>         each library function is rare in a book.
>>> >> > >>            I donated a couple of copies to the library. I'm
>>> >> > >>         afraid that some pinhead threw them out because they're
>>> >> > >>         written for MS-DOS. That they're written for MS-DOS has
>>> >> > >>         nothing to do with their value. It's the explanations
>>> and
>>> >> > >>         example code that's valuable.
>>> >> > >>
>>> >> > >>            The K&R book has two editions: you probably have the
>>> >> > >>         ANSI C edition; check to be sure, as the older edition
>>> is
>>> >> > >>         pre-ANSI spec and in a few ways will throw you off.
>>> >> > >>
>>> >> > >>            There is a huge number of tutorials on the internet.
>>> >> > >>         It takes time to sort through those that make sense to
> you.
>>> >> > >>         I have links to some that I like. Wikipedia has very
>>> good
>>> >> > >>         info on C programming.
>>> >> > >>
>>> >> > >>
>>> >> > >>
>>> >> > >>
>>> >> > >>
>>> >> > >>
>>> >> > >>         On Thu, 2012-03-08 at 07:01 -0800, Robert Chu wrote:
>>> >> > >>         > Good morning Noisebridge Community,
>>> >> > >>         >
>>> >> > >>         >
>>> >> > >>         > I have decided to start learning C programming and
>>> was
>>> >> > >>         wondering if
>>> >> > >>         > anybody could give me good recommendations on: books,
>>> >> > >>         videos, talks,
>>> >> > >>         > papers, etc. So far I am studying from the book Sam's
> Teach
>>> >> > >>         Yourself C
>>> >> > >>         > in 21 Days Sixth Edition.
>>> >> > >>         >
>>> >> > >>         >
>>> >> > >>         > All resource recommendations are greatly appreciated,
> and
>>> >> > >>         most likely
>>> >> > >>         > would be a catalyst to my learning.
>>> >> > >>         >
>>> >> > >>         >
>>> >> > >>         > Cheers
>>> >> > >>         > Rayc
>>> >> > >>
>>> >> > >>         > _______________________________________________
>>> >> > >>         > Noisebridge-discuss mailing list
>>> >> > >>         > Noisebridge-discuss at lists.noisebridge.net
>>> >> > >>         >
>>> >> > >>
>>> >> > >> https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss
>>> >> > >>
>>> >> > >>
>>> >> > >>
>>> >> > >>
>>> >> > >>
>>> >> > >> _______________________________________________
>>> >> > >> Noisebridge-discuss mailing list
>>> >> > >> Noisebridge-discuss at lists.noisebridge.net
>>> >> > >> https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss
>>> >> > >
>>> >> > >
>>> >> > >
>>> >> > >
>>> >> >
>>> >> >
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> Noisebridge-discuss mailing list
>>> >> Noisebridge-discuss at lists.noisebridge.net
>>> >> https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > Noisebridge-discuss mailing list
>>> > Noisebridge-discuss at lists.noisebridge.net
>>> > https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss
>>> >
>>
>>
>>
>> _______________________________________________
>> Noisebridge-discuss mailing list
>> Noisebridge-discuss at lists.noisebridge.net
>> https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss
>>
>


-- 
bandit at cruzio.com
505-228-8197
bandit.name

I am a systems engineer, specializing in:
- Mission-Critical embedded systems
- device drivers
- control and data acquisition systems
My stuff *works* - *all the time*.

Member: INCOSE.org, PACA.org, IEEE.org, CaliforniaConsultants.org, quelab.net

And to support my son: Proud members of the New Mexico .NET User Group.
Please go to the community website at www.nmug.net.




More information about the Noisebridge-discuss mailing list