Sign in to follow this  

learning c

This topic is 4197 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

You really don't want to learn C. (Even if C++ is in your "game plan", C makes a poor stepping stone. You can learn a very small subset of C++ "first" which is quite reasonable to manage and does things that are completely impossible in C, thanks to the C++ standard library.)

These days, C is for people who have to program hardware for which C++ compilers don't exist yet, or where space (in the sense of the actual program size on disk, not memory usage) is extremely limited (I'm talking less than a megabyte of permanent storage here). Oh, and people developing Linux ;)

Share this post


Link to post
Share on other sites
There are many reasons to want to learn C. GameHunter might want to do some coding for microporocesser or maybe he wants to learn it for legacy reasons. C is still a very valid language, just because something is newer does not mean it is better. In your opinion there is no reason to learn C, but it is not your opinion that matters it is GamHunter's.

So to answer your question instead of telling you that you don't want to learn C. I would suggest "C How to Program", fourth edition by Deitel and Deitel. It is a really good book and can be used as a book to learn and also makes a good reference book once you know the basics.

theTroll

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Whatever happened to knowledge for knowledge's own sake? Maybe he's just curious, and wants to research a wide variety of languages. Besides - having a firm grounding in a variety of languages makes you a better programmer, IMHO. You get used to all sorts of idioms and ways of doing things.

Share this post


Link to post
Share on other sites
Quote:
Original post by TheTroll
There are many reasons to want to learn C. GameHunter might want to do some coding for microporocesser or maybe he wants to learn it for legacy reasons.


Quote:
Original post by Zahlman
These days, C is for people who have to program hardware for which C++ compilers don't exist yet, or where space (in the sense of the actual program size on disk, not memory usage) is extremely limited (I'm talking less than a megabyte of permanent storage here). Oh, and people developing Linux ;)


I addressed both of those situations explicitly.

Quote:
C is still a very valid language, just because something is newer does not mean it is better.


Valid in its contexts, yes. And newer things are not necessarily better, but C++ does happen to provide lots of useful tools, each of which has minimal overhead, while still technically allowing almost everything that's legal in C (even though people will rightly tell you not to do things in the old ways without a very good reason).

Quote:
but it is not your opinion that matters it is GamHunter's.

Quote:
From the AP
Whatever happened to knowledge for knowledge's own sake? Maybe he's just curious, and wants to research a wide variety of languages. Besides - having a firm grounding in a variety of languages makes you a better programmer, IMHO. You get used to all sorts of idioms and ways of doing things.


C certainly won't teach you any useful idioms that C++ wouldn't. (Unless you find something "idiomatic" about treating text as a contiguous sequence of bytes in memory, with no special decoration except a magic value marking the end.)

Anyway, beginners come here for *guidance*. When you are trying to help someone who is marked as a "beginner", you IMHO have to accept that that person necessarily does not have an especially good sense of direction (due to lack of information), and is likely to have arrived with a preconceived (and therefore as likely as not to be wrong) notion of what direction to go. If you want to code for a microprocessor or work on legacy code or something else specialized, then you ought to already have significant experience under your belt. If not, you're better off being blissfully unaware of these "special" environments. (I can say this with confidence having done professional mobile game development in the past and being involved in the company interview process.)

Share this post


Link to post
Share on other sites

This topic is 4197 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this