• Advertisement
Sign in to follow this  

c++ dieing for game programming?

This topic is 3229 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi all i'm rather new here and am just starting to teach myself C++. Well one of my teachers says that c++ is dieing and that even games are going to Java and c sharp (c# I believe?). Is this true or does she just have no idea what she's talking about? Thanks in advance! I wouldn't want to learn c++ to only find out its not going to be used anymore.

Share this post


Link to post
Share on other sites
Advertisement
Not really, C and C++ will continue to be popular in game programming since it's important to have custom memory management on consoles/hand-helds. What your teacher is probably referring to is that there are more options now thanks to increases in computer speeds and new platforms like cell phones(BREW/Java), the Internet(Silverlight,Java,Flash) and more games using scripts(Python,Ruby,Lua).

Share this post


Link to post
Share on other sites
Actually on the contrary, C++ is being developed even more. There is
C++0x coming out soon which is a developed version of C++. I don't believe that c++ will be dieing. Maybe as more companies are being created, c++ is sharing
its usage with java and C#

Share this post


Link to post
Share on other sites
In the commercial (PC and console) game industry? No, not at all; people even still use C and Assembly sometimes, and that's probably not going to change any time soon.

In the hobbyist game industry? Tools like Flash and C# have helped move some people away from C++, but even in the hobbyist sector, C++ remains a widely-used language (just take a look at some posts here on the forums).

Share this post


Link to post
Share on other sites

Well I wouldn't be disheartened from learning C++ as there are plenty of real world applications for it - especially when it comes to options available to you when you're trying to save time and find a C++ library that you want to integrate into your C# or Java application.

A quick search on the forums for C# vs C++ will reveal that this is a pretty heated debate. Some prefer C++ purely from a personal perspective while others will recommend learning a higher level language.

In terms of games, a lot of hard work has gone into creating C++ code that acts as the foundation of a lot of modern games and no doubt that future focus on C++ will still be strong as a lot of the veterans will be C++ literate and just makes recruitment easier.

Share this post


Link to post
Share on other sites
She's a retard. Pure and simple. It is funny that so many teachers are completely out of touch with the industry.

Java is only used on very specific mobile devices. C# is great for tools (level editors, model exporters, etc) but almost completely useless for any platform other than the PC. It's also far to slow and cumbersome to be used to any real degree there either (XNA specifically).

90-95% of games developers will use C++ to some degree in their build processes, even the game itself is written for a Java-based platform. Anyway, disregard everything she tells you (probably EVER).

Share this post


Link to post
Share on other sites
Depending on your long-term goals and what you want to do, though, C/C++ may not be the right choice for your projects. For example, my projects don't require 3D or complex graphical effects, so I've been doing my development in Python with PyGame (which hooks up Python to SDL), and development goes much faster than it used to when I was using C++ and had to do my own memory management.

I'm not saying that C++ is a bad language, far from it. But if your main limiting resource is your own time, then you want to pick a language that does as much for you as possible, and C++ isn't that language.

Share this post


Link to post
Share on other sites
Quote:
Hi all i'm rather new here and am just starting to teach myself C++. Well one of my teachers says that c++ is dieing and that even games are going to Java and c sharp (c# I believe?). Is this true or does she just have no idea what she's talking about? Thanks in advance! I wouldn't want to learn c++ to only find out its not going to be used anymore.


Not only is that wrong but it's obviously wrong. C# /Java (note, I consider them the same for the purpose of this post) does not replace C++. C++ is a natively compiled language while C#/Java is not, not to mention C++ gives you direct control over memory management. This gives C++ anywhere from a 3X to 10X speed advantage or even more in some cases. C#/Java is fine for some applications and even some games but it will always lag behind C++ for the foreseeable future for high end 3D games. How many high end games do you think are written in C#/Java. My guess is the number is relatively small.

Share this post


Link to post
Share on other sites
Wow a lot of responses fast! Well ok good I was hoping she was wrong as I have always been fascinated in c++ and I heard of thew new c++ they are developing as well or well I mean developing it more.

Thanks for the responses I will stick with c++ then :).

Share this post


Link to post
Share on other sites
C++ will not be leaving the spotlight for some time for commercial PC game development. But that doesn't matter at all. If you are comfortable using C++ and are getting results you like, keep using it. If you are not, learn something else.

You are not currently an industry professional, so there is no reason for you to be using something just because the industry professionals do. It doesn't even necessarily provide you a stunning benefit to breaking into the industry; a skilled programmer who knows multiple languages and can learn more may be preferable than a programmer who knows just C++, even if the former doesn't.

Quote:

It is funny that so many teachers are completely out of touch with the industry.

I don't think it's funny at all -- it makes perfect sense. Most industry veterans make horrible teachers, just like most teachers don't know much about the industry.

Quote:

This gives C++ anywhere from a 3X to 10X speed advantage or even more in some cases.

Please don't peddle these kind of baseless, context-free "benchmarks" in this forum. They are misleading and dangerous; they don't help the audience for this forum. If you want to have a discussion about the merits or lack thereof of particular benchmarks of particular operations in particular languages, do so outside of the beginners forum.

Share this post


Link to post
Share on other sites
You should learn both..
Stick with C++, try out some C# or Java.. and develop in whatever language you think is cool. I personally use C# the most, because of the development speed. But I do use C, when I want more control.

Also, developing native apps can be very frustrating, but also very personal rewarding.

Share this post


