#1
  1. Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2013
    Location
    India
    Posts
    65
    Rep Power
    20

    Question What are the future job options are available in C programming ?


    what are the carrier options available for C programmer ? Is it better than other programming languages like Java and .Net ? Reason behind asking this question is i was having subject of C programming a complete theory in my undergraduates first year. The book was also based on complete theory. But i have interest in C programming though i have not programmed any real world application in C. Can anyone suggest me what should i do ?
    Following is the link of subjects i have studied in my first year. No advance concept was there. Kindly look at the topics and books i have gone through. And suggest me what should i do ? Because I want to get job after completing my graduation.And In city i am living no job requirement for C :brrr:

    http://www.ngu.ac.in/SYLLABUS/MSCIT/SEM1/103.pdf

    http://www.ngu.ac.in/SYLLABUS/MSCIT/SEM2/203.pdf
  2. #2
  3. Contributed User
    Devshed Specialist (4000 - 4499 posts)

    Join Date
    Jun 2005
    Posts
    4,377
    Rep Power
    1871
    Since your domain seems to be India, my guess is your teaching language has been TurboC. Unfortunately for you, this is obsolete technology which nobody uses in the real world. It's possible to write all sorts of crap code in TC (such as char *s; gets(s);) and it would "work" just fine. I say "work", because gets() will proceed to write an unspecified number of bytes over some random memory address. Most of the time, luck prevails and it "works".

    If your tutor ever posted such code and doesn't realise the mistake, then I fear that your knowledge is rather weak and obsolete in the real world.
    I would suggest as a first step, getting one (or more) modern compilers.
    http://www.microsoft.com/express/Downloads/
    http://www.smorgasbordet.com/pellesc/
    http://www.codeblocks.org/
    http://sourceforge.net/projects/orwelldevcpp/
    Getting something to compile on TurboC isn't that impressive.
    Getting something to compile on 4 different compilers, AND give the same results in all cases - well then you're on pretty solid ground for saying that the code is good code.

    > what are the carrier options available for C programmer ?
    > Is it better than other programming languages like Java and .Net ?
    C is typically used for writing operating system (see Linux), and for writing lower level code on embedded systems. Now Linux is big, so it needs quite a large number of people to maintain it (about 1500 on this list ). But there is only ONE operating system. Contrast that with the 1000's of applications (written in many different languages) which run on top of Linux. The total number of application programmers exceeds the number working on the kernel by a hefty margin.

    > And suggest me what should i do ?
    Practice, practice, practice.
    Watch http://freecode.com/ for a few days, see what grabs your attention. Download the code, examine it in detail. Subscribe to the discussion and announcement mailing lists, and just listen to the chatter (could you work with the people involved?). If you decide to stay, read the bug list and try and fix one. If you have a fix (and have been watching the lists), you should have figured out what the process is for submitting fixes to the maintainer.

    Or you could google "programming contests". There are many sites with 1000's of problems for all skill levels.

    You should look to improve your program design and problem solving skills. Knowing where the { } go is just a tiny fraction of being a rounded programmer. If you can't apply your knowledge to solving real problems, then you won't be any use as a working programmer.

    Learn how to test and debug code, how to read (and write) useful bug reports. Also learn how to use version control systems like git and cvs.

    Build a portfolio of your work as it progresses, say keeping the last 2 or 3 projects on hand, to you could demonstrate them to potential employers.

    > And In city i am living no job requirement for C
    A downside of choosing a specialised career is having to move to where the work is. It's not like say "plumber" where work can be found wherever people are living.
    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
  4. #3
  5. Banned ;)
    Devshed Supreme Being (6500+ posts)

    Join Date
    Nov 2001
    Location
    Woodland Hills, Los Angeles County, California, USA
    Posts
    9,607
    Rep Power
    4247
    I looked up your syllabus and the following things jumped out at me:

    1. Some of those recommended books are absolute crap for learning modern C ("Let us C" for instance, also see the entry on Bullschildt). Also, most college courses in India recommend using Turbo C, which is a long-obsolete compiler targeting a long obsolete OS. Therefore, people studying this type of course come out with a very wrong idea of what C programming is about. Sad state of affairs really, but short of getting the lecturer to update the course, your only alternative is to learn by yourself.

    2. With that said, learn using a modern compiler such as gcc or Visual C++.

    3. Ignore anyone who asks questions like, what is the result of y = ++x+++++x. Those people don't know the first thing about C programming. Feel free to point them to this website for details.

    4. Learn to read C code and critique it. There are several open source projects that work with C, so simply take one apart and see what you can learn from it. It doesn't even have to be very complicated. For instance, look at the source code of some simple *nix utility programs (such as touch or join commands -- you might want to read what touch and join do first, if you're not familar with those commands, by reading the manual pages here and here)

    Comments on this post

    • clifford agrees : ... and there was no mention of debugging and the use of a symbolic debugger - should be introduced in the first lesson IMO.
    Up the Irons
    What Would Jimi Do? Smash amps. Burn guitar. Take the groupies home.
    "Death Before Dishonour, my Friends!!" - Bruce D ickinson, Iron Maiden Aug 20, 2005 @ OzzFest
    Down with Sharon Osbourne

    "I wouldn't hire a butcher to fix my car. I also wouldn't hire a marketing firm to build my website." - Nilpo
  6. #4
  7. Contributing User

    Join Date
    Aug 2003
    Location
    UK
    Posts
    5,109
    Rep Power
    1802
    C was originally intended a systems level language, and is the language that Linux is primarily written in for example. Low level operating system APIs for POSIX and Windows are C, so for a while desktop application development was widely implemented using C, however the prevalence of object oriented frameworks (especially for GUI development), and increased hardware performance have largely left C behind as a desktop applications development language. C++ is now the more widely used language, for application development. C#, Java, and any number of web-development languages are increasingly important and will be more so with the development of "cloud computing".

    C is still widely used in embedded systems. If C is your language of choice for a career then embedded systems is likely the only path that will give you many options. Even in embedded systems however, C++ is increasingly important. Currently for example, I am not recruiting embedded systems developers without C++ experience.

    In short C++ and OOP is what you should be learning, and a number of other languages too if you are looking at application and web development.

    Take a look at this Indian embedded systems job site for example.
    Last edited by clifford; April 27th, 2013 at 02:12 AM.
  8. #5
  9. Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2013
    Location
    India
    Posts
    65
    Rep Power
    20

    Talking


    I have developed GSM based home automation system in my Third year project. I have written the code in "C" .
    https://www.youtube.com/watch?v=Gdl6EENgFkA



    Second thing since my first year i am using "Code::Blocks" as IDE.

    Following is the list about the top programming languages by TIOBE.
    http://www.tiobe.com/index.php/conte...pci/index.html

    Here the C is at the TOP ! So i am in confusion. Because i have written small but a kind of real world code in C# and in VB.net and in "C(Embedded)". I think by means of real world application you should be specific like while considering C you should consider developing Embedded and OS applications. And while In C# the creepy Management systems and database connections etc. So my point is if C is first than how people are writing applications in it ? i mean how they are developing Applications in C which is apart from the OS and embedded one ?

    forgive me if i have embarrassed any one by posting this because i am student who is not coming from such strong educational environment still i want to be good programmer and i want to urn a lot of money but i can't decide to go in which direction.
    One more thing. Look at the project i have developed. Can people give me job with this project ?
  10. #6
  11. Contributed User
    Devshed Specialist (4000 - 4499 posts)

    Join Date
    Jun 2005
    Posts
    4,377
    Rep Power
    1871
    Whereas on sourceforge, C is only ranked #4
    Java (51,485)
    C++ (41,610)
    PHP (33,048)
    C (30,954)
    C# (15,804)
    Python (15,721)
    JavaScript (13,078)
    Perl (9,845)
    This is ACTUAL distribution of programming languages across real projects.

    TIOBE's index is based only on search engine hits. Every wannabe hacker has a "C programming" section, but 99% of them aren't worth spit. Most of them just rehash TurboC code.
    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
  12. #7
  13. Banned ;)
    Devshed Supreme Being (6500+ posts)

    Join Date
    Nov 2001
    Location
    Woodland Hills, Los Angeles County, California, USA
    Posts
    9,607
    Rep Power
    4247
    Originally Posted by jaysinhp
    So my point is if C is first than how people are writing applications in it ? i mean how they are developing Applications in C which is apart from the OS and embedded one ?
    For what it is worth, a large part of our division's main applications are written in C. We aren't in the OS or embedded systems business, but what we have is a very large # of online transactions which need to be processed very fast. Guess what language our delivery engines are written in?

    Oh and there are some parts of our decision tree engine that are written in C++.
    Up the Irons
    What Would Jimi Do? Smash amps. Burn guitar. Take the groupies home.
    "Death Before Dishonour, my Friends!!" - Bruce D ickinson, Iron Maiden Aug 20, 2005 @ OzzFest
    Down with Sharon Osbourne

    "I wouldn't hire a butcher to fix my car. I also wouldn't hire a marketing firm to build my website." - Nilpo

IMN logo majestic logo threadwatch logo seochat tools logo