Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

After having learning the basics of C programming from several books (variables, arrays, linked lists, etc.), what comes next? Any suggestions of areas to extend my C programming skills to, and any helpful sources? Because I was wondering what experienced programmers did after learning the basics.

share|improve this question

closed as not constructive by gnat, Dynamic, Walter, Glenn Nelson, thorsten müller Dec 17 '12 at 9:51

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

3  
Actual projects? –  Martin Wickman Jun 18 '11 at 8:13
2  
Get your hands dirty! Car analogy: Now you learned the theory, now you need to practice driving. –  user1249 Jun 18 '11 at 9:14
add comment

5 Answers

You can start learning Data Structures and start implementing these in 'C' programming language. It will be real fun.

share|improve this answer
add comment

Read lot of programs to see what idiomatic forms others use. When you have read enough, you will be confident in joining one of the projects where you can start contributing code and fixes very soon.

share|improve this answer
add comment

Whatever you do, have a small project for it. Put it somewhere like github.

Since you seem to be looking for specifics -

  • Start network programming - Richard Stevens (Unix Network Programming Vol 1) is a good place to start. Example projects can be a small HTTP server, an IRC client, an XMPP server.
  • Write your own library of common data structures - trees, maps, lists, sets. This will sharpen your coding skills further and give you a collection of code that will be useful later.

There are numerous routes after this, like Linux kernel development, embedded systems, etc, but the important thing is to always keep something going to keep up your enthusiasm.

share|improve this answer
2  
+1 Good examples of specific things he can code –  Anto Jun 18 '11 at 11:23
1  
"Write your own library of common data structures - trees, maps, lists, sets." I like the "fundamentals" side of this, too. So many people have no idea how these things work internally. –  MetalMikester Dec 15 '12 at 19:15
add comment

Join some open-source project and start actually writing code, and getting feedback from your peers and users. Without practice - it will all go away very quickly.

share|improve this answer
add comment

Code. Start coding on some project, something that interests you. Books are great, but they will only get you so far. You can look at some open source project too if that interests.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.