Link to post
Share on other sites
I would say that if you can manage to wrestle with the intricacies of C++, picking up any other mainstream language would be a snap. You would mostly have to adjust to the best practices of each particular language.

Share this post


Link to post
Share on other sites
Quote:

Please don't peddle these kind of baseless, context-free "benchmarks" in this forum. They are misleading and dangerous; they don't help the audience for this forum. If you want to have a discussion about the merits or lack thereof of particular benchmarks of particular operations in particular languages, do so outside of the beginners forum.


I'm not "peddling" anything. I've tested it numerous times and these are typical numbers. Sorry if you don't like it. Give me a C# test and I'll code it in C++ and we will just see how fast C# really is. Secondly I'm not 100% sure how this forum works but I still see the thread it a regular programming forum which is where I'm posting. The fact is, C# is not native compiled and is burdened with its garbage collector. THAT IS WHY MOST PROGRAMMERS DON'T USE IT FOR PERFORMACE SENSITIVE CODE. I get the same angry tirades form C# fans all the time but it doesn't change the facts.

Share this post


Link to post
Share on other sites
Quote:
Original post by polypterus
Quote:

Please don't peddle these kind of baseless, context-free "benchmarks" in this forum. They are misleading and dangerous; they don't help the audience for this forum. If you want to have a discussion about the merits or lack thereof of particular benchmarks of particular operations in particular languages, do so outside of the beginners forum.


I'm not "peddling" anything. I've tested it numerous times and these are typical numbers. Sorry if you don't like it. Give me a C# test and I'll code it in C++ and we will just see how fast C# really is. Secondly I'm not 100% sure how this forum works but I still see the thread it a regular programming forum which is where I'm posting. The fact is, C# is not native compiled and is burdened with its garbage collector. THAT IS WHY MOST PROGRAMMERS DON'T USE IT FOR PERFORMACE SENSITIVE CODE. I get the same angry tirades form C# fans all the time but it doesn't change the facts.


I don't think his issue is you saying that C++ is faster, but that you're pulling numbers out of thin air with no evidence/samples to show the situations where this is the case. 87% of Gamedev users find made up statistics irksome...

OP: C++ isn't going anywhere for some time, but there's merit to C#/java too. I learnt to program with C++, but a lot of people say that higher level languages like C# are an easier on-ramp to programming. Certainly if your teacher is teaching you with these languages it's nothing to be worried about, the fundamentals of programming are fairly consistent across these languages.

Share this post


Link to post
Share on other sites
Quote:
Original post by polypterus
The fact is, C# is not native compiled and is burdened with its garbage collector. THAT IS WHY MOST PROGRAMMERS DON'T USE IT FOR PERFORMACE SENSITIVE CODE.
Yes, C# is native-compiled, and garbage collection can be managed for performance by a competent C# developer who knows how GC works.

If you want to get your feet wet with game development, start with something like C# so you can learn the fundamentals and focus on making games rather than fighting the language. You can move to C++ later if you like.

Share this post


Link to post
Share on other sites
Quote:

I'm not "peddling" anything. I've tested it numerous times and these are typical numbers. Sorry if you don't like it. Give me a C# test and I'll code it in C++ and we will just see how fast C# really is. Secondly I'm not 100% sure how this forum works but I still see the thread it a regular programming forum which is where I'm posting. The fact is, C# is not native compiled and is burdened with its garbage collector. THAT IS WHY MOST PROGRAMMERS DON'T USE IT FOR PERFORMACE SENSITIVE CODE. I get the same angry tirades form C# fans all the time but it doesn't change the facts.

Then present the research you did. Without context, benchmarks are useless. Pulling numbers out of your hat and saying "language X is Y times slower than language Z" is completely unhelpful to beginners: it's overgeneralized, inflammatory, and misleading. Post your benchmarks in the general programming forum, or elsewhere, and you can discuss them all you want. Not in this forum.

There should be no more posts about the performance or benchmarking issues below this one in this thread.

[EDIT: N.B. that I have removed some posts in accordance with the above.]

[Edited by - jpetrie on April 16, 2009 10:45:48 PM]

Share this post


Link to post
Share on other sites
Quote:
Original post by jpetrie
You are not currently an industry professional, so there is no reason for you to be using something just because the industry professionals do.


QFE.

Quote:

Most industry veterans make horrible teachers, just like most teachers don't know much about the industry.


Unfortunately, most teachers make horrible teachers. Teaching is hard.

Share this post


Link to post
Share on other sites
While C# and java are great to learn, easier to get some simple graphics going and such, in the end they are a bit more on the business side of the market, rather than gaming. C++ is the standard when it comes to game development, and for its great performance I do not see it dieing any time soon.

Share this post


Link to post
Share on other sites
Well if you want to present hard facts to your teacher, look at any game companies website and print out the programmer requirements "C/C++". It will say java if its iPhone or web-based, and thats it. Or just go to gamasutra.com and look at the job board.

Share this post


Link to post
Share on other sites
Quote:
Original post by Derakon
iPhone apps are written in Objective C, mate. :)


Actually you can write them in C/C++ or Objective C, it all works.

theTroll

Share this post


Link to post
Share on other sites
To the OP, your teacher is just plain wrong or you misunderstood what was said. C++ is not dying. The sad fact is languges rarely die, they just become less used. I have friends that are doing major work in Cobol, Fortan and Pascal. Also there is some work in Ada and plenty of ASM going around. So even as the "new" stuff comes along there will still be lots of work in the older langs.

theTroll

Share this post


Link to post
Share on other sites

This topic is 3229 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Advertisement