Why C++ for Unreal 4?

[=;136162]
yes, he is. You are too by the way.
What do you mean delegates, events, awaits etc. don’t have equivalents in C++? When did you last time refreshed your knowledge about modern C++?

And as for Visual and being productive? You must be really joking, or you are really unaware of better tools.
[/]

By “modern”, do you mean C++11 or C++14? Or the subset of C++11 implement by VS 2013? I’ve been working with C++11 for several years now and am actively watching the changes for the next version of the language.

Here’s theISO standard for C++11 . Show me where the things I listed are described.

[=;136155]

C++ is as productive as C#. The thing is that you have to be fluent in it.
And yes, most things should be done in C++.
[/]

Can you tell me why you’re resorting to slow C++ when you could code in assembler?

[=;136138]
You are WRONG.
C# does not provide higher level of abstraction to C++. Nor is more productive. Do your homework.
[/]

I’m sorry, what now??
You do know what the term “Managed Languages” refers to??
Do **YOUR **homework please…

[=;136155]
Said fiesta driver seeing Ferrari passing by.^^^
[/]

Jesus… How old are you, 12??
I’d be surprised if you are any more then 20…

Know, what, you’re right - about everything - in fact, everybody in the world that happen to disagree with you, are by-definition wrong, because the fact that you are always right about everything, is the most fundamental axiom of the universe !!!

There, are you happy now??

That’s it, this is pure ‘trolling’, I’ve wasted enough of my time trying to put some sense into you - it seems you are beyond helping…
At least some sensible people here cared to take what I’ve said seriously - even those who did not agree (except you) - they matter, you don’t - end of discussion.
Over-and-out…

[=;136155]
Said fiesta driver seeing Ferrari passing by.^^^
[/]

Oh, by the way. What on earth are you doing with a Ferrari when you can have an Ariel Atom? Do you often settle for average performance?

[=timconwell;134736]
…Just, wow, I’ve been involved with internet forums for so long, mostly involving gaming starting back with original EQ. After so much time, the patterns are always the same. Debates rage on not so much about right vs wrong, but about perspective. Like in a yeah you’re right but not in the right way. If here got together for beers, in about 20 minutes would be on the same page since you’d have body language and tone of voice to aid the discussion. But failing those aids, the debates drag on, never end, and little is ever accomplished to justify the effort.

Just, there’s usually a point where the dead horse has been beaten so much that the “beaters” have nothing else to hit but each other. So, let’s not go there, better productivity to be had elsewhere.
[/]

This is true. Everybody should think about it when posting on the internet.

[=EruArnold;135713]
Now you’re just being defensive…

From what I gather, the reason that “Concepts” are going to help in error-reporting at compile-time for Templates, is that they provide a mechanism for defining compile-time checking of Template-argument requirements. After a programmer clearly defines a set of requirements, the compiler uses those to impose them onto all “specialization” occurrences in the code that uses these templates - and it does that at the calling-code’s location (meaning, at instanciation/specialization-point). This allows the compiler to first check/validate each template-use-point, with better-defined granularity, as well as associate this with each usage-point.
I think I understood it quite clearly. If I am wrong, I’de be happy to be enlightened…

Look, I didn’t claim to be an expert on C++, you probably know more about it than I do (and obviously Bjarn knows more than the both of us combined).

I am just quoting things I have read/heard/seen him say.

There is a very obvious and strong impression expressed by Bjarn and others (such as Herb Sutter, the chair of the ISO C++ committee), of grate dis-satisfaction with the past-and-present state of affairs of C++. They all love this language, and that is exactly why they are/have-been hurting, hence the C++11 standard (previously known as C++ 0x) which they have worked very hard on for many years now, as well as the whole huge initiative that Herb is currently promoting and leading, for bringing more/fresh people into the committee’s research-projects (Study-Groups) for further remedying the situation. There wouldn’t be this push and this momentum of work, had C++ been this perfect language/ecosystem that you imagine. They all know very well how much it is flawed, and are working hard to fix it. They don’t achieve this by “pretending” the problems don’t exist (as you are doing) - they do it by acknowledging their existence and admitting how painful it is to deal with many of these issues, and inviting people to contribute and help. This is a very mature and responsible attitude that I very much like, and is actually the main reason I am studying C++ these days - It all gives me much hope that C++ might still have a very bright and even exciting future.

