Learning C
Moderator: Moderators
Learning C
Hey guys, I'm currently taking an introductory programming class in C, and I don't have the textbook yet. What would you guys recommend that is free and online and can help me learn C the fastest?
Re: Learning C
Google:
K&R
Deitel & Deitel
O'Reilly
any one of those is fantastic.
K&R
Deitel & Deitel
O'Reilly
any one of those is fantastic.
Re: Learning C
I would skip C and go to modern C++
Re: Learning C
af should have learned to read english in schoolREVENGE wrote:Hey guys, I'm currently taking an introductory programming class in C, and I don't have the textbook yet. What would you guys recommend that is free and online and can help me learn C the fastest?
Re: Learning C
C->C++->Modern C++
People tend to get confused by C and old C++ which slows them down, and eventually they get to modenr C++ with STL library and the better ways of doing things and realize a lot of what they learnt was unnecessary.
People tend to get confused by C and old C++ which slows them down, and eventually they get to modenr C++ with STL library and the better ways of doing things and realize a lot of what they learnt was unnecessary.
Re: Learning C
K&R 2nd ed.
Also, C++ is a completely different language, don't believe people when they say that knowing C will dramatically help you with C++. It'll help, but only a little bit.
Also, C++ is a completely different language, don't believe people when they say that knowing C will dramatically help you with C++. It'll help, but only a little bit.
Re: Learning C
Don't learn C, learn Python! You can always write C interfaces for it later on!
Re: Learning C
Sorry, I'm taking this class because it's a requirement for my major. Otherwise, I would definitely be more interested in learning C++ and Python. I'd probably pick up Python on the side regardless.
Re: Learning C
ENGINEERING STUDENT
Get him!
Get him!
-
- Posts: 70
- Joined: 29 Sep 2006, 00:32
Re: Learning C
A lot of small microprocessors that they use in robots and stuff natively support only C.
Re: Learning C
...which is not surprising, since C is basically a set of assembly macros.
Re: Learning C
Learn C, then skip C++ and go straight for C#, unless you want to become shell extension developer, kernel (driver) developer or other close to the hardware stuff. Or if you want to go cross platform learn python after C (or maybe at same time even).
C is still manageable to learn (contrary to C++) and will give you a decent understanding of how memory/cpu works on lower level without needing to dig into assembler.
C++ gives you the disadvantages of C, plus a whole bunch of other disadvantages.
C# gives you the advantages of C++ without the disadvantages of either C or C++, plus a whole bunch of other advantages
C is still manageable to learn (contrary to C++) and will give you a decent understanding of how memory/cpu works on lower level without needing to dig into assembler.
C++ gives you the disadvantages of C, plus a whole bunch of other disadvantages.
C# gives you the advantages of C++ without the disadvantages of either C or C++, plus a whole bunch of other advantages

Re: Learning C
I spend time programming in C for microprocessors pretty often. Still a useful language for certain applications. Yes, yes, I am an engineer.
Fortunately we have a better c programmer in house as well, because I'm pretty bad at it - much better at the hardware!
Fortunately we have a better c programmer in house as well, because I'm pretty bad at it - much better at the hardware!
- Tribulexrenamed
- Posts: 775
- Joined: 22 Apr 2008, 19:06
Re: Learning C
Learn C in a more typographic rather than algorithmic or logical way.
I liked the python idea.
I liked the python idea.
- PauloMorfeo
- Posts: 2004
- Joined: 15 Dec 2004, 20:53
Re: Learning C
Ho, boy. That was so .. perfect. I couldn't have puted it in a better way. I know all 3 languages and i confirm everything he said.Tobi wrote:Learn C, then skip C++ and go straight for C#, unless you want to become shell extension developer, kernel (driver) developer or other close to the hardware stuff. Or if you want to go cross platform learn python after C (or maybe at same time even).
C is still manageable to learn (contrary to C++) and will give you a decent understanding of how memory/cpu works on lower level without needing to dig into assembler.
C++ gives you the disadvantages of C, plus a whole bunch of other disadvantages.
C# gives you the advantages of C++ without the disadvantages of either C or C++, plus a whole bunch of other advantages
But that is drifting from the actual topic. For learning C, the fastest way is to pick up on the summary of any C course and use the internet to zap around tutorials and explanations on those topics. Not the best way, by far, but probably the fastest.
Re: Learning C
Thanks Tobi, I'll keep this in mind.Tobi wrote:Learn C, then skip C++ and go straight for C#, unless you want to become shell extension developer, kernel (driver) developer or other close to the hardware stuff. Or if you want to go cross platform learn python after C (or maybe at same time even).
C is still manageable to learn (contrary to C++) and will give you a decent understanding of how memory/cpu works on lower level without needing to dig into assembler.
C++ gives you the disadvantages of C, plus a whole bunch of other disadvantages.
C# gives you the advantages of C++ without the disadvantages of either C or C++, plus a whole bunch of other advantages

Re: Learning C
Ok now, what are some good IDEs? 
I can get Visual Studio Pro 2008 for free, but it's huge and I don't like it. Notepad++ + MinGW seems like what I'll start off with, but I've also had recommendations for Eclipse IDE. What do you guys think?

I can get Visual Studio Pro 2008 for free, but it's huge and I don't like it. Notepad++ + MinGW seems like what I'll start off with, but I've also had recommendations for Eclipse IDE. What do you guys think?
Re: Learning C
I use Eclipse for Python, Java, Ruby, and even scripting stuff like php and xml, but I've never used it for C - I've always used Microchip's IDE for C, which isn't so good, so avoid it.
Re: Learning C
VS is actually quite good despite the bloat; it's got a fantastic debugger which will make you a lazy bastard once you learn to use it.
In the open source department we've got code::blocks, which is several orders of magnitude smaller and works well.
Learn vim anyway.
In the open source department we've got code::blocks, which is several orders of magnitude smaller and works well.
Learn vim anyway.