Thread: Looking for Direction

  1. #1
    Registered User Unee0x's Avatar
    Join Date
    Nov 2011
    Posts
    12

    Looking for Direction

    Hey guys,

    I'm new to c programming and so far I've completed some basics(all beginner stuff) such as variables,arrays,pointers and struts.However, I'm looking for any advice to gaining a strong foundation, so if anyone has some tips to landing a solid foundation in c programming I would like to hear it.
    Basically, I want to know what areas if any that I should target.....

  2. #2
    Registered User
    Join Date
    Nov 2010
    Location
    Long Beach, CA
    Posts
    5,909
    You could start by not using large, obnoxious, bold-face fonts. Just the default font will do, thanks.

    Gaining a strong foundation in what aspect of C programming? The C language? Problem solving? Debugging?

    Whatever it is, it wont come just from reading, you need to practice, practice, practice. Do as much of whatever as you can, but don't just smash away on the keyboard, make a study of everything you do. Do something, then pick it apart and analyze what worked well and where you can improve. And don't just do hello world type problems. Push your limits. Write programs that not only use what you know, but expand your knowledge. It helps to have something useful or interesting to work on. Maybe it's a personal project just for yourself. Maybe it's some online challenges like Project Euler or a code competition website like CoderCharts. Maybe you can find open source projects to get involved with (don't expect to jump into core development though, you'll probably start off doing bug fixes).

    I think this guy has some great ideas: Teach Yourself Programming in Ten Years.

    You should know the syntax and grammar of the language and know what the keywords (there's only a few dozen in C) mean and when and how to use them. Most of this can be looked up, but it seriously impedes reading and writing code if, e.g., you don't understand the difference between using static on local variables and on global variables/functions, or what const means. Get familiar with some of the more advanced features too like function pointers. Get intimate with the preprocessor. Learn to write wicked macros, then learn when and when not to use them, and why.

    Know where to find and how to read technical documentation. In particular, know where your references are for the libraries you use (including the standard C library).

    You should be able to debug a C program. Know how to compile your code for debugging, and use a debugger to step through your code line by line, examine values and find problems. This is critical if you plan on writing anything over a few hundred lines. When helping people on here, I often throw a 20 line program into a debugger and have found the problem in under a minute, versus littering the code with printf's that aren't always that effective in finding problems.

    Learn to use common developer tools. All your personal projects, including those for school if you're in school, should use some sort of version control system. It will probably save your a s s someday, and is definitely a good thing to put on a resume if you want to work in the field. SVN is free, popular and fairly simple. If you're a little braver, learn to use Git, more complex, but much more powerful, and it seems to be the hot new thing.

    That should keep you busy for quite a while.

  3. #3
    Registered User Unee0x's Avatar
    Join Date
    Nov 2011
    Posts
    12
    Hey Anduril,

    First and foremost, sorry about the Bold text in my post:I wrote it on my Ipad during lunch at work..

    Thank you so much for every bit of advice you gave me and like you said, it should keep me busy for awhile.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Some direction please
    By traef06 in forum C Programming
    Replies: 4
    Last Post: 07-26-2008, 04:19 AM
  2. *Need help in the right direction*
    By timtorba in forum C++ Programming
    Replies: 12
    Last Post: 12-21-2006, 04:55 AM
  3. Need some direction
    By Ken Rogers in forum C++ Programming
    Replies: 4
    Last Post: 11-17-2005, 04:25 PM
  4. Some Direction...
    By Mystical in forum Windows Programming
    Replies: 1
    Last Post: 01-12-2005, 05:23 PM
  5. direction..?
    By Burnout832 in forum Game Programming
    Replies: 3
    Last Post: 07-02-2002, 02:57 PM