Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


We're also offering banner ads on our site from just $5! 1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Some newbies (like me) do love to code in C++


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • This topic is locked This topic is locked
36 replies to this topic

#1 sankrant   Members   -  Reputation: 121

Posted 27 September 2012 - 10:06 AM

C++, which is important in our digital industry, is *indispensible* in the vedio game industry.
I enjoy learning/coding in C++, mainly because I love challanges, like many people do....(the best thing I like about it is ''whatever you learn - it is small'', compared to the vast language itself.
Major standardardisations also keep making it better (C++11)
In game industry itself, C++ is the best tool for the job for programming game engines (the best of the knights do it!!)

Considering the importance it has, can I say that ”C++ will be used for *game engines* as long as we have AAA titles” ?

Or, can I say that, C++ is going to be THE (only) tool for creating AAA *game engines* as long as we play on vedio game consoles?

Or, in short, can I say that C++ is going to be the vedio game (engine) Industry standard, for a very very long long time ahead?
I would certainly be very happy!!!!

Note : I am strickly talking about the middleware, game engines (add libraries like Direct3d and Open-Gl if you want)..


Sponsor:

#2 Servant of the Lord   Crossbones+   -  Reputation: 20287

Posted 27 September 2012 - 10:44 AM

I also enjoy C++; but just because I enjoy it, doesn't make it the best choice. Posted Image

"the best of the knights do it!" - The best code warriors use many languages, not just C++. They also used to use Assembly, but just because they are skilled, and they have used assembly in the past, doesn't mean I should use assembly, or even that assembly is currently the best choice.

A more important question is why do they use it? It's not good to say, "they used, therefore it must be good!". Instead you say, "they used it, because they had to for situation X. Since I'm not in situation X, is it still the best or only choice available?"

C++ is not going away anytime soon, and will probably be heavily used for at least another ten years. But once you know C++ very well (or almost any language), then it's not hard at all to jump to a new language when needed.

C++ is not the best suggestion to a new programmer. It's certainly one path that could work (and has worked - I started with C++), but there may be other paths that are better. The question is, what does "better" mean? It's subjective. So instead, we say, "What are the pros, and what are the cons, of C++ verses, say, Python, for someone inexperienced in programming to start with?"

(The Language Flamewar tag is needed here)

Edited by Servant of the Lord, 27 September 2012 - 10:46 AM.

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.
All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.
Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal

[Fly with me on Twitter] [Google+] [My broken website]

[Need web hosting? I personally like A Small Orange]


#3 szecs   Members   -  Reputation: 2172

Posted 27 September 2012 - 11:43 AM

Have you tried something else? Maybe if you'd try something else, you'd love it so much you'd f.... it

#4 zalzane   Members   -  Reputation: 191

Posted 27 September 2012 - 11:54 AM

The only people I've ever met who consider C++ to be an adequate solution for creating videogames are people who have never programmed in a language that wasn't C++.

The only reason it's still around is because it's what everybody uses, so if you're hiring C++ programmers for a game, you have a lot more choice than if you're hiring haskell or C# programmers.

#5 slayemin   Members   -  Reputation: 2790

Posted 27 September 2012 - 12:36 PM

Eh, I think the reason a lot of people still use C++ is because they've spent significant amounts of time and effort (which equals money invested) building their own game dev apps & toolsets in C++. There's also the fact that a lot of people are already experts in C++, so it'd be a bit of an uphill battle to get studios to switch to another language. But, I think the transition to other languages like C# is already happening gradually.

Eric Nevala

Indie Developer | Dev blog


#6 joew   Crossbones+   -  Reputation: 3675

Posted 27 September 2012 - 01:47 PM

If all legacy code and middleware written in C++ disappeared tomorrow you wouldn't really have much of a reason at all to use the language for the most part imo.

#7 n3Xus   Members   -  Reputation: 709

Posted 27 September 2012 - 02:20 PM

Question: which languages aside from C/C++ have manual memory management?

#8 Oberon_Command   Crossbones+   -  Reputation: 1934

Posted 27 September 2012 - 02:25 PM

Question: which languages aside from C/C++ have manual memory management?


If I remember correctly, Ada has a form of it (and a form of RAII, too, again IIRC) and some dialects of BASIC and Pascal do, as well.

#9 way2lazy2care   Members   -  Reputation: 782

Posted 27 September 2012 - 02:27 PM

If all legacy code and middleware written in C++ disappeared tomorrow you wouldn't really have much of a reason at all to use the language for the most part imo.


That's definitely the major reason to use C++, but it's also got pretty good max performance (not always good average performance) when compared with a lot of other simpler languages, like C#. That max performance is difficult to acheive though, and more often than not it will result in developer error performance handicaps and productivity handicaps elsewhere.

That said, C# is my favorite language atm. It's just so easy to do what I want. D:

#10 swiftcoder   Senior Moderators   -  Reputation: 10234

Posted 27 September 2012 - 02:30 PM

Question: which languages aside from C/C++ have manual memory management?

Java, C#, and Python, to name just a few.

Just because they each have a garbage collector, doesn't mean that you can't manually allocate/deallocate resources as needed.

Tristam MacDonald - Software Engineer @Amazon - [swiftcoding]


#11 BladeOfWraith   Members   -  Reputation: 245

Posted 27 September 2012 - 03:47 PM

Yes, C++ is going to be the primary language you'll see major game engines developed in. Console development will be C++ based for at least another 10 years. Think MS is going to license .Net to Sony and Nintendo? Doubtful.

"You can't say no to waffles" - Toxic Hippo


#12 joew   Crossbones+   -  Reputation: 3675

Posted 27 September 2012 - 05:01 PM

Think MS is going to license .Net to Sony and Nintendo? Doubtful.

The new Playstation Suite for use on the Vita and phones is based on C# and .Net, and you can also use C#/.Net on iOS, Android, etc. The new Nintendo DevKit includes a special Unity deployment and you develop in C#/.Net. It is an open standard that does not need to be licensed as the Mono implementation is not burdened. Note you can always use AOT for platform specific speed optimizations but realistically the only use for that is on platforms that do not allow JIT (i.e. iOS, Vita, WiiU?)

Edited by Saruman, 27 September 2012 - 05:06 PM.


#13 BladeOfWraith   Members   -  Reputation: 245

Posted 27 September 2012 - 10:38 PM

Ah, cool. I thought I had read that Mono wasn't legal so it couldn't be used for major commercial stuff like that. Checking the wiki page does sort of semi-agree with the idea that it's of questionable legality, but I guess Microsoft decided it didn't want to start suing people over it years ago.

Edited by BladeOfWraith, 27 September 2012 - 10:39 PM.

"You can't say no to waffles" - Toxic Hippo


#14 sankrant   Members   -  Reputation: 121

Posted 27 September 2012 - 11:13 PM

I was exclusivly talking about game engines.
Program the game in any fringe language.... Program the game engine in C/C++

#15 jbadams   Senior Staff   -  Reputation: 19030

Posted 28 September 2012 - 05:58 AM

Note:

The original poster opened a new topic (now closed), but I don't feel it was really needed given how civil this one has been thus far. His question from the other topic is as follows:

I have started a new topic, partly because the older one was eaten up by flame war, and partly because, I want to know the expert likes of game engine developers. Note: This is not a poll. I expect people having a background in HIGH PERFORMANCE AAA *GAME ENGINES* ONLY, to give out their thoughts. (To *game programmers* and game logic programmers - Don't get C#, Java, lua in between).


C++ as we know of it, is used in AAA *Vedio Game Engines* primarily because (correct me) -:

-> Technical reasons » Higher performance, Lower latency overhead, Portability, native runtime.
-> SocioTechnical reasons » Large legecy-active codebase, Availability Of libraries (the libraries will be alwayas more mature), Availability of IDEs and mature documentation. Also many scripting languages in games have a good C api (like LUA, so added up to that codebase, is our higher level lua, python codebase).
-> Social reasons » People dislike it, when MS or Oracle owns a language, People already know C++, There are no direct competetors (and if some people think that Java/C# are, they are wrong. . . C# directly competes with lua, python for game logic)( here I exclusively talk about AAA game engines, so game logic programmers, dont take harm).


C++11 solves the issue of development time, concurrency and learning curve.

Considering this, what is your say on the future of C++? Don't you think, that C++ for at least game engines will be used as long as we have vedio game consoles? Don't you think that we are so much dependent on C++ that virtually we can't do (game engines) withought it?


This is for the game engine programmers only. . . So when we are talking about unity, then be aware that its writern in C++.



You missed one important reason for continued common use of C++ -- it's often the only choice -- unless you want to implement your own compiler and standard libraries, your only choices for targeting consoles are C or C++.

#16 SimonForsman   Crossbones+   -  Reputation: 6167

Posted 28 September 2012 - 05:59 AM

Ah, cool. I thought I had read that Mono wasn't legal so it couldn't be used for major commercial stuff like that. Checking the wiki page does sort of semi-agree with the idea that it's of questionable legality, but I guess Microsoft decided it didn't want to start suing people over it years ago.


The parts of mono that are included in the standard are safe, things like WinForms (Which isn't part of the standard but is included in Mono in order for it to run .Net apps written for Windows) might be covered by patents that Microsoft hasn't made any promises about. (There hasn't been any word from Microsoft that suggests that they hold any patents that could threaten mono though),When it comes to API compatibility the Oracle vs Google ruling on dalvik pretty much established that API structures are not covered by copyright so patents are the only threat, Microsoft is not the only company that could threaten mono there and Microsofts .Net is not safe either, allthough if .Net is infringing on someones patents it will be Microsoft who takes that fight. (Oracle holds quite a few JIT and VM related patents for example)

When it comes to games you shouldn't use the Windows stuff anyway(Unless you are developing for Windows) so it is a non-issue and on Android/iOS the Windows specific stuff isn't even included AFAIK.

Edited by SimonForsman, 28 September 2012 - 06:02 AM.

I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#17 mdwh   Members   -  Reputation: 889

Posted 28 September 2012 - 08:00 AM

I stick with C++ because I know it, I can port to lots of platforms with it (including mobile), and I have a code-base built up with existing engines.

I don't believe it is necessarily the best - and I am intrigued in moving to VM languages like Java (which I already know) or C#. Part of the problem is it would be a big investment in changing a primary language that I use (not just learning, but also porting or rewriting code for things like a game engine), so I would want to make the right move long term, but it's still not clear to me what the right direction is for me. (Java is fragmented into at least three different versions - desktop, Android and J2ME; C# is MS-only, though there is Mono.)

Right now I write for Windows, Linux, Android, Symbian, and I'm not sure that anything other than C++ or Python fit that list. C++ has also allowed other people to easily port to OS X, BlackBerry PlayBook, Maemo and Meego. At some point in the future I'll drop Symbian, which makes C# an option if I use Mono for Android and Linux. (I do find it a bit amusing that an MS-only language has ended up being fairly cross-platform, whilst a language intended to be cross-platform has ended up less so...)

What are the choices for cross-platform game development? Obvious ones are C, C++, C#, Python. And C and C++ probably still win in terms of the number of platforms that can be supported (although admittedly, most people only care about a few at most, if they even care about more than one platform at all).

Edited by mdwh, 28 September 2012 - 08:03 AM.

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://homepage.ntlworld.com/mark.harman/conquests.html - Conquests, Open Source Civ-like Game for Windows/Linux

#18 Xirion   Members   -  Reputation: 260

Posted 28 September 2012 - 10:45 AM

Actually i agree with you, i love C++ and i'm not very experienced, but lets remember that programming languages are like tools,
some are better for something and others not and viceversa.
In my case, where i live we have gameloft and they usually look for Java/C++ programmers, so that's what we learn in school,
but there are a lot of people using C# and Python and many more languages,
not because those are better than C++ but because those languages were more suitable for what they were looking for.

I know that C++ it's a standard in the industry but i don't think this makes it The One Above All.

#19 sankrant   Members   -  Reputation: 121

Posted 28 September 2012 - 09:19 PM

Ok, this question is to the game engine developers only, (please don't bring C# in between as it competes with lua, python)
Is not C++ the only virtually indispensible choice for AAA game ENGINES??? Dosent all the reasons to use it make it the only viable option even in the future?

Even John Carmack's blog posts show that, we are not going to move away from C++ till many of us are even alive. Unity, panda3d, all are in C++..... There is no choice... (AAA GAME Engines should have no limiting forces.... VMs are limiting.... Only languages competing with C++ are C , rust , D etc)

C# people, please use C# for game programming (logic) and tools.... Dont try to get into GAME ENGINES, because you simply can not.

#20 superman3275   Crossbones+   -  Reputation: 2061

Posted 28 September 2012 - 09:31 PM

Wait, a new poster on the forum is asking all non C++ Programmers to stop making game engines, while he only knows c++, and is acting pike an expert on all languages. Either he's a troll(Likely) or just doesn't know what hes talking about.

Edited by superman3275, 28 September 2012 - 09:32 PM.

I'm a game programmer and computer science ninja ph34r.png!

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

 

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here smile.png!





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS