Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Worth learning C?

Options
  • 15-01-2013 10:45pm
    #1
    Closed Accounts Posts: 27,857 ✭✭✭✭


    Hey folks,

    I'm working as a software/web developer at the moment, with about 3 years of work experience and the rest in college and my spare time. I started as a front-end developer (HTML, CSS, JS), then picked up PHP, and am now making decent progress learning Ruby/RoR (and this is the main technology I work with in my current job).

    I've got a list as long as my arm of technologies, tools, etc., that I want (or need) to learn, and am slowly getting through it!

    I'm wondering though, is it worth getting a bit of experience with C, and am I likely to use it at all in the future? From what I gather it's pretty much as close to machine code as you'd want to go, and it might be good experience in that sense to get my hands a bit dirty with it.

    I did a semester of C++ in college and didn't like it, but that was back when I hated college and programming and was sh*t at everything :p I reckon I'd appreciate it more now, and could probably come up with some useful little projects to help me learn.

    What do we think? Waste of time?

    FWIW, my plan for the next few years is to keep going as a Ruby software developer and get away from the front-end as much as possible!

    Thanks


Comments

  • Administrators Posts: 53,752 Admin ✭✭✭✭✭awec


    My 2c:

    You will find little use for it as a web developer, but perhaps there are some niche uses somewhere. It's also one of those things that a lot of companies put on their "ideal candidate would have" sections when hiring but in an enterprise environment nowadays you are again more likely to be writing managed code of some sort.

    It's useful to know in the sense that it can help you understand what's going on beneath your managed technologies though (which abstract away a lot of the workings), and self-teaching will obviously do no harm.

    You're likely to get a variety of opinions on this. Personally I wouldn't be too bothered on being able to write it fluently. Other people will swear that it's important.


  • Registered Users Posts: 4,443 ✭✭✭robbiezero


    It sounds like you are very unlikely to use it in the near future if ever. I often find myself if I put the effort into learning something but never use it in something tangible i.e. a proper project or work I just forget it again, and have to repeat the learning process when I do end up using it.

    I have done C, C++, Java, Javascript, PHP, GWT etc. It is a nice language to know as it gives you a good insight into what happens under the hood in higher level languages (a lot of interpreters and some JVM's are written in C), and the memory allocation, pointers and references is often useful in understanding high level languages.

    It sounds like there are more relevant technologies or languages you could be learning i.e. Java, Databases etc.


  • Registered Users Posts: 26,571 ✭✭✭✭Creamy Goodness


    Any interest in http://www.arduino.cc/ or iOS development (I mention these two as one use C and the other a language build on top of it and both are hot and trendy atm)? - C will be of great use to you then.

    My own opinion it can't hurt to learn C, in fact I think it will make you think differently, and therefore a better programmer in my books.


  • Registered Users Posts: 92 ✭✭jgh_


    Dave! wrote: »
    Hey folks,

    I'm working as a software/web developer at the moment, with about 3 years of work experience and the rest in college and my spare time. I started as a front-end developer (HTML, CSS, JS), then picked up PHP, and am now making decent progress learning Ruby/RoR (and this is the main technology I work with in my current job).

    I've got a list as long as my arm of technologies, tools, etc., that I want (or need) to learn, and am slowly getting through it!

    I'm wondering though, is it worth getting a bit of experience with C, and am I likely to use it at all in the future? From what I gather it's pretty much as close to machine code as you'd want to go, and it might be good experience in that sense to get my hands a bit dirty with it.

    I did a semester of C++ in college and didn't like it, but that was back when I hated college and programming and was sh*t at everything :p I reckon I'd appreciate it more now, and could probably come up with some useful little projects to help me learn.

    What do we think? Waste of time?

    FWIW, my plan for the next few years is to keep going as a Ruby software developer and get away from the front-end as much as possible!

    Thanks

    I'd say it depends on what you like. I started my career off as a web developer and discovered that I hated it. Now I work on video conferencing software, I've done a touch of game development, and some other interesting things here and there.

    As a web developer C is pretty much useless, but if you want to get into stuff that's a little more low-level than web programming there's a pretty good chance you'll be touching C and C++.

    Certainly I won't say its a waste of time, it will give you a new perspective on computing and how computers work, but it's not vital unless you wish to get into something lower level than web and business applications.


  • Registered Users Posts: 1,931 ✭✭✭PrzemoF


    Yes


  • Advertisement
  • Registered Users Posts: 13,104 ✭✭✭✭djpbarry


    I'd agree with most of what has been posted above. It seems unlikely that you're going to be finding any direct use for C any time soon, but it won't do you any harm to familiarise yourself with it. As said above, it can help you understand why there are good ways and bad ways of implementing certain algorithms in higher level languages. Also worth remembering that some languages, like Python, are actually written in C.

    Disclaimer: I use C virtually every day so I'm obviously biased.


Advertisement