Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > Tips on gaining proficiency in C

Reply
Thread Tools

Tips on gaining proficiency in C

 
 
AB
Guest
Posts: n/a
 
      09-15-2004
Hi,

Regret the fact that this post may be slightly OT to c.l.c, but I am sure
that people there would give GREAT advice...

I am working as a QA (Automation), which generally involves writing mundane
Perl scripts for automated testing of a C Utility.

Bored with the kind of work I am doing, I would love to learn C Programming
(I have theoretical knowledge, thanks to a Bachelor's in CS), with the
intention of, to start with, learning enough to enable me dabble in systems
programming (Linux/Unix) (and hopefully, a job switch ...quickly )

I have a few books

- Design of the Unix OS, Bach
- APUE , (Richard Stevens)
- Network Programming (Richard Stevens)

Which I read now and then.

I have also gone through the C Faqs (All of it), but naturally, since I
haven't actually coded, it is not very useful.

Request suggestions/tips/hints on
- how I could go about getting some proficiency in C/Systems.
- Any suitable *projects* which would be worth doing (I tried sourceforge),
- the order (If there is any .. in which the above material is best read.
- (Any pointers to other good books are welcome, too ! )


Thanks a lot !

Abhi
 
Reply With Quote
 
 
 
 
Alwyn
Guest
Posts: n/a
 
      09-15-2004
In article <BFT1d.9$(E-Mail Removed)>, AB
<(E-Mail Removed)> wrote:
>
> I have a few books
>
> - Design of the Unix OS, Bach
> - APUE , (Richard Stevens)
> - Network Programming (Richard Stevens)
>
> Which I read now and then.


Excellent books all three, but how about adding another classic to the
list: 'The C Programming Language' (2nd ed.) by Kernighan and Ritchie?


Alwyn
 
Reply With Quote
 
 
 
 
Richard Bos
Guest
Posts: n/a
 
      09-15-2004
AB <(E-Mail Removed)> wrote:

> Bored with the kind of work I am doing, I would love to learn C Programming
> (I have theoretical knowledge, thanks to a Bachelor's in CS), with the
> intention of, to start with, learning enough to enable me dabble in systems
> programming (Linux/Unix) (and hopefully, a job switch ...quickly )


Systems programming is not something you start with.

> I have a few books
>
> - Design of the Unix OS, Bach
> - APUE , (Richard Stevens)
> - Network Programming (Richard Stevens)
>
> Which I read now and then.


K&R. Don't read it now and then; begin at the beginning, and continue
until you get to the end. Then, and only then, stop.

> Request suggestions/tips/hints on
> - how I could go about getting some proficiency in C/Systems.


Practice. Practice, practice, practice.

> - Any suitable *projects* which would be worth doing (I tried sourceforge),


For a complete beginner? Write Wumpus. Write a text adventure. Write a
Turing machine. Don't start on industrial-scale projects until you know
the language quite well.

Richard
 
Reply With Quote
 
AB
Guest
Posts: n/a
 
      09-15-2004
Alwyn wrote:
> In article <BFT1d.9$(E-Mail Removed)>, AB
> <(E-Mail Removed)> wrote:
>
>>I have a few books
>>
>>- Design of the Unix OS, Bach
>>- APUE , (Richard Stevens)
>>- Network Programming (Richard Stevens)
>>
>>Which I read now and then.

>
>
> Excellent books all three, but how about adding another classic to the
> list: 'The C Programming Language' (2nd ed.) by Kernighan and Ritchie?
>


Aah yes ! The Bible .. Shouldn't have missed that one.

Will be rushing to the bookstore immediately.

Thanks
Abhi
 
Reply With Quote
 
John Bode
Guest
Posts: n/a
 
      09-15-2004
AB <(E-Mail Removed)> wrote in message news:<BFT1d.9$(E-Mail Removed)>...
> Hi,
>
> Regret the fact that this post may be slightly OT to c.l.c, but I am sure
> that people there would give GREAT advice...
>
> I am working as a QA (Automation), which generally involves writing mundane
> Perl scripts for automated testing of a C Utility.
>
> Bored with the kind of work I am doing, I would love to learn C Programming
> (I have theoretical knowledge, thanks to a Bachelor's in CS), with the
> intention of, to start with, learning enough to enable me dabble in systems
> programming (Linux/Unix) (and hopefully, a job switch ...quickly )
>
> I have a few books
>
> - Design of the Unix OS, Bach
> - APUE , (Richard Stevens)
> - Network Programming (Richard Stevens)
>
> Which I read now and then.
>
> I have also gone through the C Faqs (All of it), but naturally, since I
> haven't actually coded, it is not very useful.
>
> Request suggestions/tips/hints on
> - how I could go about getting some proficiency in C/Systems.


Write a lot of code, make a lot of mistakes, write more code.

Seriously, programming is a skill, and skills require practice.

> - Any suitable *projects* which would be worth doing (I tried sourceforge),


*Simple* database apps (tracking CDs and DVDs, say) touch on a lot of
different areas. A simple newsreader will give you experience in
network communications.

> - the order (If there is any .. in which the above material is best read.
> - (Any pointers to other good books are welcome, too ! )
>


Everyone's mentioned K&R. My favorite *reference* manual (not a
tutorial) is Harbison & Steele's "C: A Reference Manual", currently
5th edition.
>
> Thanks a lot !
>
> Abhi

 
Reply With Quote
 
Tabrez Iqbal
Guest
Posts: n/a
 
      09-15-2004
AB <(E-Mail Removed)> wrote in message news:<FjV1d.15$(E-Mail Removed)>...
> Alwyn wrote:
> > In article <BFT1d.9$(E-Mail Removed)>, AB
> > <(E-Mail Removed)> wrote:
> >
> >>I have a few books
> >>
> >>- Design of the Unix OS, Bach
> >>- APUE , (Richard Stevens)
> >>- Network Programming (Richard Stevens)
> >>
> >>Which I read now and then.

> >
> >
> > Excellent books all three, but how about adding another classic to the
> > list: 'The C Programming Language' (2nd ed.) by Kernighan and Ritchie?
> >

>
> Aah yes ! The Bible .. Shouldn't have missed that one.
>
> Will be rushing to the bookstore immediately.
>
> Thanks
> Abhi



Along with TCPL by Kernighan and Ritchie, also pick-up the Answer Book
to the same book by Tondo. completing the exercises of K&R with the
help of the Answer Boor will give you lots of confidence.

tabrez
 
Reply With Quote
 
Billy N. Patton
Guest
Posts: n/a
 
      09-15-2004
AB wrote:
> Hi,
>
> Regret the fact that this post may be slightly OT to c.l.c, but I am
> sure that people there would give GREAT advice...
>
> I am working as a QA (Automation), which generally involves writing
> mundane Perl scripts for automated testing of a C Utility.
>

If you write in perl, learning c will be NO problem. They are very
close. You could "almost" get perl code to compile in c by removing the
$ from scalars. %'s and @'s and regexp will be a different problem.

THere a ton of free libraries available. I have been writing in c and
perl for @ 12 years. I'm switching to C++ for everything except the
simplest of scripts. (long story but perl version is a major problem
here at work)

> Bored with the kind of work I am doing, I would love to learn C
> Programming (I have theoretical knowledge, thanks to a Bachelor's in
> CS), with the intention of, to start with, learning enough to enable me
> dabble in systems programming (Linux/Unix) (and hopefully, a job switch
> ...quickly )
>
> I have a few books
>
> - Design of the Unix OS, Bach
> - APUE , (Richard Stevens)
> - Network Programming (Richard Stevens)
>
> Which I read now and then.
>
> I have also gone through the C Faqs (All of it), but naturally, since I
> haven't actually coded, it is not very useful.
>
> Request suggestions/tips/hints on
> - how I could go about getting some proficiency in C/Systems.
> - Any suitable *projects* which would be worth doing (I tried
> sourceforge), - the order (If there is any .. in which the above
> material is best read.
> - (Any pointers to other good books are welcome, too ! )
>
>
> Thanks a lot !
>
> Abhi



--
___ _ ____ ___ __ __
/ _ )(_) / /_ __ / _ \___ _/ /_/ /____ ___
/ _ / / / / // / / ___/ _ `/ __/ __/ _ \/ _ \
/____/_/_/_/\_, / /_/ \_,_/\__/\__/\___/_//_/
/___/
Texas Instruments ASIC Circuit Design Methodlogy Group
Dallas, Texas, 214-480-4455, http://www.velocityreviews.com/forums/(E-Mail Removed)
 
Reply With Quote
 
Malcolm
Guest
Posts: n/a
 
      09-15-2004

"AB" <(E-Mail Removed)> wrote
>
> (I have theoretical knowledge, thanks to a Bachelor's in CS), with the
> intention of, to start with, learning enough to enable me dabble in

systems
> programming (Linux/Unix) (and hopefully, a job switch ...quickly )
>

If you have a degree in computer science then learning a new language
shouldn't be a problem. Simply pick up a primer and go.
To learn all the minutae of the standard is very difficult, but you don't
need this, just as you don't need a degree in linguistics to speak English
competently (though you might use a should for a would occasionally).


 
Reply With Quote
 
Randy Howard
Guest
Posts: n/a
 
      09-15-2004
In article <(E-Mail Removed) >, tabrez19
(E-Mail Removed) says...
>
> Along with TCPL by Kernighan and Ritchie, also pick-up the Answer Book
> to the same book by Tondo. completing the exercises of K&R with the
> help of the Answer Boor will give you lots of confidence.


Technically this one isn't necessary, as web sites with answers to the
book's exercises are available on the web, but not all are authoritative.
If the OP is trying to save money, that one could be omitted. More to
his original posts, enquiries to c.l.c about troubles with K&R exercise
problems are never considered OT there.

--
Randy Howard (To reply, remove FOOBAR)
 
Reply With Quote
 
Randy Howard
Guest
Posts: n/a
 
      09-15-2004
In article <BFT1d.9$(E-Mail Removed)>, (E-Mail Removed)
says...
> Request suggestions/tips/hints on
> - how I could go about getting some proficiency in C/Systems.


You have a lot of good answers so far, mostly consisting of "practice"
and repeat. That is good advice, it's really the only way until
someone figures out to make a potion which can be injected in the
arm to short-circuit the "experience" requirement.

Since you are working in QA and want to get into development (that
is a relatively common career path btw), you might consider asking
one of the people currently writing code for which you are doing
QA work to let you look at the source after you get some of the
"rust" knocked off from the books you plan to study. Read it,
understand it, compile it, etc. You might even find some good bugs
to make the boss happy (and the programmer less so) during the
process. Since the code represents a project for which you are
familiar, provided it is not overly complicated (the use of "utility"
in your description implies that it is not), it should make for a
decent way to get your feet wet with code that is already up and
running.

> - Any suitable *projects* which would be worth doing (I tried sourceforge),


Sourceforge has some very good open source projects available, it also a
very large number of terrible ones, or ones that somebody thought would be
a good idea and never completed (or even started). It's a shame it does
not seem to get pruned out over time, but I digress.

One option is to google the web for C programming course homework assignments
once you have mastered the exercises in K&R. The other is to simply think
up programs that would be handy to have and implement them.

> - (Any pointers to other good books are welcome, too ! )


C Traps and Pitfalls by Koenig is brief, but full of useful information in
a short space. The c.l.c FAQ is of course a requirement, but hopefully
you are already planning on reading it in total (not just looking for answers)
as well.

--
Randy Howard (To reply, remove FOOBAR)
"At the core of liberalism is the spoiled child - miserable,
as all spoiled children are, unsatisfied, demanding, ill-
disciplined, despotic and useless. Liberalism is a philosophy
of sniveling brats." -- P. J. O'Rourke


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to get some C++ proficiency Olli Plough C++ 1 07-29-2007 01:57 PM
How do you define proficiency in C and C++? Chandresh C++ 40 01-10-2007 07:11 PM
Python proficiency test Kent Johnson Python 3 07-23-2006 09:13 AM
XML proficiency question spark XML 1 12-17-2005 04:14 PM
.NET proficiency jumps in demand Patrick Olurotimi Ige ASP .Net 0 07-08-2005 07:24 AM



Advertisments