Just having finished Intro to Comp. Sci. my Sophomore year of High School, I wanted to expand my horizons into C/C++ (being that many video game companies require that in a programmer, and that is what I aspire to be, a video game programmer). But is it necessarry to learn C before C++?
I have gotten some mixed results from googling this. While my mom (she is a programmer, long forgotten C/C++) says that I should/it wouldn't hurt, many people on the interwebz seem to think otherwise.
I have been lurking around this website for a wee bit, and everyone here seems very (more so than I, at least) knowlegable about these types of things, so I opted to ask.
Oh, also I spent that year of Comp. Sci. with Java, if that makes any difference.
Thanks!
Side note:
If there is any other advice you have for a new programmer, it would be greatly appreciated!
EDIT: Just noticed the "FAQ" thread. I appologize in advance if this would have been better suited to go in there instead!
Last edited by Sanity Pig; 06-14-2009 at 11:21 PM. Reason: Readablility
No, there is no reason you need to learn C before C++.
Well, I more or less learned C++ all by myself, and I still do not know how C code looks like... So my educated guess is that you do not need to learn C. I used the Code::Blocks IDE for coding. I dislike how debugging works there though.
proudly presenting my personal website and game website: F1Simulation. a thrilling Managed DirectX racing game... also my Ask Me
look at my tutorials about cropping images and Mono: bundling Mono with programs and lambda expressions
If you are familiar with Java, you will find C much more frustrating to learn than C++. I learned C, then C++, then Java, then dove back into C++. Going from C to C++ involves a LOT of unlearning. C uses scanf() and printf() for input and output, with format strings that people tend to screw up on a regular basis. C++ uses cin and cout, stream objects, to automatically handle most of the details. Since Java took a lot of ideas from C++, they look fairly similar. I've even read some guides to help Java programmers transition to C++.
Overall, learning C isn't really going to help you learn C++. The things that it could (in theory) help with you will already get from Java.
It would not hurt, but as Jordan said, it is unnecessary. That said, if you learn basic C++ you already know most of C. It might be worth looking at the few differences, so that you can make your way around C as well, because, after all, many people expect C++ programmers to know C.
Posted via CodeCall Mobile
I personally learned a bit of C++ before C. I don't really know which is harder, but C involves lots of pointers, which are (many people say) a huge mental leap to make. But then again, YMMV, because I personally find pointers easy compared to understanding multiple inheritance or templates in C++. (x_x) All languages have their quirks, but which are hard depends on the individual.
well to be straightforward and to the point here in indie we are made to learn C programing before C++ and it kinda helps the student as to what is the difference between the two languages and it indeed helps to make your fundamental stronger
Many people ask that question, and the answer in my opinion is no. You don't need to learn C before go into C++ because they are 2 almost completly different languages, they only share some syntatical and semantical structures. However it's great for you to know C to boost your overall programming knowledge.
Yea, in all universities they teach C before C++ for people know the differences between programming paradigms.well to be straightforward and to the point here in indie we are made to learn C programing before C++ and it kinda helps the student as to what is the difference between the two languages and it indeed helps to make your fundamental stronger
C is based on structured programming, C++ is object oriented. Many programmers believe that learning C will hinder your future studies in C++.
I would never go as far as saying that learning C will hinder you. Not all of C++ is object oriented, and it is up to the programmer to choose how to solve a problem. One of the great things about C++ is that it always lets you choose, and very often you have the option to do it the C-way, a way I believe one should be aware of, even though you choose not to use it. In my experience, learning C will only be positive for your C++ studies. It is true that some things are done differently in C++ (i/o, typecasting etc), but I strongly disagree that knowing a different way of doing things (the C-way) is bad. It will only broaden your horizon. If you are in a hurry, however, it is perfectly fine to skip the C part. But I believe that knowing C can make you a better C++ programmer.
Posted via CodeCall Mobile
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks