Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How long to learn C? [closed]

Tags:

c

I'm a C# programmer and I'm sold on the benefits of learning C. I want to deepen my knowledge of the underlying OS and CPU, understand the pain of memory management that garbage collection encapsulates away and generally improve my high-level programs thanks to an appreciation of the low-level issues that the compiler is dealing with on my behalf.

My question is how long can I expect to spend learning the C language in order to gain these benefits?

Is a couple of weekends spent reading the K&R book from cover to cover sufficient, or do I need to schedule time to cut some code? Do I need to spend time delving into any libraries, or is an understanding of the first-order concepts in the language enough to improve my C# code?

To be clear, I don't intend to write any significant programs in C. My goal is more to learn from the language than to become an expert in the language.

like image 651
wildcard Avatar asked Jul 21 '09 12:07

wildcard


3 Answers

C will take a week to learn, and a lifetime to master.

like image 106
Larry Watanabe Avatar answered Sep 17 '22 21:09

Larry Watanabe


Reading a K&R book and not writing code is like reading a book on weapons and never actually shooting. Yes, you've read in a book, that it works this way, but you have never encountered the typical problems that arise while doing this. Without practice such "knowlegde" is worth very little.

Plan to spend 2-3 years slowly writing small programs for solving different tasks in C. This will count as real experince. C provides delayed gratification for your effort.

like image 37
sharptooth Avatar answered Sep 21 '22 21:09

sharptooth


I'm not sure how long it takes to learn a language - it probably comes down to the individual. But I'm pretty confident you can't learn one without writing and debugging code in it.

like image 20
dave Avatar answered Sep 17 '22 21:09

dave