C/C++ Learning

Started by
13 comments, last by ServantOfGlaaki 22 years, 2 months ago
Hi there all, I''ve spent the last 3 years or so learning and programming in Java, and I''ve realised that if I want to do applications, C/C++ is the way to go. The thing is, I don''t know much. Don''t worry, I''m not asking for a tutorial, but I would like to know what the differences are between C and C++, and which one I should learn. p.s. On some coverdisc I have a full copy of Borland CBuilder, version 5 (I think). Is this good, or should I invest in something better?
And a woman needs a man... like a fish needs a bicycle...[U2 - Tryin' to throw your arms around the world]
Advertisement
Java is a lot like C++. However, a couple of the low level parts of C++ will throw you off (pointers, memory management, et cetera). C is basically C++ without most of the easy-to-use OO features and lots of little things. Learning C would be more difficult for someone who started in Java, but it''s something you should look into for the future (C is still very widely used, so it can''t hurt to know).

BCB is pretty good, and should do fine. It has a lot of features aimed at RAD GUI based programs which you probably won''t need for a while. If you don''t like it, you should try one of the many free compilers and/or IDE''s available on the internet before spending money on one.

Null and Void, I''m shocked, I usually agree with you.

Since when are OO features easy to use, have you read these
forums?!

But everything else you say is true.
there''s actually a great beginner tutorial in the forums here on gamedev.net which talks about the difference about c/c++. and of course since it''s a tutorial it''ll help you with learning c/c++.

This is the Tutorial: http://www.gamedev.net/community/forums/forum.asp?forum_id=33
quote:Original post by Anonymous Poster
Null and Void, I''m shocked, I usually agree with you.

Since when are OO features easy to use, have you read these
forums?!


Java is object-oriented, too, so learning C++ (which is object oriented) would be easier than learning C (which isn''t) if the person learning already uses Java.

Get it?

------------------------------
Simple DirectMedia Layer:

Main Site - (www.libsdl.org)
Cone3D Tutorials- (cone3D.gamedev.net)
GameDev.net''s Tutorials - (Here)

OpenGL:

Main Site - (www.opengl.org)
NeHe Tutorials - (nehe.gamedev.net)
Online Books - (Red Book) (Blue Book)
------------------------------Put THAT in your smoke and pipe it
NullAndVoid:

In your first post, are you trying to say that I should begin with C++, and move on to C, and that C is better? Surely this can''t be true, as (the way I see it, which is almost certainly wrong ) C++ is a more advanced version of C. Can C do GUI-type-stuff (i.e. with a RAD)?

Can both C and C++ use such advanced things as DirectX, OpenGL, various parts of the Windows API, networking, etc.?

Sorry about all the questions by the way...
And a woman needs a man... like a fish needs a bicycle...[U2 - Tryin' to throw your arms around the world]
quote:Original post by ServantOfGlaaki
are you trying to say that I should begin with C++, and move on to C, and that C is better? Surely this can''t be true, as (the way I see it, which is almost certainly wrong ) C++ is a more advanced version of C.

Neither is really better than the other. It''s a matter of opinion. C++ is object oriented, more like Java, therefore it would be easier for you to learn. C is not object oriented, so it''s not as complex as C++, but it''s different from Java, so it would be like learning something totally new, whereas learning C++ would be easy because it is similar to Java, which you know already.

quote:
Can both C and C++ use such advanced things as DirectX, OpenGL, various parts of the Windows API, networking, etc.?


Yes.



------------------------------
Simple DirectMedia Layer:

Main Site - (www.libsdl.org)
Cone3D Tutorials- (cone3D.gamedev.net)
GameDev.net''s Tutorials - (Here)

OpenGL:

Main Site - (www.opengl.org)
NeHe Tutorials - (nehe.gamedev.net)
Online Books - (Red Book) (Blue Book)
------------------------------Put THAT in your smoke and pipe it
In C++, you can technically do anything you could in C (with a few exceptions). You probably already heard this, which is why you may be confused as to how C could be so different.

C++ is focused more towards OOP, like Java. An object oriented program written in C++ will be designed much differently than a procedural program written in C. Both languages require a different mindset, so you can''t just think of C++ as an extension to C.

My suggestion would be to learn C++. It would probably be easier since you already know Java.
quote:Original post by Drizzt DoUrden
Neither is really better than the other. It''s a matter of opinion.


What are you talking about? C++ is so much better than C it''s not even funny.

DON''T learn C(unless you have to for a job or something), it will distract you from doing more productive things with more advanced languages.

C++ offers everything you could ever want from C, and so much more.
*sigh*

Some people strive for simplicity. C++ doesn''t offer that, at least, not as well as C does.

------------------------------
Simple DirectMedia Layer:

Main Site - (www.libsdl.org)
Cone3D Tutorials- (cone3D.gamedev.net)
GameDev.net''s Tutorials - (Here)

OpenGL:

Main Site - (www.opengl.org)
NeHe Tutorials - (nehe.gamedev.net)
Online Books - (Red Book) (Blue Book)
------------------------------Put THAT in your smoke and pipe it

This topic is closed to new replies.

Advertisement