Thread: Finishing learning the C language

  1. #1
    Registered User
    Join Date
    Jun 2017

    Finishing learning the C language

    I feel like I am coming up on the end of my C language learning experience. I have spent about 1,000 hours in it for the last six months. I have written about 500 programs. Many of them only took 10 minutes or so while some took multiple weeks to get through. I believe I am now very comfortable with pointers. I feel like the entire C language is just a lesson in pointers. Anyway, the subjects I have gone through include the usual basic loops, pointers, arrays, as well as string manipulation, bit manipulation, file handling, and data structures. I believe I know all of these things well enough even though I am sure I could always use more practice. I definitely would never say I have mastered C, but I do think I can understand any C code even if I might not understand the context. I know I have everything to learn about the application of C, and for programming in general, but all of this I expect to come naturally with more experience.

    What I intend to do next is move on to C++ to learn object oriented design, error handling, and all of the other things C++ has to offer which lie outside of what C seems to be naturally capable of. What I am posting about then is advice. I probably will not follow whatever advice I get, but I still would like to hear it anyway. This is my question:

    Before I stop progressing further through the C language and move onto another language, is there anything more I should look at, work on, or try out?

  2. #2
    Registered User
    Join Date
    May 2009
    I suggest not moving directly to C++ after doing C. It is sometimes hard to avoid writing C in C++.
    I suggest trying another Object Oriented Programming (OOP) then after that doing C++.

    Do you know how to pass a pointer to a function to another C function?

    If yes, I say you are likely done on learning the core of C and ready to move on to another language.

    Tim S.
    "...a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are,in short, a perfect match.." Bill Bryson

  3. #3
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008

    Can you write the macro `DOEACH` such that

    #define APP(X) printf("%d\n", X);
    DOEACH(APP, (1)(2)(3))

    If not, I'd spend some more time getting cosy with the preprocessor.

    In C++, that same thought process of puling bits apart can help you with template mastery.

    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. The value of learning a new programming language
    By h3ro in forum General Discussions
    Replies: 21
    Last Post: 06-13-2009, 01:48 AM
  2. This is the language you should be learning
    By caroundw5h in forum C Programming
    Replies: 0
    Last Post: 06-12-2004, 09:56 PM
  3. Fun Learning a New Language
    By UnregdRegd in forum A Brief History of
    Replies: 16
    Last Post: 09-30-2003, 10:03 PM
  4. Learning a new (non-programming) language
    By nickname_changed in forum A Brief History of
    Replies: 31
    Last Post: 08-02-2003, 09:10 AM
  5. learning the c language
    By volk in forum C Programming
    Replies: 3
    Last Post: 12-20-2002, 12:17 PM

Tags for this Thread