The future of C++

Started by
67 comments, last by GameDev.net 17 years, 7 months ago
Quote:Original post by Promit
Quote:Original post by methinks
You're forgetting the most successful gameing platform in the world... Gameboy! (Successful in terms of units sold around the world)

Gameboy sales across all versions is 188 million. Playstation sales across all versions is 205 million.

So no, not quite. They're edged out by around 15-17 million.


Old info, my bad. (Anybody know xbox numbers?)
Advertisement
Quote:Original post by CTar
Do you think that very complex games can more easily be developed in languages like that than "real" programming languages like C#. Do you really think that "a lot" of games studios will adapt a new language in 3-5 years? I think it would be at least a decade, most likely longer, before anything starts to take over C++'s market share.

well perhaps not flash itself but something similar (ie easy to use / understand / write / fast to get up + running + try out new things)
ppl talk about the ease of java / c# + sure that might be slightly but thats all they are slightl, a bit, they aint a leap. thats what its gonna take. something like

move player forward until he intersects an obstical;


Quote:Why? What are the benefits to this? Sentences is much longer, structure is harder, no proper abstraction support, a mess to navigate, hard to spot errors, easy to introduce errors by ambigousity. Many centuries ago, we expressed mathematics in the natural languages, this really slowed down development because it was very hard to actually reason about mathematics, it was hard to write mathematics. People saw that we needed a domain-specific language (DSL), and therefore developed the mathematical notation, which easily can express mathematics. It's the same with programming languages, they are DSLs, they remove the bad parts of natural languages, and create a language suited for programming. For example imagine the following "pretty little girls' school" (taken from Wikipedia), wouldn't you be quite mad when the compiler said:
A1337 Error: Ambigousity, please express yourself unambigously.Does the school look little?Do the girls look little?Do the girls look pretty?Does the school look pretty?


well i did say long term
heres how it goes (speaking not typing)

me - create a pretty little girls' school

computer answers - what do u mean
Does the school look little?
Do the girls look little?
Do the girls look pretty?
Does the school look pretty?

me - the school looks pretty
computer answers - ok understood, anything else?

the whole thing has taken 10seconds now thats productivity, now try to code up this with c++/java/c#, who many minutes/hours would it take.

this aint fantasy this will happen the only question is when.

btw the number of xbox1 + xb360s shipped ( not sold ) is just under 30million
Quote:Original post by zedzeek
this aint fantasy this will happen the only question is when.


Oh, sure, just like faster than light travel then. Don't be sure of yourself. I won't say it's impossible, but the depth and complexity of the computers knowledge for that to work would be unbelievable. It would have to actually know you to be able to come up with a school that you considered pretty. If it's that brilliant, it's probably smarter than you (not to mention better looking), so you can just say "make me an awesome game" and it will come up with something better than you had in mind anyway. Or you could try "just do what you feel like".
___________________________________________________David OlsenIf I've helped you, please vote for PigeonGrape!
Quote:Original post by zedzeek
Quote:Original post by CTar
Do you think that very complex games can more easily be developed in languages like that than "real" programming languages like C#. Do you really think that "a lot" of games studios will adapt a new language in 3-5 years? I think it would be at least a decade, most likely longer, before anything starts to take over C++'s market share.

well perhaps not flash itself but something similar (ie easy to use / understand / write / fast to get up + running + try out new things)
ppl talk about the ease of java / c# + sure that might be slightly but thats all they are slightl, a bit, they aint a leap. thats what its gonna take. something like

move player forward until he intersects an obstical;


Quote:Why? What are the benefits to this? Sentences is much longer, structure is harder, no proper abstraction support, a mess to navigate, hard to spot errors, easy to introduce errors by ambigousity. Many centuries ago, we expressed mathematics in the natural languages, this really slowed down development because it was very hard to actually reason about mathematics, it was hard to write mathematics. People saw that we needed a domain-specific language (DSL), and therefore developed the mathematical notation, which easily can express mathematics. It's the same with programming languages, they are DSLs, they remove the bad parts of natural languages, and create a language suited for programming. For example imagine the following "pretty little girls' school" (taken from Wikipedia), wouldn't you be quite mad when the compiler said:
A1337 Error: Ambigousity, please express yourself unambigously.Does the school look little?Do the girls look little?Do the girls look pretty?Does the school look pretty?


well i did say long term
heres how it goes (speaking not typing)

me - create a pretty little girls' school

computer answers - what do u mean
Does the school look little?
Do the girls look little?
Do the girls look pretty?
Does the school look pretty?

me - the school looks pretty
computer answers - ok understood, anything else?

the whole thing has taken 10seconds now thats productivity, now try to code up this with c++/java/c#, who many minutes/hours would it take.

this aint fantasy this will happen the only question is when.

btw the number of xbox1 + xb360s shipped ( not sold ) is just under 30million


Consider this algebra problem posed and solved by Al Kwharizmi
Quote:.. a square and 10 roots are equal to 39 units. The question therefore in this type of equation is about as follows: what is the square which combined with ten of its roots will give a sum total of 39? The manner of solving this type of equation is to take one-half of the roots just mentioned. Now the roots in the problem before us are 10. Therefore take 5, which multiplied by itself gives 25, an amount which you add to 39 giving 64. Having taken then the square root of this which is 8, subtract from it half the roots, 5 leaving 3. The number three therefore represents one root of this square, which itself, of course is 9. Nine therefore gives the square.

