Which book?, Which language?

Started by
7 comments, last by x_domain 22 years, 6 months ago
I''m thinking about learning a programming language from scratch, and I’m thinking about learning C++, Firstly, should I learn C or C++ which will be more helpful and easier to program in? And secondly, which book does anyone recommend? I’ve searched through the list on this site and I’ve thought about buying, “Sams Teach Yourself C++ in 21 Days” but I was wondering if this could be to advanced for a complete beginner to programming? Any replies are greatly appreciated Mike e-mail mike2k@ntlworld.com
Advertisement
Hey, x_domain!

I''m not really the best person to advise you, since I am not a professional in the game development field. But I am a Computer Science major.

My college has just dropped its C++ courses in favor of Java. There are really a lot of good reasons for this, and I''m pretty happy about it.

But I''m pretty sure that C++ has been the dominant language in the game field for quite some time now. So most of the books on game programming are on C++. And there''s a lot of C++ code out there.

I personally think that Java might be the better language to go with (and that''s the one I''m learning.) But there are probably many other people out there who would say differently.

I guess this hasn''t been very helpful. But you might want to look into the relative strengths and weaknesses of C++ and Java. In any event, good luck!


Jonathon
quote:"Mathematics are one of the fundamentaries of educationalizing our youths." -George W. Bush
Jonathon[quote]"Mathematics are one of the fundamentaries of educationalizing our youths." -George W. Bush"When a nation is filled with strife, then do patriots flourish." - Lao Tzu America: Love it or leave it ... in the mess it's in. [/quote]
Oh, yeah. You might want to ask a few questions in the Java programming forum. If you''re just starting out, not everything being discussed will make sense. But Gamedevvers are pretty cool, and you''ll be able to get some good information from some experienced professionals.


Jonathon
quote:"Mathematics are one of the fundamentaries of educationalizing our youths." -George W. Bush
Jonathon[quote]"Mathematics are one of the fundamentaries of educationalizing our youths." -George W. Bush"When a nation is filled with strife, then do patriots flourish." - Lao Tzu America: Love it or leave it ... in the mess it's in. [/quote]
Hey x_domain, I''m pretty new to programming, so take everything I say with a grain of salt. But I was recently having the same dilemna as you and this is basically what I decided...

I decided to start with C, study one maybe two books on it, and then fiddle with it for about a month. Then I plan on heading to C++, most of C''s functionality will still apply to C++. Making an otherwise potentialy more complex language easier to understand and at the same time giving me insight into the reasons behind C programming structure and C programmers. If I were only going to learn one language it would be C++. I''d still reccomend learning both though.

As for Java, like I said I don''t have too much experience so take what I say with a grain of salt. However I think java is great. It''s ability to cross-platform and run almost on the fly is great. There is probably nothing that C++ can do that Java can''t, however I hear it is a bit slower. In the gaming industry I feel speed is king. I would reccomend learning Java eventually however I don''t believe it is going to replace C/C++ as the industry standard for some time. Therefor I would reccomend that unless you plan on specializing in cross-platform or web based games you learn C/C++ first.

As for books, I recently purchased Who''s afraid of C++, and Who''s afraid of more C++. As per the reccomendation on the "which language should I choose?" tutorial in the beginner section of (gamedev.net). I haven''t received them yet, however they got fairly good reviews on amazon.com, the style they are written in seems novel (Written from the perspective of a beginner asking questions to the author) and you should be able to pick them up cheap used on amazon.com. Note:Amazon doesn''t sell new copies anymore.

I don''t reccomend you purchase Sam''s teach yourself C++ in 21 days. Not that it''s not a good book, it''s gotten fairly good reviews. Only that you can read it for free at http://www.informit.com you can also find Sams teach yourself C in 21 days as well as several other computer related books there, 137 different ones last I checked. Alternatively, you may download several different books on C, including Sam''s teach yourself C in 21 days, to your computer at the website http://www.psyon.org/archive/e-books/programming/c/index.shtml .

I plan on using the free C book, then reading the free C++ book while supplementing it with the Who''s afraid of C++ series that I ordered. I feel this will work well due to the fact the styles of the C++ books are very different, thereby allowing broader range of learning.

