Learning C

Learning C

Post just about everything that isn't directly related to Spring here!

Moderator: Moderators

User avatar
REVENGE
Posts: 2382
Joined: 24 Aug 2006, 06:13

Learning C

Post by REVENGE »

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?
User avatar
Dragon45
Posts: 2883
Joined: 16 Aug 2004, 04:36

Re: Learning C

Post by Dragon45 »

Google:

K&R
Deitel & Deitel
O'Reilly

any one of those is fantastic.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: Learning C

Post by AF »

I would skip C and go to modern C++
User avatar
Dragon45
Posts: 2883
Joined: 16 Aug 2004, 04:36

Re: Learning C

Post by Dragon45 »

REVENGE 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?
af should have learned to read english in school
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: Learning C

Post by AF »

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.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: Learning C

Post by imbaczek »

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.
User avatar
Dragon45
Posts: 2883
Joined: 16 Aug 2004, 04:36

Re: Learning C

Post by Dragon45 »

bad -m
User avatar
Acidd_UK
Posts: 963
Joined: 23 Apr 2006, 02:15

Re: Learning C

Post by Acidd_UK »

Don't learn C, learn Python! You can always write C interfaces for it later on!
User avatar
REVENGE
Posts: 2382
Joined: 24 Aug 2006, 06:13

Re: Learning C

Post by REVENGE »

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.
User avatar
Peet
Malcontent
Posts: 4384
Joined: 27 Feb 2006, 22:04

Re: Learning C

Post by Peet »

ENGINEERING STUDENT

Get him!
Dash_Riprock
Posts: 70
Joined: 29 Sep 2006, 00:32

Re: Learning C

Post by Dash_Riprock »

A lot of small microprocessors that they use in robots and stuff natively support only C.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: Learning C

Post by imbaczek »

...which is not surprising, since C is basically a set of assembly macros.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: Learning C

Post by Tobi »

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 :-)
User avatar
Erom
Posts: 1115
Joined: 25 Apr 2006, 05:08

Re: Learning C

Post by Erom »

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!
User avatar
Tribulexrenamed
Posts: 775
Joined: 22 Apr 2008, 19:06

Re: Learning C

Post by Tribulexrenamed »

Learn C in a more typographic rather than algorithmic or logical way.

I liked the python idea.
User avatar
PauloMorfeo
Posts: 2004
Joined: 15 Dec 2004, 20:53

Re: Learning C

Post by PauloMorfeo »

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 :-)
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.

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.
User avatar
REVENGE
Posts: 2382
Joined: 24 Aug 2006, 06:13

Re: Learning C

Post by REVENGE »

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 :-)
Thanks Tobi, I'll keep this in mind. :P
User avatar
REVENGE
Posts: 2382
Joined: 24 Aug 2006, 06:13

Re: Learning C

Post by REVENGE »

Ok now, what are some good IDEs? :P

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?
User avatar
Erom
Posts: 1115
Joined: 25 Apr 2006, 05:08

Re: Learning C

Post by Erom »

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.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: Learning C

Post by imbaczek »

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.
Post Reply

Return to “Off Topic Discussion”