Learning to program in C++(Help)

Hey, I was wondering, is there a good series of videos that is not boring(lecture style) or websites that will help me learn C++ because I want to learn programming, but I just can't focus on something boring like a lecture[I either write all the notes down before or I just learn it(the lectured subject) online].  Also, are there any FREE compilers that you would recommend to a beginner.

Thanks in advance!


If you have never programmed before you do not want to start by trying to learn C++. There are other languages that are more suited to a beginner and depending on what you want to program will dictate what language you use.

If you are already a programmer then its probably best to read a book on C++11 as it will introduce you to a load of memory management techniques that you will need for C++ which you probably haven't picked up from other languages.

As for compiler they are pretty much all free but some flavour of GCC is probably the best one to go for in my opinion. If you are on windows there is a great GCC port called MinGW.

The New Boston is usually pretty decent.   http://thenewboston.org/list.php?cat=16

Beginning programming in a serious language is necessarily dry.  I mean, the basic logic of programming is difficult to really make exciting, yet until you learn it you can't do the super exciting things.  Spice it up yourself by deciding on practice projects that interest you.  Like a mini text-based game or something.

Secondly, if you're absolutely new to programming and get bored easily, perhaps start with AS3?  It's the language behind flash games, and the current version of the language is very similar to strong languages like Java and C++.  If you're more of a hands-on sort who wants to see some immediate results and likes games, I'd start there.  A great resource for that is chrismweb.com . He has articles on the basic structures in programming languages as well as a nice, step-by-step game tutorial.  Browse the flash archives if you're interested.  By the time you got through that, you'd have an understanding that would make something like C++ much easier to get into.



Can be fun things to start with.

youtube, textbooks, other sites there is so much as your disposal to learn.

eg.  http://www.tutorialspoint.com/cplusplus/cpp_quick_guide.htm

No matter what you are going to learn the fundamental building blocks of programming - paying attention to boring lectures and incorporating what you've learnt from the very basics to more complex topics. There are some really high quality text books like that from D.S Malik. 

Pay attention to developing good coding habits - code that easy to read (indenting & design) and good commenting.

If you want to work with the .NET framework microsoft offers Visual C# express & others for free and are really nice to use.

Other IDE's - Codeblocks (win,mac,linux), Eclipse, NetBeans, (good txt editor) Notepad++, there are loads more as well.

Best of luck.

Thanks for everything guys, also, later in the road my plan is to start graphics programming, any help with that?

Graphics programming is a pretty complex field. You need a strong background in linear algebra, trig, and geometry to really grasp all of the concepts involved.

That being said, if you really want to go into graphics, C++ all the way. It's the lingua franca of the computer graphics industry.

However, if you're just starting out, C++ isn't the most friendly language. It's low level and you need a good understanding of the hardware to really leverage the power of C++. If you're ready to take the plunge though, go for it and start getting your hands dirty. See the sticky in the forum or the other posts in this topic for a good place to start learning.

If you're looking for a more "gentle" introduction, I'd start with any C-based programming language. That is, the syntax of the languages are similar. Languages like C#, Java, and Actionscript are all commonly used to make games but have a higher level of abstraction than C++, so it's a lot cleaner from the human side of things and therefore easier. Still, they share a lot of similarities with C++, so it'll make the transition easy.

Honestly, I too prefer Actionscript (or AS3, as remption mentioned above). It's kind of a dying language (that is to say, you probably won't get a 6 figure job writing flash programs [thanks Steve Jobs!]), but it's very easy to build things quickly and intuitively. It's what got me into programming, so there's something to be said for that.

Whatever you choose to do, just keep in mind there's no right or wrong answer, it's all just what you want to do and how motivated you are to do it. Best of luck.

Starting with C++ will make you want to pluck your eyes out. It's really not for beginners. It can really mess with your motivation to become a programmer. Why don't you start with something easier to grasp. A higher-level language like Python. It's important for you to first grasp the core concepts of programming. That way, learning different language later on will be a lot easier. And then a new one even easier.

I don't know anything about graphics programming, but I know a guy who does. It's definitely not for beginners. And I'm not sure you'll be able to teach yourself graphics programming successfully. You'll need years of experience with C++ and a lot of mathematics to get into it. Your best bet is to actually sign up for a programming course.

"He who would learn to fly one day must first learn to stand and walk and run and climb and dance; one cannot fly into flying." ~ Friedrich Nietzsche

  1. Python
  2. C
  3. C++

Hey guys, thanks for all of the tutorials, any help with Python?(I want that to be my starting point)