I am getting very little of this attitude (if at all…) from you - all you do is generate unsubstantiated hype and unjustified idealization, that none of the leaders of this language has ever expressed (at least from what I’ve seen thus far).
You are consistently painting a “rosy” picture of the current state of affairs, that has no baring in reality, and just makes you seem very disingenuous (even immature).
If you are really excited about coding C++, at least for UE4, all the fun for you - I have seen stuff you made, and they are pretty impressive.
But you have to at least acknowledge your own bias, and take it into consideration, when recommending a route for others - it’s just the responsible thing to do.
Yes, UE4 is compiled with a C++11 compiler, which is more than I can say for a lot of other C++ code-bases/development-platforms, and that is a very good thing.
But to go one from there to claim that all game-studios and their personnel have nothing to gain from other environments for UE4, is just a pie-in-the-sky - it’s just a fantasy of yours…
As far as Epic is concerned, the main tool suited/targeted-for rapid-prototyping of game-logic, is Blueprint - NOT C++.
Meaning, for most people in any EU4 game-development team, Blueprint should be their go-to system to use for most cases (and as for other scripting-languages, they are proposed by others as a substitution/additional-alternative to this layer).
They should use it by consuming existing Blueprint modules, as well as extended/custom ones written by the team’s C++ developers which should mainly use it for exactly that purpose (writing extended/custom-modules), as well as for re-writing huge blueprints that either get too large to reason-about/maintain, too heavy in their performance-impact, or both.
So it’s not so much that C++ is useless, or that it’s a bad idea for Epic to have opened-up their code-base for extending-it/building on-top of it - claiming that would be just ridiculous, and so nobody does (at least not on this thread - including me). It is much more about not fixating on a single tool for all jobs, and also looking for a middle-ground between Blueprints and C++, that kind-of offers the best of both in many respects (that is basically what the SkookumScript-UE4-Integration is aiming at becoming).

So to summarize - I’ll just shout it out:
NOBODY, ESPECIALLY NOT EPIC (YOU KNOW, THE GUYS THAT MAKE UE4?) ARE SHARING YOUR VIEW(!!!)
Also, NOBODY, ESPECIALLY NOT THE LEADERS OF THE C++ STANDARD (YOU KNOW, THE GUYS THAT MAKE C++?) ARE SHARING YOUR IDEALIZATION OF IT(!!!)
How do YOU think that makes you look?

Despite what you insist on stating, not all issues people tend to have with C++ relate “exclusively” to their competence-level.
There are in fact MANY issues that are “systemic” to the language-design itself - a fact that C++ leaders are admitting quite openly and publicly. None of them share your view that “any issue any C++ developer is struggling with, is solely due to his own lack of knowledge/experience”. Quite the opposite, in fact.

That is a very big factor contributing to the appearance of other/new languages that strive to substitute C++ for systems-programming - in particular, “D”, “Rust” by Mozilla, and to-some-extent “Go” by Google. These are no minor projects/initiatives, and no puny companies - I am pretty sure Mozilla’s/Google’s engineers are quite competent in using C++, and these initiatives didn’t just come out of nowhere - there are very real and well known problems that such organisations are facing with their C++ code-bases, so much so that it was enough for them to justify trying to create an alternative (for them and other). It just wound’t possibly have happened had C++ been this perfect-shiny-gem you seem to try and make it look like…
In fact, I would go so far as to assume/guess that the recent momentum in C++ standards developments, is to some degree in response to such expressions-of-dissatisfaction by major players in the C++ arena…

