C++ as a starting point?

Pages: 12
So I want to get into programming. I made a question post on Yahoo! Answers about this but I figured this would also be an appropriate place to ask as well as a discussion board for C++ programmers and C++ beginners...

http://answers.yahoo.com/question/index?qid=20110405202010AA58upg, is the link to the question on yahoo answers if you want a bit more info.

Basically I am wondering to start programming and to go checkout some books and what-notis C++ a good program to start with? Some people say Python, some say C, and some even say C++. C++ is supposedly the hardest of t hose 3, but I understand that jumping right into to C++ gives you good habits and learning it gives you the ability to go into any language with a valuable platform of knowledge. I am prepared to go check out/buy some books and slowly but surely dig into this language.

So simply put: to first get into programming, is it viable to start with C++? If so, other than the tutorial on this site (which I will surely use) what are some other resources?
Don't bother with C if you are eventually going to learn C++, it is a waste of time.

As for Python vs C++...it depends. I learned C++ first, but Python can be easier for beginners (especially since it's a scripting language so you can test stuff immediately).

It's certainly viable to start with C++...but like I said, it does depend on you mainly. I don't think it would hurt to try both though.
Yea I am kind of gong back and forth between starting with C++ and Java...
Just pick any of the two. They both have their advantages and drawbacks, and once you are good in either of those two using the other won't put up much of a difficulty (that is not to say you can just completely effortlessly switch between the two, but the differences are mostly details you will notice soon enough).
>Don't bother with C if you are eventually going to learn C++, it is a waste of time.
I don't agree with you, because there are too damn many people like to write c in c++
If you want to work with them, you have to know c even you don't want to stuck at c
(But you could learn c wait until the time you have to work with them)
If you could grasp c++, I don't think c would be a problem for you
But you may think it is too verbous to program with c after you familiar with c++

c is my first language, then java and a little of c#, finally c++.
I don't know python, but between c and c++
I would suggest you learn c++ first, because you may feel very difficult to change
your way of thinking on "how to program with c++" if you learn c first

Opinion of the father of c++
Knowing C is a prerequisite for learning C++, right?
http://www2.research.att.com/~bs/bs_faq.html#prerequisite
Last edited on
Don't bother with C if you are eventually going to learn C++, it is a waste of time.

I am pretty much sure this was meant as "You do not need to know C before starting to learn C++, and it's not particularily useful either"
^Yeah, that's what I meant...didn't realize it was ambiguous. >_>
I didn't either, but apparently it is.
My first language was Javascript because I started with web page development (HTML, CSS, then Javascript). However, I didn't understand Javascript's OOP until I learned Java. So I guess Java would be my first truly understood language. You could consider starting with Java as it teaches very good OOP habits. It really depends on why you want to learn programming. I wanted to write dynamic web pages so Javascript made sense, and so did Java (at least more then C++). They are all going to be about as difficult as the next at the beginning.
Last edited on
Interesting opinions.

I should note that I fully intend to enter the gaming industry, most likely at first as a programmer of some kind. I am currently in high school, but already looking at schools for the industry of game development.

I want to start getting into programming to get a jump start on my future education and career skillset.

I am assuming C/C++ are used more in the gaming industry than Java, but I may be wrong. I am just having a difficult time choosing (basically out of those 3) which would be a good starting point. I am leaning towards C++, but at the same time many people are saying Java for it's portability, access to many OS, and excellent 'small applications'. But when I think about that, I also think C++ has a lot more action in game development, so I really don't know which would be better to start out.

I plan on knowing multiple languages well by the time I graduate with some sort of Bachelor in Computer Science or Bachelor of Science in Game Development.

*sigh*.
Game developers: the hardest working, worst paid programmers in the world.

You will probably use C++ a lot more professionally, but Python is a much easier place to start. The language is fairly clean and will enforce some good programming practices (some of the code formatting I see on this board makes me want to cry). You can learn all about data structures and algorithms in Python, plus imperative and functional programming styles (even declarative with the right library).

C++ is a great language but it's backwards compatibility with C is a mixed blessing. It gives you the power to get as low-level as you could possibly want, but the syntax suffers in certain areas. It is also a "big" language, with lots of language features that make it difficult to know where to start and for those helping you to know how to help.

In Python, there's probably one good way to do something. In C++ there are a lot of ways to do things, and everyone teaches it a different way.
Thank you for trying to discourage me from my passion and live goal, and taking my excitement for post-high school life from a 10 to a 1.

I see what you are saying about Python, but now I am concerned about wanting to become a game developer...
Why should these facts cause you concern? We're just sharing with you the truth as we see it. Do you think it stops any of us from persueing the same dream? C++ takes a while to learn, no amount of positive thinking is going to change this. So if you're interested in it you have a long road ahead of you.
Game developers: the hardest working, worst paid programmers in the world.


Paid in money, you mean. :P Satisfaction is great...or I hear that at least. And if you are good enough to be an indie team you can make a crap load of money.
And if you are good enough to be an indie team you can make a crap load of money.

Oh, absolutely. But the odds are about where they are for jocks landing on a professional sports team.
Oh, absolutely. But the odds are about where they are for jocks landing on a professional sports team.

I prefer to think that it has nothing to do with odds. ;)

C++ was my first language and I'm glad that it was. C++ gives you a better understanding of how things actually work, unlike higher level languages. You could do a search on this site for "C++ Books" or something like that if you decide that's what you want to do.

Whatever you choose, I recommend learning only one language at a time.
Hello, I have been working with coding since I was about 12. I'm 14 now and I can do pretty well with C++. When I was 13 I started expanding my coding horizons. When I was 12 I did research on the perks of different programming languages. Because it is the world standard for most video games and other software, I chose C++ to start with, no matter how difficult. I branched off into VB.net next. I found it much easier to work with but there was a lot less that I could do with it and it wasn't easy to personalize it like C++. Over the course of 2 years I've worked with over 10 languages. Browni3141 is absolutely right. I tried to consume way to much information, and quit for six months. He is also right about getting books. My father is going back to school for graphics design and some computer programming, so I got back into it to make stuff with him. While experimenting with the different languages I found that Python was absolutely the easiest to work with, but I never used it to the point of making complex programs at all. I have almost completely devoted myself to C++ and I admit I find it challenging, but there are a lot of people who have the same questions and a lot of people with answers.

P.S. Browni3141, What higher level languages do you speak of? lol this is some pretty heavy s...stuff...
You will probably use C++ a lot more professionally, but Python is a much easier place to start. The language is fairly clean and will enforce some good programming practices (some of the code formatting I see on this board makes me want to cry).


I fermently disagree. The only thing that Python enforces is indention. Other than that, you can write far more horribly structured programs in Python than you ever could in C++.
Last edited on
closed account (z05DSL3A)
The idea of which is the best language to learn first is flawed for a number of reasons. The most important part of learning to program is more than just learning a language. A lot of the questions asked here are not necessarily to do with the people not knowing the language, they often are more to do with not being able to devise a solution to be implemented in the first place.

Another reason is, irrespective of the language you chose, the quality of the teaching material is very important. If you chose C++ and try to follow a bad source of info, you will be in a world of hurt, a good source will make it easy. C++ is seen as hard because it it very versatile and has many paradigms, chopping and changing between paradigms while learning can be very confusing, but again a good source will take you through this in a logical way.

Sometimes you need to learn concepts without a language and later lean how the language implements those concepts.
I agree with Gray Wolf here. C++ is certainly not one of the easiest languages, but most problems beginners have aren't even related to the language in the first place.
Pages: 12