Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How should I learn C? [closed]

I'm interested in learning C. I have read K & R, and I have even done some simple C extension work in R and Python. What's a worthwhile project idea for doing something more substantial with C? Any good online resources, similar to Dive Into Python? In particular, resources focused on programmers that already know newer languages who are trying to learn C (that mention things like "Asking an array for its length is nonsense in C, you lazy Pythonista").

My background:

Math/stats, day to day programming in Python, R, mostly around natural-language-processing, algorithms, and the like.

like image 596
Gregg Lind Avatar asked Oct 08 '08 20:10

Gregg Lind


People also ask

Should I learn C first or C++?

There is no need to learn C before learning C++. They are different languages. It is a common misconception that C++ is in some way dependent on C and not a fully specified language on its own. Just because C++ shares a lot of the same syntax and a lot of the same semantics, does not mean you need to learn C first.

Is C tough to learn?

C is more difficult to learn than JavaScript, but it's a valuable skill to have because most programming languages are actually implemented in C. This is because C is a “machine-level” language. So learning it will teach you how a computer works and will actually make learning new languages in the future easier.


2 Answers

Several years back, a friend of mine asked me that same question: "How do I learn C?" I told him to write a device driver.

Imagine my surprise when he actually did it.

like image 128
Robert S. Avatar answered Sep 21 '22 16:09

Robert S.


Have a look at After K&R what book to use to learn programming in plain C?

like image 43
Bob King Avatar answered Sep 20 '22 16:09

Bob King