And so, regardless of your personal experience with C++ and UE4, there are far too many heavily-experienced and highly-credited professionals that disagree with your view - so you’ll excuse us for preferring their word as opposed to yours. But even without “appealing to their authority”, the arguments speak for themselves.

So here is what I think is REALLY going on here - because it’s not your NORMAL kind of rationality (argumentatively, you’ve already lost a long time ago…):
You’ve hit some hard spots in your C++ development career - perhaps even got bitten by it really painfully - so much so that you’ve worked hard at constructing intricate and very clever work-around(s) - but that was a long time ago, so you don’t remember much of it - you’re probably mostly used to the quirks and using your hard-earned work-around-code that you have accumulated, and you are very proud of it and of your skill-set. You have become “invested” in your ability to deal with such torments. So much so, that it starts feeding your ego/self-esteem as the competent developer that you are. When you look at other people struggling with such pain-points, you think to yourself:
“Ha!.. They don’t know what I do - that’s why they are suffering! It’s not the language’s fault, it’s just that I am better at it then them… I actually kinda like my evolving ability to tackle such challenges - they make me feel good about myself. I even like the fact that these pain-points exist - they enable the gap between me and other lesser programmers - this language is just the best… I love it…”.

In that case, admitting that it’s actually the language that is at fault, would render your achievements futile, and thus degrade you self-esteem (deflate your ego).
If any of that sounds familiar, it’s because it’s actually pretty common - congratulations, you’ve fallen-in-love with your tormentor, and there’s a name for it in psychology - it’s called a “Stockholm-Syndrome” (look it up…). It is actually quite easy to rationalize once you get the hang of it - it’s a self-defense mechanism of the brain, and is very useful/beneficial in certain circumstances. It’s a way to spare yourself the pain of acknowledging the fact that you are being tormented, by re-framing/re-interpreting reality is a distorted way from which your circumstances seem beneficial. It’s a very commonly-recurring phenomenon, especially among people that deal with very difficult and painful problems (such as programmers…)
Well, most of us aren’t at that stage (yet) regarding C++, and “hopefully” never will be.
So try to look at it from our perspective, if you can…
[/]

That long writing does not change the fact.
C++ is the best for gaming industry. Period.
There are no highly credited professionals that will choose any language over C++ if the case is 3D AAA gaming.
And yes Unreal Engine 4 is mainly focused on AAA commercial gaming despite there are so many improvements for indie developers.
Epic has made one of the most true desicions that should have been made years ago.

(Here is how this conversation feels to me now)

https://www…com/watch?v=b2F-DItXtZs

(Or perhaps this)
https://.com/watch?v=i2fhNVQPb5I

[=EruArnold;136177]
I’m sorry, what now??
You do know what the term “Managed Languages” refers to??
Do **YOUR **homework please…

Jesus… How old are you, 12??
I’d be surprised if you are any more then 20…

Know, what, you’re right - about everything - in fact, everybody in the world that happen to disagree with you, are by-definition wrong, because the fact that you are always right about everything, is the most fundamental axiom of the universe !!!

There, are you happy now??

That’s it, this is pure ‘trolling’, I’ve wasted enough of my time trying to put some sense into you - it seems you are beyond helping…
At least some sensible people here cared to take what I’ve said seriously - even those who did not agree (except you) - they matter, you don’t - end of discussion.
Over-and-out…
[/]

It is you who behaves like troll. Coming here and arguing pointlessly, being able to use best tools available and yet not being happy with it.

[=EruArnold;136177]

I’ve wasted enough of my time trying to put some sense into you - it seems you are beyond helping…
[/]

Feel exactly the same about you.

Can you tell me why you’re resorting to slow C++ when you could code in assembler?
[/]

Because C++ gives me level of abstraction not available in assembler.

Unreal Engine 4 should have clearly been written in LISP.

LOL!!! That is Exactly how this forum topic went! Love the videos! Some of the Smart Bear facial looks were falling out the chair hilarious! haha!!

