Jump to content
xisto Community
Sign in to follow this  
kuberan_swe

How To Learn C/c++

Recommended Posts

Every computer newbie (almost) try to learn C/C++ as their first programming language...So it's very important to learn these languages very well,as it lays a foundation for you to develop programming skills and aids you in studying still more new programming languages in the future...If you have a sound knowledge of C/C++ you can study anyother programming language....C and C++ should be studied from the perspective of programming.You should not simply study about the language...You should spend time in implementing many concepts....Concepts are very important while studying a Programming language....Suppose you study about constructors and destructors in C++,first you should know why it is used...then what disadvantage it overcomes....Why did they think of a new concept like this and then how it is implemented in C++....After that you should also study if there is any disadvantage of that....WhenEver you study about a concept you relate that with a real world example...For example References are available in C++...It can be summed up in word as Pseudo-name....You can imagine as a nickname to a person....You call your friend as Vignesh....Let his nickname be Fatso....Whenever you refer Fatso it refers to vignesh.....Whenever Fatso gets hurt vignesh also gets hurt...References are used instead of pointers......So berfore moving to references you should have known the disadvantage of pointers....So building strong cocepts and fundas are very important....Ask Why for every concept...Like why initialisation when there is assignment....When you start to think like this your thought process gets streamlined....The next step is that Programming language is to program...It's not enough that you should study these concepts theoratically...You should also spend time on implementing these concepts....The best environment to study C/c++ is Linux....All Linux Distro's comes with GCC(GNU Compiler Collection)....It's the best compiler....There are many books on How to use GCC...Just Google GCC e-books....Have great fun in learning C/C++

Share this post


Link to post
Share on other sites

Hm, well I self-taught myself C++ in 7th grade because I saw my friend (who works for IBM) working on a project that interested me; however, I never really "taught" myself, but more just learned how to use it. I know now how bad my programming is even if it does do what I want it to do (most of the time); however, I hope that I will learn better concepts when I get into college. This is definitely great advise for anyone looking to learn C++ though.

Share this post


Link to post
Share on other sites

I learnt C programming through a mixture of theory and practice, but it wasn't until I started tutoring in the language that my grounding in it became decently solid. There's nothing quite like needing to answer all manner of leftfield questions to really drum some of the fundaments of a language into you. Obviously this isn't possible or even desirable for everyone, but I believe the advantage came from the inquiring minds of those learning the language: If you can keep your level of curiosity up while you study a language, and follow up on unanswered questions you might have, you'll get a far better understanding of the language.Also, very importantly: Read other people's code. Not only for their successes and different ways of solving problems, but for the novel ways that they find to make mistakes. Nobody could write a decent novel without having read a bunch of them first; there's a difference between getting across the plot of a story and telling it well.Finally, I don't think I'd recommend C as a first language unless you have a compelling reason to start using it. The basic theories of programming are more prominent and educational in languages such as Pascal/Modula-2, if you have the time and inclination to study them. Have a read through the C FAQ to get an idea of how esoteric some of the fundamentals can get!

Share this post


Link to post
Share on other sites

You disappointed me! 8(I thought you were going to provide a link to a really nice C++ editor. Well, I found a few, but we have a newer version of C++ and for some reason the codes don't match up exactly (Like, for example, when I type in #include <something.h> the newer version does something like #include "something")

Share this post


Link to post
Share on other sites

I am trying to learn, well, unsuccessfully. I don't know where to start! I don't know what tutorials to use! My IT classes in school are very simple, and don't even touch on programming! It makes me mad![/rant]

Share this post


Link to post
Share on other sites

To learn C/C++ your best bet is to either get a book and read it while doing the exercises and so forth, or use an online tutorial. Once you have basic knowledge of the data structures, how to write code, etc. you can try to right small programs that are useful (preferably command-line programs). Doing this you will encounter many errors and having to figure out what is wrong with your code and how to improve it. This way, you truely learn how to code and not to just type in examples from a book. From here you would go on to writing more practical applications and so forth. However, to get to that point will probably take you a good month or more so i wont go into more detail.As for how to write code, you can use any editor or notepad. Personally I use visual studio (you can get visual studio express for free). however, you can also use eclipse's cdt for C/C++ development.

Share this post


Link to post
Share on other sites

I can recommend one book. "The C Programing Language" from Brian W. Kernighan and Denis M. Ritchie (Denis Ritchie was one of creators of C language) make learning very easy. Read chapters, follow primers and try to understand them and, most important, do exercises. This while not make prof programmer from you bat it is begin of journey. After that goes hard part, learn standard libraries and libraries in field you work in (example for grafic you while learn openGL). This learn from documentation of particular library and commented code.PS: My writen english is bad so I apologize to reader.

Share this post


Link to post
Share on other sites

I actually have a copy of "The C++ Programming Language" by Bjarne Stroustrup (creator of C++). Just to clarify, it is a different book from the one djole_home mentioned. I tried to learn from this book, but it was VERY difficult (at least for me) because of two things:1) The author expects you to either have some programming foundation or be able to pick up on the basics rather quickly.2) It is very fast paced. Every time a new topic is introduced, the author goes through ALL the ins and outs of the topic.Some people like this style of teaching/learning because of its intensiveness. If it works for you, that is fine, but if you are just beginning programming, I recommend you find something else.My high school offers a C++ course and (while taking it as an independent study) I used the book they provided to learn C++. I can't recall offhand the name of the book, but it was one meant for students just entering the field of programming. It was easy to read, flowed smoothly (for the most part) and gave nice examples with concise but sufficient explanations. If you are just starting out and want to learn C++, I recommend a book that is structured in such a fashion over the more 'hardcore' books out there. That being said, it's really your decision what to use (what kind of book, or even abandonning books altogether and using the internet). You should definitely check out a bunch of different books/resources, see which one you like best and then use that one (or more than one if you prefer).

Share this post


Link to post
Share on other sites

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  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.