[=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…
[/]
You must be joking…
I don’t claim C++ is perfect. I am aware of many flows of it. Sure.
But (from the experience) I know that there is simply no substitute for it at the moment.
C#? javascript?
Just look at the software made with C# (Visual for example), the way it behaves and answer to yourself:
Do I want my product to behave like it? (mostly performance wise, but there is more to it than performance).
Am I biased in my opinion? Sure, aren’t you?