Thread: How important is C really?

  1. #1
    Registered User
    Join Date
    Nov 2013
    Posts
    31

    How important is C really?

    I have been looking around at jobs/internships for software engineering, and all the programming languages I see are Java,C++, and maybe Javascript / XML type of language. I rarely see C, where are all the jobs at? Also, I want to be very knowledgeable on how the C language operates, can someone direct me to a book or some website that will get close to the hardware level of how C is working its "Magic". I feel it is important to know the real mechanics behind the language other than loops and control statements.

  2. #2
    Registered User
    Join Date
    Nov 2013
    Posts
    1
    new2C- It's interesting to understand computer at hardware level. I'm also new to C, Here a is course by Richard Buckland, It will help you i guess.
    http://www.youtube.com/watch?v=hE7l6Adoiiw
    Last edited by Salem; 11-17-2013 at 01:02 AM. Reason: redirect removed

  3. #3
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    This smells like spam.
    Apologies if I'm wrong.

  4. #4
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    I would definitely say C is important and that I wouldn't judge importance based off of the number of job openings. I used to be hardcore diehard C only then I tried out C++ and it's pretty amazing and now I love both.

    But I've been googling around and the way the programming industry seems to operate is, just make something that works, no matter how inelegant. I think there was someone on this board whose signature can be paraphrased as, it's cheaper to buy hardware that's 25% faster than it is to code something 25% faster, considering the development time of porting the code.

    I've never actually had a programming job but I was inspired to google Java vs. C++ and that was basically the view of the industry that I got from people's comments.

    Developing in C takes a lot of time, even if you write beautiful and elegant code. Companies don't want to invest the time into development because it's too expensive which is a valid point. I started to figure this when companies would ask for C++ instead of C as C++ has a lot of useful built-in structures and algorithms which reduces the development time.

    And then Java is chosen over C++ as it is supposed to further reduce development time but this is variable for the project you're working on. Granted, this is just what I read online.

    As for why you should use C, I think C is better for anything requiring more low level features, less common data structures (something not solved with a simple std::queue or std::vector, etc.) and for embedded programming as well. I think C++ is fantastic for scientific applications and I know most game studios develop in C++ as well. I have no idea what Java is used for.

    Someone, correct me if I'm wrong.

  5. #5
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,656
    It's just another one of those "visit my redirection site" spammers.

    Get the real content from the original source.
    Lecture 1: Higher Computing - Richard Buckland UNSW 2008 - YouTube
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  6. #6
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    Salem, edit tanzeelniazi's link to go to the video as you provide it

  7. #7
    Registered User
    Join Date
    Nov 2013
    Posts
    31
    Thanks for your guys' input. I would really like to know how the C compiler works, does anyone know any good books?

  8. #8
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,412
    Quote Originally Posted by new2C-
    I would really like to know how the C compiler works, does anyone know any good books?
    The C programming language is officially specified in a standard, not as a reference implementation, so we do not talk about "the C compiler" as there are many of them (unless it is obvious which one we are referring to). For books, a well known text is Compilers: Principles, Techniques, & Tools by Aho, Lam, Sethi and Ullman.
    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

  9. #9
    Registered User
    Join Date
    Nov 2013
    Posts
    31
    Laserlight, will this book give me a good grasp on the "Standard" and underlying layer of abstraction?

  10. #10
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by MutantJohn View Post
    As for why you should use C, I think C is better for anything requiring more low level features, less common data structures (something not solved with a simple std::queue or std::vector, etc.) and for embedded programming as well. I think C++ is fantastic for scientific applications and I know most game studios develop in C++ as well. I have no idea what Java is used for.

    Someone, correct me if I'm wrong.
    Why do you think that?
    Usually when you think about languages, I usually tend to go along the line that higher level is better. So you pick the highest possible level language that a) meets your requirements and b) is available for your platform.
    Language-wise, there is little that separates C from C++. C++ supports pretty much all that is C, and you can sometimes do it more efficiently (e.g., std::sort), so usually it boils down to external factors that has nothing to do with the language. Such factors include compiler support, optimization support, cost, competence, etc.
    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.

  11. #11
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    MutantJohn post was correct, new2C. Please ignore Elysia.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  12. #12
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Mario F.'s post is wrong, new2C. Please ignore Mario F.
    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.

  13. #13
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Don't think you now have a dilema, new2C. This is easy to fix.

    Just follow our advice. Ignore both me and Elysia and consider MutantJohn post. That's a win.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  14. #14
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    A dilemma indeed, because it was YOUR statement that MutantJohn's post was correct, but as we seem to have concluded, new2C shouldn't listen to your (or my) advice. Therefore, we cannot conclude that MutantJohn's post is correct.
    So new2C cannot be certain MutantJohn's post is good because YOU said it. new2C cannot listen to me because YOU said it and new2C can't listen to you because I said it.
    Ah, what a dilemma. We're going around in circles now. Happy?
    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.

  15. #15
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    Well, ignoring a statement by definition requires that we give no consideration to its content, so there would be no dilemma. Mario said to ignore Elysia. Elysia said to ignore Mario. Doing both of these is not difficult. And this leaves John's point for consideration. Although, we also have to consider if this opinion about C being held so dearly was based upon any knowledge whatsoever, or if it was in fact a value judgment. If it was a value judgment, then we have a belief about C, to which anyone can hold or abandon.

    new2c,

    You've started a language war thread.

    Also, languages, really, are all about where you want to work.

    C is still relevant in that there are still C jobs, I think. Take a look, and see if anything anyone is doing anywhere using C is worth doing to you. The truth about the business is basically that languages are fads. If a company makes a language, like Microsoft and C#, (an answer to C++ I suppose) then they will strive to use it in their products or services. This makes it relevant to a small degree.

    As far as learning how to program goes, I will not deny that a high level language is the way to go, but I would aim even a little higher than C++, since C++ was my third language, and there are environments that can quickly achieve results. These results are easier to get in languages such as python, PERL, Ruby. On the web, that is, using the web as an environment, you have php as well. (My local power plant asked for PHP experience. It was a little shocking.)

    I don't think there is any rhyme or reason in asking anyone's opinion on this. The only way to lose is not to play the game.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. I need help with this please (IMPORTANT)
    By damha in forum C Programming
    Replies: 11
    Last Post: 04-06-2011, 10:30 AM
  2. For me is very important Please...
    By pitkini in forum C++ Programming
    Replies: 3
    Last Post: 07-26-2005, 02:49 AM
  3. &...how important?
    By CAP in forum C Programming
    Replies: 1
    Last Post: 07-16-2002, 02:02 AM
  4. Is it more important...
    By Betazep in forum A Brief History of Cprogramming.com
    Replies: 9
    Last Post: 06-09-2002, 05:01 AM
  5. it is important
    By Unregistered in forum C Programming
    Replies: 2
    Last Post: 04-01-2002, 06:03 PM