Thank you for the laugh. Go C++!!

By “modern”, do you mean C++11 or C++14? Or the subset of C++11 implement by VS 2013? I’ve been working with C++11 for several years now and am actively watching the changes for the next version of the language.

Events - we have them in C++.

await and the like?
Intel’s TBB (among others) gives you actually possibilities to work with tasks. You can do MORE and BETTER that you can do in C# multi-threaded application.
If I missed something let me know.

Now you tell me something:

  1. How do you explain fact that C# as a language is virtually non-portable and yet you don’t see it as a problem?

Please, can someone close this thread. This is really becoming an idiotic discussion: C++ is the best, C# is better, or pehaps not, abstract this, abstract that, script here, script there.
For crying out loud, stop.
There is no point in discussing this matter, because there isn’t a right answer.
In a couple of years, there will be as many scripting languages for UE4 as you desire.
So, if you want to discuss the merits of specific programming languages, then please go to stackoverflow or any other programming forum.

Thank you.

Sorry guys - last one before I leave…

[=;136251]

Now you tell me something:

  1. How do you explain fact that C# as a language is virtually non-portable and yet you don’t see it as a problem?

[/]

Hmmm…

(Just had to…)

[=;136245]
Because C++ gives me level of abstraction not available in assembler.
[/]

Why do you need abstraction? Is it convenient? Is it easier to work with? Do you find the tradeoff in performance worth it?

Did you really write this not thinking “I just completely obliterated my own argument of performance trumps all”?

[=;136245]

Now you tell me something:

  1. How do you explain fact that C# as a language is virtually non-portable and yet you don’t see it as a problem?

[/]

C# as a language is fully portable. It runs wherever the .net framework runs. This is purely an issue with Microsoft having no interest in .net running outside of Windows machines and has nothing whatsoever to do with C# as a language.

[=Gigantoad;136314]

C# as a language is fully portable. It runs wherever the .net framework runs. This is purely an issue with Microsoft having no interest in .net running outside of Windows machines and has nothing whatsoever to do with C# as a language.
[/]

Ridiculous

[=caner_ozdemir;136343]
Ridiculous
[/]

Maybe you can explain why? I’m always ready to be educated. As far as I know, one of the ideas behind the CLR (or the JVM for Java) was that it could run on any platform where such a virtual machine is installed. It is indeed how Java achieves platform-independence. The concept for C# is exactly the same really, except that Microsoft has a different agenda like I mentioned and likes to promote language-independance rather than platform independance. But the underlying technology is the same. Both produce bytecode, hence what Java or C# produce respectively is always the same no matter the platform.

Hence I consider the statement “C# as a language is virtually non-portable” as wrong. It has nothing to with the language. Granted, maybe I’m just in semantics territory.

[=Gigantoad;136366]
Maybe you can explain why? I’m always ready to be educated. As far as I know, one of the ideas behind the CLR (or the JVM for Java) was that it could run on any platform where such a virtual machine is installed. It is indeed how Java achieves platform-independence. The concept for C# is exactly the same really, except that Microsoft has a different agenda like I mentioned and likes to promote language-independance rather than platform independance. But the underlying technology is the same. Both produce bytecode, hence what Java or C# produce respectively is always the same no matter the platform.

Hence I consider the statement “C# as a language is virtually non-portable” as wrong. It has nothing to with the language. Granted, maybe I’m just in semantics territory.
[/]

No one cares reasons.
No one cares future capabilities.

C# is non portable.
That is it.
It is that simple.

Are you ready to be educated really ?
Just type “C++ vs C# gaming” and read first 100 discussions maybe.

No one cares reasons.
Are you ready to be educated really ?
Just type “C++ vs C# gaming” and read first 100 discussions maybe.
[/]

Yep, all these discussions are talking about what language to code a game from scratch, aka game engine, which nobody here disputes is C++. In case you hadn’t noticed in the last 11 pages or so, it’s also not what we’re talking about.