Thread: Need some advice from the senior C programmers

  1. #1
    Registered User
    Join Date
    Jul 2010
    Posts
    2

    Need some advice from the senior C programmers

    Hello,

    I asked a while ago on a related programming forum some advice on what programming language should I start learning now. I know PHP and some python. I asked whether should I start with C or with Java. A lot of people said that I should go with C for one reason or another, and a few suggested Java. (Also there were two or three who said to try them both.) Anyways, all the people that told me to start C said it was good to learn it even if I never have the chance to use it.
    Now I'm confused, are jobs in C that hard to find? Or is it that nobody wants to hire a fresh C programmer (say 2 years of experience) ?
    And for you who actually work with C on a daily basis, have you found your first job as a C programmer, or have you learned C on the job then moved to a full time C programmer after a while?
    (I did a little search and there are quite a few of employers asking for C programmers depending on the region of course).
    I apologize in advance if this question came up xxx times and would really appreciate a little advice from the more expert programmers.

    Thank you.

  2. #2
    Password:
    Join Date
    Dec 2009
    Location
    NC
    Posts
    587
    C isn't the deal closer on your resume, it just suggests you have a sturdy base for any C based language that your prospective employer may want you to learn. Both Java and PHP are C based, Java a lot more indirectly, though.

    You could learn C++, it's the successor to C and the predecessor of Java. But IMO, until you've spent time with C, and dealt with it's short comings, you'll not understand why the extensions in C++ are useful. For example, the first time I dealt with any C/C++, although the file had a .cpp extenstion, my style was a C-like functional programming, without any of the beauty of C++.

  3. #3
    Registered User claudiu's Avatar
    Join Date
    Feb 2010
    Location
    London, United Kingdom
    Posts
    2,094
    Quote Originally Posted by Mark0 View Post
    Hello,

    I asked a while ago on a related programming forum some advice on what programming language should I start learning now. I know PHP and some python. I asked whether should I start with C or with Java. A lot of people said that I should go with C for one reason or another, and a few suggested Java. (Also there were two or three who said to try them both.) Anyways, all the people that told me to start C said it was good to learn it even if I never have the chance to use it.
    Now I'm confused, are jobs in C that hard to find? Or is it that nobody wants to hire a fresh C programmer (say 2 years of experience) ?
    And for you who actually work with C on a daily basis, have you found your first job as a C programmer, or have you learned C on the job then moved to a full time C programmer after a while?
    (I did a little search and there are quite a few of employers asking for C programmers depending on the region of course).
    I apologize in advance if this question came up xxx times and would really appreciate a little advice from the more expert programmers.

    Thank you.
    Programming in C is a lot like buying all your furniture at IKEA. You have the tools to do what you want and C will always let you do it even if some of the times you will trip and fall on your face. You can build a great armchair for yourself or a complete crapper that will break your leg when sitting on it. In some sense it is a more "mature" language because it gives the programmer complete liberty but also complete responsibility. On another hand, C is not as modern a language as C++ or Java. C is a low level language, so it is extensively still used in operating system internals (particularly *Nix systems), embedded systems, drivers, etc. Although C++ and Java follow different paradigms to achieve productivity, C remains the grandfather of the family, since the other two share a lot in common with C syntax-wise.

    Regardless of what others will be telling you, most people I know learned C before the other two, if only for historical reasons. Some people will advocate that C++ or Java will get you into the real world right away by teaching you something closer to commercial programming today, however the same people forget that the world today is still mostly sitting on a largely C foundation, if only operating system wise. It's really up to you and it depends on how much time you have on your hands, however, personally I think that everyone learns some C eventually anyway.
    1. Get rid of gets(). Never ever ever use it again. Replace it with fgets() and use that instead.
    2. Get rid of void main and replace it with int main(void) and return 0 at the end of the function.
    3. Get rid of conio.h and other antiquated DOS crap headers.
    4. Don't cast the return value of malloc, even if you always always always make sure that stdlib.h is included.

  4. #4
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Mark0, why do you want to learn another programming language? Have you used your existing of knowledge of PHP and Python to learn problem solving skills with programming, or are you only familiar with their syntax? Are you familiar with rudimentary data structures and algorithms?
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  5. #5
    Registered User
    Join Date
    Jul 2010
    Posts
    2
    Quote Originally Posted by laserlight View Post
    Mark0, why do you want to learn another programming language? Have you used your existing of knowledge of PHP and Python to learn problem solving skills with programming, or are you only familiar with their syntax? Are you familiar with rudimentary data structures and algorithms?
    I played around a bit with some php frameworks, but I think I would enjoy more doing something else than web sites. It gets boring after a while.
    Doing something challenging on the other hand, and more exiting is something that interests me more, that's why I chose to see how it goes with some different programming language.
    The reason I asked about C and Java is that I want to focus a lot more on just a programming language, learn really well the libraries and the various tools that go with it. I know I will be learning other languages, but I think if I really wanna be good at something I have to focus on it more than on the other languages.

  6. #6
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    If you're more interested in learning the languages than their applications, you're going to have to try them or be a little more explicit about what you're looking to learn.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. PC Game project requires c++ programmers
    By drallstars in forum Projects and Job Recruitment
    Replies: 2
    Last Post: 02-22-2006, 12:23 AM
  2. girl friend advice (prob. the wrong place)
    By B0bDole in forum A Brief History of Cprogramming.com
    Replies: 15
    Last Post: 10-22-2004, 06:38 PM
  3. Game Programmer's AIM Circle: Join Today
    By KingZoolerius66 in forum A Brief History of Cprogramming.com
    Replies: 28
    Last Post: 12-20-2003, 12:12 PM
  4. Programming Puns
    By kermi3 in forum A Brief History of Cprogramming.com
    Replies: 44
    Last Post: 03-23-2002, 04:38 PM
  5. I need advice from some experienced programmers
    By incognito in forum A Brief History of Cprogramming.com
    Replies: 19
    Last Post: 03-11-2002, 01:12 PM

Tags for this Thread