The progress of mind kind has always been towards abstraction, conciseness and rigour.

me - :: (^G <. S) | [^(G ; S)]P

The same program where ^ specifies the object is little and <. specifies a relationship with some object, a relationship which will be inferred based on the type of G and S for example. | speaks of the property of our objects(think set builder notation), the () specifies the object should be taken from the class of all things, :: says it should be created and we distribute the property P ( most general property inferred based on our collected objects and their properties) over S and G. :D

I think the ultimate language will be one which will be completely telepathic. Programming will invovle first thinking what you want and then explicitly rethinking and imagineering your goals, concretely specifying the behaviour of your objects and concepts - how explicit will be based on the power of the machine that will be compiling your specifications.
Quote:Original post by zedzeek
me - create a pretty little girls' school

computer answers - what do u mean
Does the school look little?
Do the girls look little?
Do the girls look pretty?
Does the school look pretty?

me - the school looks pretty
computer answers - ok understood, anything else?

the whole thing has taken 10seconds now thats productivity, now try to code up this with c++/java/c#, who many minutes/hours would it take.


Just about the same, since we're assuming the back end is written already. That is:

new school< girl< little > , pretty >();

Where: school< For [, Attribute1 [, Attribute2 [, Attribute 3 ... ]]] >And:   girl< [Attribue1 [, Attribue2 [, Attribue3 ... ]]] >


In this case, it's unambiguous from the start, and self documenting as to which I mean, whereas your computer aided english version would have to store something along the lines of:

Pretty little girls school [ where [the school is pretty] and [the girls are little] ]

Which is significantly longer and repetitious. We also left out another alternative - that is, pretty is often used as a qualifier - e.g. "There's a pretty small chance of rain tonight according to the forecast."

We could refactor along these lines for berevity:
School [ which is for girls [ whom are little ] , and is pretty ]
Or: school[ for girls[ little ] , pretty ]
Or: school< girls< little > , pretty >

...wait a second, we just arrived at the C++ version again :D
the future of C++ is D!

ok... at least i wish it was. :)
actually had a look at some flash code last night, its not actually that much easier than c/c++/java/c#. it sems to be hacked together, with each new release (version 9 now) a few new 'features' are added
thus on retrospect its not an ideal language.
though in saying that i saw quite a few sites with lots (of very simplistic) games on them, numbering in the thousands.
thus a lot of ppl are making games with it, sure theyre like i say simplistic, but ppl are finishing stuff with it, unlike most ppl who attempt to write a game in c/++/java/c#, who give up 20% of the way into it.
im wondering if shockwave 10 or 11 supports a true 3d api whatll happen, theyve built up a brand + have thousands of programmers making stuff for it.
actually that would be an idea for a startup company some sort of 3d web plugin (like vrml)
Quote:Original post by zedzeek
it sems to be hacked together, with each new release (version 9 now) a few new 'features' are added
thus on retrospect its not an ideal language.

Actually it has been almost rewritten in the last iterations and is fully compliant ECMA.. it looks like you have absolutely no idea of what you are talking about.

Not an ideal language? What did you find wrong with it? Or are you now just making things up as you post? If you're going to make statements like these you need to supply reasons bud.

Quote:
though in saying that i saw quite a few sites with lots (of very simplistic) games on them, numbering in the thousands.
thus a lot of ppl are making games with it, sure theyre like i say simplistic, but ppl are finishing stuff with it

There is a full commercial MMORPG Dofus done completely in Flash/AS... and I wouldn't exactly call it simplistic as it is more involved than the vast majority of projects done by people here in C++/C#.
ideal as in not much easier than c++ etc, if u look at the syntax its very similar,
eg look at this here
http://www.strille.net/tutorials/snake/index.php
now syntax wise im sure we'ld all agree there is not much diff

Quote:There is a full commercial MMORPG Dofus done completely in Flash/AS... and I wouldn't exactly call it simplistic as it is more involved than the vast majority of projects done by people here in C++/C#.

u must of misundersood my post, i was actually praising flash (thousands of finished games made with it vs the ,majortiy of c/java/c# games which end up 20% done + abandoned)
some more good news for flash i read today, a flash game
http://intihuatani.usc.edu/cloud/flowing/core.html
will be appearing on the ps3 (with sexed up graphics no doubt, so any wannabe programmers u never know flash could be your ticket to to bigger + brighter things, actually might write this in my blog
Quote:I think the biggest shift out of C++ will come when the people making the decisions of how to move forward, and the group designing the next game, are not part of the dinosaur generation of developers. People will choose what they know. C++ speed? Just use pure assembly. What? The compiler is faster than most programmers? Exactly my point. People aren't taught low level today, and those who can go low level are becoming a rare breed. They need to step up to a higher level language. Yet C++ isn't being taught today either from what I understand in most colleges. It will die in the industry when it gets to a point the people coming into the industry don't have a firm grasp on it as they do another language.


hehehe my university is completly phasing out c++ the last units with it are going next semester, but what i find funny is that:

1) Next semmester at the exact same time they are introducing a new games major.
2) The lecturers claim that c# (the language they are using instead) is more portable the c++ and will work on ANY platform and with ANY hardware.

This topic is closed to new replies.

Advertisement