After learning the basics of C/C++ I plan on learning win32 programming with "Programming Windows, The Definitive Guide to the Win32 API". Following that I plan on learning the Microsoft Foundation Classes with "Programming Windows With MFC".

Then finally moving on to Directx and OpenGL. I plan on purchasing both "Beginning Direct3D Game Programming" and "Tricks of the Windows Game Programming Gurus" for DirectX, and "OpenGL Game Programming" for OpenGL. Then it''s off to Java or perhaps whatever programming language happens to be popular in the year 2053 when I finally finish all this.

Sorry about the long incoherent post, but well I''m long winded..


quote:Original post by x_domain
I''m thinking about learning a programming language from scratch, and I’m thinking about learning C++,
Firstly, should I learn C or C++ which will be more helpful and easier to program in?
And secondly, which book does anyone recommend?
I’ve searched through the list on this site and I’ve thought about buying, “Sams Teach Yourself C++ in 21 Days” but I was wondering if this could be to advanced for a complete beginner to programming?

Any replies are greatly appreciated

Mike

e-mail
mike2k@ntlworld.com


C++ is just C with some extra commands. Anything that teaches you C++ will teach you C at the same time. C++ really isn''t any harder or easier than C is, so just go with C++.

The Sams book is exactly the right book to use.

On the topic of Java... Java is pretty close to C++. If you decide you like it, you can easily move into it once you understand C++. I wouldn''t start with it, though, because it has some problems when used for game development. Also, there''s a real possibility that java will be sidelined or obsoleted altogether in the next couple of years.
Go with C, then C++, C/C++ is the king of all languages, the language used to make other languages compilers/Interpreters, and Operating systems, its not going anywhere, java is easy after you understand C++, it is said that java is more of an object oriented language than C++, but I feel C++ is more complete.
Actualy the rule of thumb is that it''s easier to learn C++ before learning C. This is mainly because of the radical change in the thinking process that needs to occur before a C programmer can understand why things are done a certian way in C++.

Typicaly C programmers moving to C++ don''t fully utilize the language, they see a C++ trick here & there and use it while letting the higher level concepts such as OOP blow by them as they run for their C safty net.

The languages themselves are interchangable. Minor differences make up the actual language differences. However the thinking process between the two are completely different.

My suggestion is to learn C++ first then move on to C. Things will be easier to understand.
Joseph FernaldSoftware EngineerRed Storm Entertainment.------------------------The opinions expressed are that of the person postingand not that of Red Storm Entertainment.
Personally i would have to recommend NOT learning C, just focusing on C++. C++ is Object Oriented, C is not (its Procedural). I can not see the future, but 9 out of 10 people think Object Oriented is the future of most software development, and i think they are right. OOP is much cleaner and more reusuable, and it makes complex programs into simple steps that can be moddified without far reaching effects.

As for Daivam, the person who laid out their future in programming, I say this, MFC might not have a whole lot of purpose in short while. The Microsoft.NET platform can do everything and more (its from the same people). Microsoft says they are not trying to outdate their own technology (MFC) but they are. Unfortunately C++ is not the preferable language for .NET development. Managed C++ (required for .NET) looks terrible. Microsofts C# (a copy of Java) will be the primary language for .NET.

One more thing, the Anonymous Poster felt that Java might be obselete in a few years WHY? Java is new and has a definite niche, WHERE IS IT GOING? PLEASE EXPLAIN!
Ambassador: Mr. Bush are you stoned or just really, REALLY dumb?Pres. Bush - I assure you I am not stoned.
quote:Original post by DanG
Personally i would have to recommend NOT learning C, just focusing on C++. C++ is Object Oriented, C is not (its Procedural).


OO methodology is language independent. You can implement a fully object-oriented system in C; it just happens to be easier in C++. The most major difference is the fact that you''ll have to pass in the object as a (preferrably the first) parameter to the methods, which C++ already does for you when you access member data and methods through an object (. operator or -> operator).

As evaclear said, it''s the way of thinking that needs to change. C++ makes this way of thinking easier, that''s all.

Bonus: is Perl an OO language? Does it have OO features? Can you implement an OO system using it?

This topic is closed to new replies.

Advertisement